Hello,大家好,對于一對多查詢這樣的問題,相信很多人都是使用index+if+small這個函數組合來查找數據,但是使用起來卻經常出錯,今天就跟大家分享一種比較簡單的一對多查詢的方法,就是使用FILTER函數,這個函數還能實現自動篩選數據的效果,操作也并不難,下面就讓我們來一起操作下吧
一、認識FILTER函數
FILTER函數:FILTER函數是一個篩選函數,它可以根據我們設置的條件來篩選數據,
語法:=FILTER(array,include,[if_empty])
第一參數:表示想要篩選的數據區域
第二參數:篩選的條件,它是一個布爾值
第三參數:if_empty,根據條件如果找不到結果,就返回第三參數的值,它是一個可選參數
使用這個函數我們需要注意的是FILTER函數的第二參數的寬度或者高度,必須與第一參數中數據區域的寬度或者高度相等,否則的話函數就會返回錯誤值。
以上就是這個函數的作用,下面就讓我們來一起操作下
二、實現一對多查詢
一對多查詢的效果就是通過查找一個值來返回多個結果,我們可以將其看做是數據的篩選,通過篩選條件值就可以返回多個結果,如下圖,我們想要在數據中找到省份是河南的所有數據,只需要將公式設置為:=FILTER(A1:J40,B1:B40=N2)然后點擊回車即可,在這里它是不包含表頭的,所以我們需要將表頭粘貼過來,然后將日期更改為日期格式即可
在這里我們將第三參數省略了,因為它是一個可選參數,使用這個函數還需要注意一點就是我們無法單獨更改數據中的某一個值,如果更改了數據的某一個值,函數的就會返回錯誤值
三、實現自動篩選的效果
比如在這里我們想要查找省份是河南省,負責人是魯班的所有數據,只需要將公式設置為:=FILTER(A1:J40,(B1:B40=L2)*(G1:G40=M2),"查不到結果"),點擊回車即可查找到正確的結果,如下圖
在這里我們將公式設置為:=FILTER(A1:J40,(B1:B40=L2)*(G1:G40=M2),"查不到結果")
第一參數:A1:J40,就是我們需要篩選的數據區域
第二參數:(B1:B40=L2)*(G1:G40=M2),在這里B1:B40=L2代表省份等于河南省的,G1:G40=M2就代表負責人等于魯班的,我們讓這個兩個條件相乘來構建正確的條件
第三參數:"查不到結果",這個是一個可選參數,如果找不到正確的結果,就會返回這個值
以上就是這個函數各個參數的意義,使用這個函數我們需要特別注意FILTER函數的第二參數中選擇的數據區域,必須與篩選數據區域的高度或者寬度一一對應,否則的話就會返回錯誤的結果,不過比較可惜的是現在這個函數僅僅在office365版本中才可以使用
以上就是今天分享的方法,怎么樣?你學會了嗎?
我是Excel從零到一,關注我,持續分享更多excel技巧