【EXCEL | FILTER用法教學】5分鐘徹底搞懂FILTER函數

FILTER函數是EXCEL 2021新增的函數,新增之後讓「篩選特定條件資料」變得方便許多,而且還會隨著資料改變而自動變動,可以說是EXCEL篩選功能的進階版。

本文將會用5分鐘的時間,教會你FILTER函數的完整用法、進階用法、常見錯誤除錯等等。

因此,如果你是第一次接觸FILTER函數,建議可以從頭到尾看過一次,把FILTER的用法徹底搞懂,進而提升工作效率。

那麼我們就開始吧!(趕時間的人可以利用下方目錄跳轉 👇)

FILTER函數用法

當我們把滑鼠移到 FILTER 的公式時,我們會看到一行說明:

FILTER(array,include,[if_empty])

看起來超難懂的對吧!但其實改成中文就沒那麼可怕了:

FILTER(選取資料範圍, 設定篩選條件, [若無符合資料,則顯示......])
  • array:選取資料範圍
  • include:設定篩選條件
  • [if_empty]:若無符合資料,則顯示……(選填)

接著,我們將 FILTER 函數拆解成3個部分,分別看看它們的規則與限制:

一、array(選取資料範圍)

第一個要填入的是 array,也就是我們要告訴 EXCEL 這個 FILTER 函數的資料範圍有多大。

我手上有饒舌歌手的年齡與專輯數量,資料範圍選取B4到D18。


二、include(設定篩選條件)

選取資料範圍後,我們就要設定篩選條件。EXCEL運算篩選條件後得出的結果只會是「TRUE」或是「FALSE」,如果是TRUE就會保留,而如果是FALSE就會被篩掉。

假設我想要找出年齡大於40歲的饒舌歌手,那麼篩選條件就要設定為C4:C18>40。


三、[if_empty](若無符合資料,則顯示……)

最後,我們再輸入萬一沒有任何符合篩選條件的值,FILTER函數要顯示的文字。

在這個例子中,我在 [if_empty] 中輸入”No rappers over 40″,就是在告訴 EXCEL 如果C4到C18沒有任何數字大於40,就顯示「No rappers over 40」。


按下Enter後,FILTER函數就會幫我們篩選出年齡大於40歲的饒舌歌手了。

EXCEL-FILTER用法教學

P.S.如果沒有符合篩選條件的資料,FILTER函數就真的會乖乖顯示我們在 [if_empty] 中填入的值,而如果沒有填 [if_empty] 的話就會顯示#CALC!。


FILTER進階用法 – 多個篩選條件

FILTER函數結合UNIQUE函數共同打造「提取不重複值」自動化工具 👉 【EXCEL | UNIQUE用法完整教學】5分鐘徹底搞懂UNIQUE函數


符合A條件「且」B條件:用「*」連接

上面的例子篩選出年齡大於40歲的饒舌歌手(單一篩選條件),那如果我想要知道「年齡大於40歲『而且』專輯數量大於10張的饒舌歌手」呢?(多個篩選條件)

FILTER也可以搞定!用「*」字號連接篩選條件就好,「*」代表「而且」的意思。

=FILTER(B4:D18,(C4:C18>40)*(D4:D18>10),"#NA")

這行代碼的意思是:請幫我篩選出「C4到C18大於40『而且』D4到D18大於10」的資料。


符合A條件「或」B條件:用「+」連接

同理,「+」代表「或者」。要篩選出年齡大於40歲「或」專輯數量大於10張的饒舌歌手,則可以用以下的代碼:

=FILTER(B4:D18,(C4:C18>40)+(D4:D18>10),"#NA")

這行代碼的意思是:請幫我篩選出「C4到C18大於40『或者』D4到D18大於10」的資料。

FILTER常見錯誤

  • #SPILL!:FILTER函數輸出的範圍中有不為空的格子,將FILTER下方或右邊的格子清空即可排除。
  • #CALC!:沒有符合篩選條件的資料又沒有設定 [if_empty] 時,就會顯示#CALC!。
  • #REF!:FILTER的資料來源消失時顯示。
  • #NAME!:由於舊版EXCEL不支援FILTER函數,遇到FILTER函數則會顯示#NAME!。

參考資料

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *