tft每日頭條

 > 生活

 > filter函數返回多列結果

filter函數返回多列結果

生活 更新时间:2024-12-26 13:49:40

FILTER函數是篩選函數,就是在源數據中按照我們的條件篩選出我們想要的數據。除了常規的數據篩選,還可以進行多條件的"且"或者"或"的篩選。

下面我們來看看這個FILTER函數怎麼用。

如果不想看文字介紹,可以直接拉到最後看視頻。

FILTER函數語法

filter函數返回多列結果(動态數組函數系列5)1

上圖中的第一段文字解釋可能看起來有點别扭,實際的意思就是給定條件判斷,條件成立則得到邏輯值TRUE,條件不成立則得到邏輯值FALSE值,然後根據邏輯值來篩選數據。

第一參數array指的是要進行篩選的源數據;第二參數include指的是篩選條件;第三參數[if_empty]指點是,如果沒有符合篩選條件的數據,那麼需要返回什麼?

值得注意的是,盡管[if_empty]是可選參數,但是如果忽略不寫,同時也沒有符合條件的數據的話,會返回#CAL!錯誤(不支持空數據集)。所以建議一般不要忽略第三參數不寫。

常規用法案例

filter函數返回多列結果(動态數組函數系列5)2

上圖中的案例,是要我們在左側的數據區域中,就"科目"字段進行篩選"Excel"的數據。寫法很簡單。

=FILTER(A2:D19,C2:C19=F2,"")

A2:D19是數據源區域,C2:C19=F2是篩選條件,""是如果沒有符合條件的數據,将返回空數據集。

多條件篩選案例

FILTER函數除了可以進行單條件篩選,同時也可以進行多條件篩選。這裡需要一點技巧,同時需要理解數組運算的原理。

如果有興趣的話,可以看看我之前寫過的一篇文章,上面詳細地介紹了數組運算的原理。

(插入數據運算文章)

同時滿足多個條件的篩選

filter函數返回多列結果(動态數組函數系列5)3

在上圖中,需要用FILTER函數篩選同時滿足"版本是MOS2016"和科目是"Excel"這兩個條件的數據。這裡我們需要将兩個條件用"*"相乘。如下:

(B2:B19=F5)*(C2:C19=F2)

TRUE和FALSE在運算的過程中會分别被當成1和0進行計算。相乘的意思和簡單,需要兩個1相乘,最後才能得到結果1(TRUE)。也就是說,需要兩個條件都成立(都是1)能的滿足篩選條件。

滿足多個條件中的任意一個條件的篩選

filter函數返回多列結果(動态數組函數系列5)4

上圖中,隻要滿足兩個條件中的任意一個,就可以返回篩選數據。這裡的重點是兩個條件需要用加号" "連接,當然支持多個條件。

(B2:B19=F5) (C2:C19=F2)

隻要滿足一個條件就會返回TRUE(也就是1),滿足多個條件返回的數字一定大于1。隻要大于等于1,FILTER函數就視為滿足條件,從而返回篩選數據。

PS:這部分内容有些抽象,因為涉及到數組的運算,需要一些想象力。有興趣了解的朋友還是建議看看我之前關于數組運算原理的文章吧。

幹貨|三分鐘理解數組及運算原理

綜合應用案例

前面我們已經學過三個動态數組函數了,包括RANDARRAY, SORT, SORTBY。學習Excel就是這樣,當我們理解單一個函數的用法之後,盡量多思考一些—在什麼場景下可以應用?跟哪些函數可以嵌套使用?

通過這一個思考的過程,逐步提高Excel的綜合應用能力。

現在的問題是,如果已經篩選出符合條件的數據之後同時還要進行排序,應該怎麼做?是不是可以聯想到SORT函數?

下面我們就通過這個案例,将FILTER和SORT函數嵌套應用。

filter函數返回多列結果(動态數組函數系列5)5

我們已經理解FILTER的用法,FILTER最終會返回一組符合篩選條件的數據。這個時候将SORT函數包住FILTER, 讓FILTER返回的數據作為SORT函數的第一參數就可以了。

除了這個綜合應用的案例,相信肯定還有很多其他應用場景可以嵌套函數使用的。這就要求我們需要在實際工作中多思考多嘗試了。

不想看文字介紹的朋友,可以直接看下面的視頻哈。

好,以上就是FILTER函數的介紹。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved