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