Applies ToMicrosoft 365 Excel Mac 版 Microsoft 365 Excel Excel 網頁版 Excel 2024 Mac 版 Excel 2024 Excel 2021 Mac 版 Excel 2021 iPad 版 Excel iPhone 版 Excel Android 版 Excel 平板電腦 Android 版 Excel 手機

FILTER 函數讓您根據自定義的準則來篩選資料範圍。

您的瀏覽器不支援影片。 請安裝 Microsoft Silverlight、Adobe Flash Player 或 Internet Explorer 9。

在下列範例中,我們使用公式 =FILTER (A5:D20,C5:C20=H2,“) 傳回 Apple 的所有記錄,如在單元格 H2 中選取,如果沒有 apples,則會傳回空字串 (”“) 。

FILTER 函數 - 按照產品 (蘋果) 篩選地區

FILTER 函數會根據布林 (真/假) 陣列來篩選陣列。

=FILTER(array,include,[if_empty])

引數

描述

array

必要

要篩選的陣列或範圍

include

必要

布林陣列的高度或寬度必須與該陣列相同

[if_empty]

選用

若所包含陣列中的全部值均為空時要傳回的值 (篩選沒有傳回任何項目)

附註: 

  • 您可以將陣列想成是一列的值、一欄的值,或是一列值以及一欄值的組合。 在上例中,用於我們的 FILTER 公式的來源陣列是源自於範圍 A5:D20。

  • FILTER 函數將傳回一個陣列,若其為公式的最終結果則會溢出。 這表示,當您按 ENTER 時,Excel 將動態建立適當大小的陣列範圍。 如果支援資料是在 Excel 表格,而您使用了結構化參照,則您從陣列範圍新增或移除資料時,陣列會自動調整大小。 如需詳細資料,請參閱溢出陣列行為

  • 如果您的資料集可能傳回空值,請使用第 3 個引數 ([if_empty])。 否則,因為目前 Excel 不支援空陣列,這將導致 #CALC! error

  • 如果 include 自變數的任何值為錯誤 (#N/A、#VALUE 等 ) 或無法轉換為布爾值,FILTER 函數會傳回錯誤。  

  • Excel 對活頁簿之間的動態陣列提供有限支援,只有同時開啟活頁簿時才支援這種情況。 如果您關閉來源活頁簿,當您重新整理時,任何連結的動態陣列公式均會傳回 #REF! 錯誤

範例

FILTER 用於傳回多個準則

在此例中,我們使用乘號運算子 (*) 以傳回 (A5:D20) 陣列範圍中,擁有 Apples AND 且在 East 區域的所有值:=FILTER(A5:D20,(C5:C20=H1)*(A5:A20=H2),"")

使用 FILTER 搭配乘號運算子 (*) 以傳回 (A5:D20) 陣列範圍中,擁有 Apples AND 且在 East 區域的所有值。

FILTER 用於傳回多個準則和排序

在此例中,我們使用之前的 FILTER 函數搭配 SORT 函數,以傳回 (A5:D20) 陣列範圍中,擁有 Apples AND 且在 East 區域的所有值,然後用遞減順序排序 Units:=SORT(FILTER(A5:D20,(C5:C20=H1)*(A5:A20=H2),""),4,-1)

使用 FILTER 搭配 SORT 函數以傳回陣列範圍 (A5:D20) 中,擁有蘋果且在東部地區的所有值,然後按照遞減順序來排序單位。

在此例中,我們使用 FILTER 函數搭配加號運算子 (+) 以傳回陣列範圍 (A5:D20) 中,擁有蘋果在東部地區的所有值,然後按照遞減順序來排序單位:=SORT(FILTER(A5:D20,(C5:C20=H1)+(A5:A20=H2),""),4,-1)

合併使用 FILTER 和 SORT – 按照 Product (Apple) OR 也按照 Region (East) 篩選

請注意,因為這些函數只存在於一個儲存格,且會將它們的結果溢出至鄰近儲存格,所以都不需要絕對參照

需要更多協助嗎?

您可以隨時詢問 Excel 技術社群中的專家,或在社群中取得支援。

另請參閱

RANDARRAY 函數

SEQUENCE 函數

SORT 函數

SORTBY 函數

UNIQUE 函數

Excel 中的 #溢出! 錯誤

動態陣列與溢出陣列行為

隱含交集運算子:@

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。