使用進階準則進行篩選

套用到
Mac 版 Microsoft 365 Excel Excel 2024 Excel 2021 Excel 2019 Excel 2016

如果您要篩選的資料需要跨多個欄位的準則,例如依多個必須全部為 true 的條件進行篩選,或顯示符合數個不同條件中任一的列 (例如類型 = “蔬果” 或銷售員 = “季正樹”) ,您可以使用 [ 進階篩選] 對話方塊。

若要開啟 [進階篩選] 對話方塊,請按一下 [進階資料>]。

[資料] 索引標籤的 [排序與篩選] 區段的螢幕擷取畫面。

進階篩選 範例
進階篩選準則概觀
多個準則、單一欄、任何準則為 True 銷售人員 = "劉火樹" 或銷售人員 = "劉德標"
多個準則、多個欄位、所有準則為 True 類型 = “蔬果” 且銷售額為 > 1000
多個準則、多個欄位、任何準則為 True 類型 = "蔬果" 或銷售員 = "劉德標"
多組準則、所有組中的一欄 (銷售額 > 6000 和銷售額 < 6500 ) 或 (銷售額 < 500)
多組準則集、每個集合中的多欄 (銷售人員 = “劉火樹” 且銷售額 >3000) 或
(銷售人員 = “劉德標” 且銷售額為 > 1500)
萬用字元準則 銷售員 = 第二個字為 '德' 的名字

進階篩選準則概觀

進階篩選的 運作方式與 篩選 在幾個重要方式上不同。

  • 其會顯示 [進階篩選] 對話方塊,而不是 [自動篩選] 功能表。
  • 您可以在輸入篩選條件的位置 (資料上方建立準則範圍) 分隔儲存格,然後告知 [進階篩選] 對話方塊以使用該範圍。
  • 變更準則值時,進階篩選不會自動更新

注意

進階篩選仍然可用於複雜的篩選案例,但 Excel 中的 Copilot 等較新功能現在可以透過自然語言查詢協助使用者進行資料分析和篩選,作為某些使用案例的替代方法。

了解 AND 與 OR 邏輯

邏輯類型 如何設定 範例 找到的內容
AND 邏輯 (所有準則都必須為真) 將準則放在相同的列 類型 = 第 1 欄中的 “蔬果”
欄 2 中的銷售額 > 1000
(兩者在同一列)
只有類型為 “蔬果” 且銷售額大於 1000 的列
OR 邏輯 (任何準則都可以為 true) 將準則放在不同的列 列 1:類型 = “蔬果”
第 2 列:類型 = “Meat”
(不同的列、相同的欄)
類型為 “Produce” 或 Type IS “Meat” (或兩者皆為) 的列

範例資料

下列範例資料用於本文的所有程序。

資料包含用來做為準則範圍 (A1:C4) 之清單範圍和清單範圍 (A6:C10) 上方的三個空白列。 準則範圍具有欄標籤,且在準則值和清單範圍之間至少包含一個空白列。

若要處理此資料,請在下列表格中選取並複製,然後將其貼到新的 Excel 工作表中的儲存格 A1。

類型 銷售人員 銷售額
飲料 唐祖安 $5122
肉類 季正霖 $450
農產品 巫百勝 $6328
農產品 季正霖 $6544

