函數(shù)FILTER當(dāng)前在Excel2021,Excl365,最新WPS版本中可用。 =FILTER(查找區(qū)域,條件,備用返回值) 它可以很靈活地實(shí)現(xiàn)各種條件下的數(shù)據(jù)查找,在數(shù)據(jù)查找領(lǐng)域稱王稱霸30年之久的VLOOKUP在FILTER面前簡直就是弱雞。 一對一查找 =FILTER(D:D,A:A=F2) 在D列查找指定姓名對應(yīng)的薪資。 一對多 查找銷售部的姓名清單,一個(gè)查找條件返回多個(gè)查找結(jié)果,以數(shù)組的形式溢出顯示: =FILTER(A:A,C:C=F1) 一對整 查找銷售部所有人的姓名及所有信息,只需把整體數(shù)據(jù)區(qū)域作為查找區(qū)域: =FILTER(A:D,C:C="銷售部") 橫向查找 FILTER也可以支持橫向數(shù)據(jù)的查找: =FILTER($4:$4,$1:$1=B7) 多條件(與) 實(shí)際工作中查找條件很可能不止一個(gè),如果是多個(gè)條件同時(shí)滿足,統(tǒng)統(tǒng)放進(jìn)FILTER的第二參數(shù),用星號(*)將其連接即可: =FILTER(A:A,(B:B="女")*(D:D>8000)) 注意第二參數(shù)包含的2個(gè)條件:性別為女;薪資大于8000 多條件(或) 有多個(gè)條件,但只需滿足其中之一或幾個(gè),同樣把所有條件設(shè)置到第二參數(shù),用加號(+)連接即可: =FILTER(A:A,(B:B="女")+(D:D>8000)) 備用返回值 FILTER第三參數(shù)用于指定查找失敗時(shí)的返回值,例如找不到安全部時(shí)返回“沒有這個(gè)部門”: =FILTER(A:D,C:C="安全部","沒有這個(gè)部門") 第三參數(shù)也可以再次套用函數(shù)來實(shí)現(xiàn)更為復(fù)雜的功能。 轉(zhuǎn)置 搭配TRANSPOSE可以將FILTER的結(jié)果進(jìn)行行列轉(zhuǎn)置: =TRANSPOSE(FILTER(A:A,C:C=E2)) 二維查詢 二維數(shù)據(jù)的查找是Excel中經(jīng)久不衰的話題,主流的方法是VLOOKUP+MATCH,INDEX+MACH. FILTER+FILTER嵌套也能實(shí)現(xiàn)同樣的效果: =FILTER(FILTER($A$2:$D$9,$A$1:$D$1=G$1),$A$2:$A$9=$F2) 返回不連續(xù)的列 在Excel365中搭配函數(shù)CHOOSECOLS可以讓二維查找變得更加簡單,即便是查找項(xiàng)目的數(shù)量和順序與原數(shù)據(jù)都不一致的情況: =CHOOSECOLS(FILTER(A:F,B:B=H2),5,3,1,6) 其邏輯是FILTER查找返回整體數(shù)據(jù)后,用CHOOSECOLS提取所需的列。 相對于FILTER+FILTER嵌套,這種方式更容易理解,也避免了繁雜的相對引用和絕對引用設(shè)置,大大降低公式難度。 搭配XMATCH返回不連續(xù)的列 上個(gè)公式中CHOOSCOLS的參數(shù)3,5,1,6表示從FILTER返回的數(shù)據(jù)中提取第3,5,1,6列,如果要返回的列數(shù)更多,手動輸入難免有出錯(cuò)的風(fēng)險(xiǎn),于是再嵌套XMATCH來獲取: =CHOOSECOLS(FILTER(A:F,B:B=H2),XMATCH($I$1:$L$1,$A$1:$F$1,0)) XMATCH也是Excel365函數(shù),其作用是返回I1:L1在A1:F1中的相對位置。 |
|