FILTER 函數

FILTER 函數是 Microsoft 365 Excel 提供的 動態陣列函數,用來 篩選符合條件的數據,並返回篩選後的結果。它可以用來處理大量數據,根據條件動態顯示符合需求的資料,並且支持多條件篩選,靈活性非常高。


? FILTER 函數語法

FILTER(array, include, [if_empty])
  • array:要篩選的範圍或陣列。
  • include:篩選條件,通常是布林值陣列(TRUEFALSE)。
  • if_empty(可選):當沒有數據符合篩選條件時,顯示的結果(默認為 #CALC!)。

? 作用:篩選出 array 中符合 include 條件的數據,並返回篩選後的陣列。


? FILTER 函數應用範例

1️⃣ 基本篩選:篩選大於 50 的數據

=FILTER(A2:B10, B2:B10 > 50)

? 效果:從範圍 A2:B10 中,篩選出 B2:B10 中大於 50 的數據,並返回符合條件的整行資料。


2️⃣ 篩選多條件:篩選大於 50 且小於 100 的數據

=FILTER(A2:B10, (B2:B10 > 50) * (B2:B10 < 100))

? 效果:篩選出 B2:B10 中大於 50 且小於 100 的數據,並返回符合條件的整行資料。

? 注意:多條件篩選時,使用 * 來代表邏輯 “AND”(兩個條件同時滿足)。


3️⃣ 篩選空白單元格

=FILTER(A2:B10, B2:B10 <> "")

? 效果:從 A2:B10 中篩選出 B2:B10 不是空白的行。


4️⃣ 當篩選結果為空時顯示自定義訊息

=FILTER(A2:B10, B2:B10 > 100, "無符合資料")

? 效果:從 A2:B10 中篩選出 B2:B10 大於 100 的數據,若沒有符合條件的數據,則顯示 “無符合資料”


5️⃣ 篩選特定文字:篩選包含 “蘋果” 的數據

=FILTER(A2:B10, A2:A10 = "蘋果")

? 效果:篩選出 A2:A10 中為 “蘋果” 的行,並返回符合條件的整行資料。


6️⃣ 篩選並返回多列範圍

=FILTER(A2:C10, B2:B10 > 50)

? 效果:篩選出 B2:B10 大於 50 的行,並返回範圍 A2:C10 中符合條件的整行資料。


7️⃣ 篩選包含多種條件的複雜範圍

=FILTER(A2:C10, (B2:B10 > 50) * (C2:C10 = "已完成"))

? 效果:篩選出 B2:B10 大於 50 且 C2:C10 等於 “已完成” 的行,並返回符合條件的整行資料。


? FILTER 函數與其他函數結合使用

1️⃣ 搭配 SORT 排序篩選結果

=SORT(FILTER(A2:C10, B2:B10 > 50))

? 效果:篩選出 B2:B10 大於 50 的行,再對篩選結果進行 排序


2️⃣ 搭配 UNIQUE 去除重複項

=UNIQUE(FILTER(A2:B10, B2:B10 > 50))

? 效果:篩選出 B2:B10 大於 50 的行,並對篩選結果去除重複項。


3️⃣ 搭配 AND 和 OR 篩選更複雜條件

=FILTER(A2:C10, (B2:B10 > 50) + (C2:C10 = "完成"))

? 效果:使用 + 來進行 邏輯 “OR”,篩選出 B2:B10 大於 50 或 C2:C10 等於 “完成” 的數據。


? 總結

FILTER 函數是篩選資料的強大工具,支持多條件篩選,並且能返回動態範圍。
可以與其他函數(如 SORT、UNIQUE、AND、OR)結合使用,實現複雜數據處理。
當篩選條件不符合時,可以自定義返回結果,避免顯示錯誤提示。

發佈留言

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