在此範例中,產生的工作表看起來像這樣,其中篩選準則範圍以藍色概述,而您想要篩選) 資料 (清單範圍以紅色概述。 

準則和清單範圍的螢幕擷取畫面

比較運算子

您可以使用下列運算子來比較兩個值。 當使用這些運算子來比較兩個值時,結果會是邏輯值 - TRUE 或 FALSE。

比較運算子 意義 範例
= (等號) 等於 A1=B1
> (大於符號) 大於 A1>B1
< (小於號) 小於 A1<B1
>= (大於或等於符號) 大於或等於 A1>=B1
<= (小於或等於符號) 小於或等於 A1<=B1
<> (不等於符號) 不等於 A1<>B1

使用等號來輸入文字或數值

因為等號 (=) 是用來表示當您在儲存格中輸入文字或數值時,Excel 用來導出輸入內容的公式;不過,這可能會導致非預期的篩選結果。 若要表示文字或數值的相等比較運算子,請在準則範圍的適當儲存格中輸入準則當做字串運算式:

=''=輸入項目''

其中 entry 是您要尋找的文字或值。 例如:

您在儲存格中輸入的內容 Excel 的評估與顯示
="=季正霖" =季正霖
="=3000" =3000

考慮區分大小寫的情況

當您篩選文字資料時,Excel 並不會區分大小寫字元。 但是,您可以使用公式執行區分大小寫的搜尋。 例如,請參閱萬用字元準則一節。

使用預先定義的名稱

您可以為將某個範圍命名為 [準則],則該範圍的參照會自動出現在 [準則範圍] 方塊中。 您也可以將待篩選清單範圍的名稱定義為 [資料庫],以及將您想要貼上資料列的區域名稱定義為 [擷取],這些範圍就會自動個別顯示在 [清單範圍][複製到] 方塊中。

使用公式建立準則

您可以使用由公式計算出來的數值做為準則。 請記住以下要點:

  • 公式必須評估為 TRUE 或 FALSE。
  • 由於您所使用的是公式,請以正常的方式輸入公式,不要以下列方式輸入運算式:
    =''=entry''
  • 請不要將欄標籤當做準則標籤來使用;您可以將準則標籤保留空白,也可以在清單範圍中使用不是欄標籤的標籤 (下面範例中的「算數平均值」與「完全符合」)。
    如果您在公式中使用欄標籤,而非相對儲存格參照或範圍名稱,Excel 會顯示錯誤值,例如 #NAME?或 #VALUE! 或 #VALUE!)。 您可以略過這些錯誤,因為它們不影響清單範圍的篩選。
  • 您用來做為準則的公式必須使用相對參照來參照第一列資料中的對應儲存格。
  • 公式中的其他參照必須是絕對參照。

多個準則、單一欄、任何準則為 True

布林值邏輯: (銷售人員 = "季正霖" 或銷售人員 = "巫百勝")

當您想要篩選單一欄符合數個值中任一值的列時,請使用此方法。 將顯示帶有 Davolio 的兩行和帶有 Buchanan 的行。

  1. 如果要在單一欄中尋找符合多個準則的列,請直接將準則輸入至各準則範圍的下一列。 例如,在準則範圍的前兩列中輸入下列內容:

    類型 銷售人員 銷售額
    ="=季正霖"
    ="=巫百勝"
  2. 按一下清單範圍中的儲存格。

  3. 按一下 [資料] 索引標籤上 [排序與篩選] 群組中的 [進階]

  4. 選擇 [ 就地篩選清單]、[隱藏不符合您準則的列],或 [ 複製到另一個位置], 將符合您準則的列複製到工作表的其他區域。

  5. [準則範圍] 方塊中,輸入該準則範圍的參照,包括準則標籤。 使用範例,輸入 $A$1:$C$3。

  6. 使用範例,對清單範圍進行篩選後的結果如下:

    類型 銷售人員 銷售額
    肉類 季正霖 $450
    農產品 巫百勝 $6,328
    農產品 季正霖 $6,544

多個準則、多個欄位、所有準則為 True

布林值邏輯: (類型 = “蔬果” 且銷售額為 > 1000)

  1. 若要尋找符合多欄中多個準則的列,請在準則範圍的同一列中輸入所有準則。 例如,輸入:

    類型 銷售人員 銷售額
    ="=農產品" >1000
  2. 按一下清單範圍中的儲存格。

  3. 按一下 [資料] 索引標籤上 [排序與篩選] 群組中的 [進階]

  4. 選擇 [ 就地篩選清單]、[隱藏不符合您準則的列],或 [ 複製到另一個位置], 將符合您準則的列複製到工作表的其他區域。

  5. [準則範圍] 方塊中,輸入該準則範圍的參照,包括準則標籤。 使用範例,輸入 $A$1:$C$2。

  6. 使用範例,對清單範圍進行篩選後的結果如下:

    類型 銷售人員 銷售額
    農產品 巫百勝 $6,328
    農產品 季正霖 $6,544

多個準則、多個欄位、任何準則為 True

布林值邏輯: (類型 = “蔬果” 或銷售員 = “劉德標”)

  1. 如果要尋找在多個欄中符合多個準則,且當中任何準則可以為 true 的列,請將準則輸入不同的準則範圍列與欄。 例如,輸入:

    類型 銷售人員 銷售額
    ="=農產品"
    ="=巫百勝"
  2. 按一下清單範圍中的儲存格。

  3. [資料 ] 索引標籤上,於 [排序 & 篩選] 群組中,按一下 [進階]。

  4. 選擇 [ 就地篩選清單]、[隱藏不符合您準則的列],或 [ 複製到另一個位置], 將符合您準則的列複製到工作表的其他區域。

  5. [準則範圍] 方塊中,輸入該準則範圍的參照,包括準則標籤。 使用範例,輸入 $A$1:$B$3。

  6. 使用範例,對清單範圍進行篩選後的結果如下:

    類型 銷售人員 銷售額
    農產品 巫百勝 $6,328
    農產品 季正霖 $6,544

多組準則、所有組中的一欄

布林值邏輯: ( (Sales > 6000 AND Sales < 6500 ) 或 (Sales < 500) )

  1. 如果要尋找符合多組準則、每組準則皆包含一欄之準則的列,請在同一欄名中包含多個欄。 例如,輸入:

    類型 銷售人員 銷售額 銷售額
    >6000 <6500
    <500
  2. 按一下清單範圍中的儲存格。 使用範例,按一下清單範圍 A6:C10 中任何一個儲存格。

  3. 按一下 [資料] 索引標籤上 [排序與篩選] 群組中的 [進階]

  4. 選擇 [ 就地篩選清單]、[隱藏不符合您準則的列],或 [ 複製到另一個位置],將符合您準則的列複製到工作表的其他區域。

    秘訣

    當您將篩選的列複製到另一個位置時,可以指定要納入複製作業的欄。 篩選之前,請複製要貼上篩選列之區域第一列之欄的欄標籤。 當您篩選時,請在 [複製到] 方塊中輸入複製欄標籤的參照。 然後複製的列只會包含您複製標籤的欄。

  5. [準則範圍] 方塊中,輸入該準則範圍的參照,包括準則標籤。 使用範例,輸入 $A$1:$D$3。

  6. 使用範例,對清單範圍進行篩選後的結果如下:

    類型 銷售人員 銷售額
    肉類 季正霖 $450
    農產品 巫百勝 $6,328

多組準則、每個集合中的多欄

布林值邏輯: ( (銷售人員 = “劉火樹” 且銷售額 >為 3000) 或 (銷售人員 = “劉德標” 且銷售額 > 為 1500) )

  1. 如果要尋找符合多組準則,且每組包含多個欄的準則,請在每一列與欄個別輸入每組準則。 例如,輸入:

    類型 銷售人員 銷售額
    ="=季正霖" >3000
    ="=巫百勝" >1500
  2. 按一下清單範圍中的儲存格。 使用範例,按一下清單範圍 A6:C10 中任何一個儲存格。

  3. 按一下 [資料] 索引標籤上 [排序與篩選] 群組中的 [進階]

  4. 選擇 [ 就地篩選清單]、[隱藏不符合您準則的列],或 [ 複製到另一個位置], 將符合您準則的列複製到工作表的其他區域。

  5. [準則範圍] 方塊中,輸入該準則範圍的參照,包括準則標籤。 使用範例,輸入 $A$1:$C$3。

  6. 使用範例,對清單範圍進行篩選後的結果如下:

    類型 銷售人員 銷售額
    農產品 巫百勝 $6,328
    農產品 季正霖 $6,544

萬用字元準則

布林值邏輯:銷售員 = 第二個字為 '德' 的名字

  1. 若要尋找只共用部分字元的文字值,請執行下列一或多項動作:

    • 輸入一至多個不包含等號 (=) 的字元,以尋找欄中包含文字值且所開頭字元符合輸入字元的列。 例如,如果輸入"季" 做為準則,Excel 會搜尋到 "季正霖"、"季大衛" 和 "季彼得"。

    • 使用萬用字元。

      使用 尋找
      ? (問號) 任何單一字元
      例如,sm?th 可找到 smith 和 smyth
      * (星號) 任何數目的字元
      例如,*east 可找到 Northeast 和 Southeast
      ~ (波狀符號) 後面跟著 ?、* 或 ~ 問號、星號或波狀符號
      例如,fy91~? 可以找到 "fy91?"
  2. 在可以用來做為準則範圍的清單範圍上方插入至少三個空白列。 準則範圍必須具備欄標籤。 請確認準則值和清單範圍之間至少有一個空白列。

  3. 在欄標籤下方列中,輸入您想要比對的準則。 使用範例,輸入:

    類型 銷售人員 銷售額
    ="=肉*"
    ="=?德*"
  4. 按一下清單範圍中的儲存格。 使用範例,按一下清單範圍 A6:C10 中任何一個儲存格。

  5. 按一下 [資料] 索引標籤上 [排序與篩選] 群組中的 [進階]

  6. 選擇 [ 就地篩選清單]、[隱藏不符合您準則的列],或 [ 複製到另一個位置], 將符合您準則的列複製到工作表的其他區域。

  7. [準則範圍] 方塊中,輸入該準則範圍的參照,包括準則標籤。 使用範例,輸入 $A$1:$B$3。

  8. 使用範例,對清單範圍進行篩選後的結果如下:

    類型 銷售人員 銷售額
    飲料 唐祖安 $5,122
    Meat 季正霖 $450
    農產品 巫百勝 $6,328

如何移除或清除進階篩選

套用進階篩選之後,您可能需要將它移除,以再次查看所有資料。 方法如下:

  1. 按一下篩選資料範圍內的任何儲存格。
  2. 移至 [資料] 索引標籤。
  3. 在 [排序 & 篩選] 群組中,按一下 [清除]。
  4. 所有資料列都會再次顯示。

需要更多協助嗎?

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