excel表格Excel INDEX+SMALL函數(shù)用法
發(fā)布時(shí)間:2025-08-17 | 來(lái)源:互聯(lián)網(wǎng)轉(zhuǎn)載和整理
=INDEX(結(jié)果列,SMALL(IF(條件,ROW滿足條件的行號(hào),較大的空行行號(hào)),ROW(1:1)))&""
【原理】1、數(shù)組運(yùn)算;2、空單元格與空文本合并?!咎攸c(diǎn)】得到的結(jié)果是文本?!緦?shí)例】如圖:篩選張三的領(lǐng)用記錄(條件是E1單元格的“張三”)。
1.=INDEX(B:B,SMALL(IF(A$2:A$8=E$1,ROW(A$2:A$8),4^8),ROW(1:1)))&""
復(fù)制公式或代碼
【解析】:對(duì)照“必***技”,多數(shù)人已可以瞧出一點(diǎn)端倪來(lái)。1、條件模塊:IF(A$2:A$8=E$1,ROW(A$2:A$8),4^8)表示如果A2:A8的姓名等于E1的“張三”,則返回A2:A8的行號(hào),否則返回4^8,即65536。IF(如果,則,否則——這語(yǔ)言不難讀吧條件模塊經(jīng)過(guò)數(shù)組運(yùn)算,因?yàn)锳2、A5、A8滿足條件,所以返回的是行號(hào)數(shù)組{2;65536;65536;5;65536;65536;8}。
2、排序模塊:SMALL(IF,ROW(1:1))公式的第1行,ROW(1:1)返回{1},在第2行返回{2}……因此,利用SMALL+ROW可以將條件模塊返回的行號(hào)數(shù)組從小到大依次排序得出。當(dāng)然,此例中SMALL({2;65536;65536;5;65536;65536;8},1)得到的是2,第2小的是5,第3小的是8,第4小及以后都是65536。
3、引用模塊:INDEX(引用列,SMALL得到的行號(hào))=INDEX(B:B,2)——引用B2,=INDEX(B:B,65536)——引用B65536
4、容錯(cuò)模塊:&""當(dāng)公式到了第4行,3個(gè)滿足條件的記錄都已經(jīng)找出來(lái),此時(shí)公式是=INDEX(B:B,65536)&“”因?yàn)镋xcel2003的最大行數(shù)是65536行,而在這一行中,一般不會(huì)有人輸入數(shù)據(jù),是空單元格。因此,利用空單元格與空文本合并返回空文本的特性,將超出結(jié)果數(shù)量的部分不顯示出來(lái)。