filter函数的用法_动态数组函数系列5| 筛选函数FILTER,单条件多条件动态筛选
FILTER函數是篩選函數,就是在源數據中按照我們的條件篩選出我們想要的數據。除了常規的數據篩選,還可以進行多條件的“且”或者“或”的篩選。
下面我們來看看這個FILTER函數怎么用。
如果不想看文字,直接拉到最后看視頻吧
FILTER函數語法
上圖中的第一段文字解釋可能看起來有點別扭,實際的意思就是給定條件判斷,條件成立則得到邏輯值TRUE,條件不成立則得到邏輯值FALSE值,然后根據邏輯值來篩選數據。
第一參數array指的是要進行篩選的源數據;第二參數include指的是篩選條件;第三參數[if_empty]指點是,如果沒有符合篩選條件的數據,那么需要返回什么?
值得注意的是,盡管[if_empty]是可選參數,但是如果忽略不寫,同時也沒有符合條件的數據的話,會返回#CAL!錯誤(不支持空數據集)。所以建議一般不要忽略第三參數不寫。
常規用法案例
上圖中的案例,是要我們在左側的數據區域中,就“科目”字段進行篩選“Excel”的數據。寫法很簡單。
=FILTER(A2:D19,C2:C19=F2,””)
A2:D19是數據源區域,C2:C19=F2是篩選條件,“”是如果沒有符合條件的數據,將返回空數據集。
多條件篩選案例
FILTER函數除了可以進行單條件篩選,同時也可以進行多條件篩選。這里需要一點技巧,同時需要理解數組運算的原理。
如果有興趣的話,可以看看我之前寫過的一篇文章,上面詳細地介紹了數組運算的原理。
干貨|三分鐘理解數組及運算原理?mp.weixin.qq.com同時滿足多個條件的篩選
在上圖中,需要用FILTER函數篩選同時滿足“版本是MOS2016”和科目是“Excel”這兩個條件的數據。這里我們需要將兩個條件用“*”相乘。如下:
(B2:B19=F5)*(C2:C19=F2)
TRUE和FALSE在運算的過程中會分別被當成1和0進行計算。相乘的意思和簡單,需要兩個1相乘,最后才能得到結果1(TRUE)。也就是說,需要兩個條件都成立(都是1)能的滿足篩選條件。
滿足多個條件中的任意一個條件的篩選
上圖中,只要滿足兩個條件中的任意一個,就可以返回篩選數據。這里的重點是兩個條件需要用加號“+”連接,當然支持多個條件。
(B2:B19=F5)+(C2:C19=F2)
只要滿足一個條件就會返回TRUE(也就是1),滿足多個條件返回的數字一定大于1。只要大于等于1,FILTER函數就視為滿足條件,從而返回篩選數據。
PS:這部分內容有些抽象,因為涉及到數組的運算,需要一些想象力。有興趣了解的朋友還是建議看看我之前關于數組運算原理的文章吧。
綜合應用案例
前面我們已經學過三個動態數組函數了,包括RANDARRAY, SORT, SORTBY。學習Excel就是這樣,當我們理解單一個函數的用法之后,盡量多思考一些—在什么場景下可以應用?跟哪些函數可以嵌套使用?
通過這一個思考的過程,逐步提高Excel的綜合應用能力。
現在的問題是,如果已經篩選出符合條件的數據之后同時還要進行排序,應該怎么做?是不是可以聯想到SORT函數?
下面我們就通過這個案例,將FILTER和SORT函數嵌套應用。
我們已經理解FILTER的用法,FILTER最終會返回一組符合篩選條件的數據。這個時候將SORT函數包住FILTER, 讓FILTER返回的數據作為SORT函數的第一參數就可以了。
除了這個綜合應用的案例,相信肯定還有很多其他應用場景可以嵌套函數使用的。這就要求我們需要在實際工作中多思考多嘗試了。
不想看文字介紹的朋友,可以直接看下面的視頻哈。
知乎視頻?www.zhihu.com好,以上就是FILTER函數的介紹。
Office2019/365新增函數系列:
HuangBoyi:動態數組函數系列1|概況-跟以往Excel版本完全不一樣玩法的函數?zhuanlan.zhihu.comHuangBoyi:動態數組函數系列2| 隨機數組函數RandArray,返回自定義行列數,數值大小范圍以及整數還是小數?zhuanlan.zhihu.comHuangBoyi:動態數組函數系列3| 排序函數SORT,一次排序,動態更新?zhuanlan.zhihu.comHuangBoyi:動態數組函數系列4| 多關鍵字排序函數SORTBY?zhuanlan.zhihu.com想要了解更多Office干貨,歡迎關注公號【玩Office】
總結
以上是生活随笔為你收集整理的filter函数的用法_动态数组函数系列5| 筛选函数FILTER,单条件多条件动态筛选的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python采集_Python3做采集
- 下一篇: 未发现数据源名称_在Power BI中管