【INDEX+SMALL+IF+ROW】組合函數(shù):
①難度:★★★☆☆
②作用:實(shí)現(xiàn)查找時(shí)返回多個(gè)符合條件的結(jié)果帮碰。
③結(jié)果放在行的寫法:
INDEX(結(jié)果列,SMALL(IF(條件,ROW(條件列),4^8),COLUMN(A1)))&""
④結(jié)果放在列的寫法:
INDEX(結(jié)果列,SMALL(IF(條件,ROW(條件列),4^8),ROW(A1)))&""
⑤結(jié)束鍵:數(shù)組公式須同時(shí)按CTRL+SHIFT+ENTER三鍵結(jié)束。
這個(gè)組合函數(shù)在簡(jiǎn)單的報(bào)表里用得不頻繁育勺,所以每到用時(shí)方恨練得少漱挎。接下來(lái)直接舉“栗子”啦,想要進(jìn)階的同學(xué)多練習(xí)幾遍,能從頭到尾自己打代碼把公式寫下來(lái)才算真正掌握膳凝!
溫馨提示:書寫公式必須把輸入法調(diào)整到英文半角狀態(tài),否則顯示出錯(cuò)恭陡。
例:A蹬音、B、C列是源數(shù)據(jù)休玩,要求在E列提取A列“省份”數(shù)據(jù)(重復(fù)的只保留一個(gè))著淆,并查找各省份對(duì)應(yīng)的城市(在B列找),把結(jié)果放到同一行不同單元格里拴疤。
1.原始表
2.結(jié)果表
3.操作過(guò)程
4.步驟分解
①在E列提取A列省份(重復(fù)的只留一個(gè))
方法1:復(fù)制A列粘貼到E列永部,EXCEL2007以上版本可直接點(diǎn)菜單欄“數(shù)據(jù)”,然后點(diǎn)擊“刪除重復(fù)項(xiàng)”呐矾,簡(jiǎn)單粗暴就OK了苔埋。
方法2:INDEX+MATCH(上例用的是此法,詳細(xì)的下次再探討)
E2輸入公式
=INDEX(A:A,SMALL(IF(MATCH($A$2:$A$13,$A$2:$A$13,0)=ROW($A$2:$A$13)-1,ROW($2:$13),4^8),ROW(1:1)))&""
按CTRL+SHIFT+ENTER三鍵結(jié)束蜒犯,下拉组橄。
②在F2單元格里為E2省匹配B列中對(duì)應(yīng)的第1個(gè)城市
F2輸入公式
=INDEX($B:$B,SMALL(IF($A$2:$A$13=$E2,ROW($A$2:$A$13),4^8),COLUMN(A1)))&""
三鍵結(jié)束。
③把F2的公式右拉罚随,分別匹配E2省對(duì)應(yīng)的第2玉工、3、4淘菩、5個(gè)城市...直到顯示空白遵班。
④把E2右邊存放有公式的單元格選中后下拉,為E3潮改、E4單元格里的省份匹配到對(duì)應(yīng)的各個(gè)城市狭郑。
⑤附加題:為省份匹配非省會(huì)的城市
公式的寫法同上面一樣道理,只是增加了一個(gè)條件——C列等于"否"汇在。
那就在第②點(diǎn)的公式里插入一個(gè)新條件
=INDEX($B:$B,SMALL(IF(($A$2:$A$13=$E2)*($C$2:$C$13="否"),ROW($A$2:$A$13),4^8),COLUMN(A1)))&""
同樣三鍵結(jié)束翰萨。記得哦,增加條件后該增加的括號(hào)()也得成對(duì)增加哈~
⑥同理趾疚,如有更多條件要求缨历,比照第⑤點(diǎn)用*星號(hào)連接插入相關(guān)條件即可。
5.公式翻譯
先安利F9這個(gè)功能鍵:如果公式很長(zhǎng)糙麦,在編輯欄抹黑某段公式辛孵,按F9可以得到公式結(jié)果解析。
尤其像INDEX+SMALL+IF+ROW這種組合函數(shù)赡磅,由多個(gè)函數(shù)嵌套組合在一起魄缚,得先理解各個(gè)函數(shù)的語(yǔ)法結(jié)構(gòu)及功能作用,才能理解整個(gè)組合函數(shù)的工作原理。上圖瞧瞧:
1-1
1-2
2-1
2-2
遇到復(fù)雜的公式冶匹,可以按F9解析難理解的中間步驟∠敖伲現(xiàn)在先來(lái)翻譯F2單元格的公式。
INDEX($B:$B,SMALL(IF($A$2:$A$13=$E2,ROW($A$2:$A$13),4^8),COLUMN(A1)))&""
翻譯:
IF(A列省份若是“廣東”,返回那一行的行號(hào),不是“廣東”則返回一個(gè)很大的數(shù)65536)
SMALL(IF()得到的行號(hào)數(shù)組從小到大排列,第幾小的行號(hào))
INDEX(城市列,SMALL()得到的行信息)
由此可以得到
INDEX(城市列,A列省份是“廣東”對(duì)應(yīng)的第1個(gè)城市)
INDEX(城市列,A列省份是“廣東”對(duì)應(yīng)的第2個(gè)城市)
INDEX(城市列,A列省份是“廣東”對(duì)應(yīng)的第3個(gè)城市)
INDEX(城市列,A列省份是“廣東”對(duì)應(yīng)的第N個(gè)城市)
日期:
輸入公式:
TEXT(INDEX($B:$B,SMALL(IF($A$1:$A$27=$E1,ROW($A$1:$A$27),4^8),COLUMN(A1)))&"","yyyy/m/d")
按CTRL+SHIFT+ENTER三鍵結(jié)束