FILTER 函數

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

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

附註: 2018 年 9 月 24 日:FILTER 函數是幾個測試版功能之一,目前僅供部分 Office 測試人員使用。 我們會在接下來幾個月持續最佳化這些功能。 準備就緒後,我們會向所有 Office 測試人員和 Office 365 訂閱者推出這些功能。

在下列中,我們使用了 =FILTER(A5:D20,C5:C20=H2,"") 公式來傳回 Apples 的所有記錄,如 H2 儲存格中所選,而且如果沒有蘋果,則會傳回 ("") 空白字串。

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

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

=FILTER(array,include,[if_empty])

引數

說明

array

必要

要篩選的陣列或範圍

include

必要

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

[if_empty]

選用

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

附註: 

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

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

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

  • 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 技術社群中的專家、在 Answers 社群取得支援,或是在 Excel User Voice 上建議新功能或增強功能。

另請參閱

RANDARRAY 函數

SEQUENCE 函數

SINGLE 函數

SORT 函數

SORTBY 函數

UNIQUE 函數

Excel 中的 #SPILL! 錯誤

動態陣列與溢出陣列行為

增進您的 Office 技巧
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與我們的其中一個 Office 支援專員連絡以深入了解您的意見。

×