KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何在 Excel 中根據特定儲存格的值來篩選資料透視表?

作者Siluvia修改日期

在 Excel 中,資料透視表廣泛用於高效彙總、分析與探索資料。預設情況下,資料透視表的篩選通常透過從篩選下拉式功能表中選取所需項目來執行。雖然此方法相當靈活,但在某些情境下,您可能需要更動態的篩選方式——例如,讓資料透視表的結果能根據工作表中特定儲存格所輸入的值自動更新。這種做法在製作儀表板、自動化工作流程,或為不熟悉手動篩選的使用者建立互動式報表時尤其實用。

Excel 並未內建可直接將儲存格值連結至資料透視表篩選器的標準功能(在不使用程式碼的前提下)。不過,仍有幾種實用技巧能實現此需求,每種方法皆有其優勢與注意事項。本教學首先介紹一種簡潔的 VBA 方法,可將儲存格直接連結至資料透視表篩選器,讓資料透視表在儲存格內容變更時即時更新。此外,我們也會探討其他替代方案,例如運用 Excel 公式(如 GETPIVOTDATA、FILTER)來呈現篩選結果,或透過切片器作為直覺化的圖形化篩選控制項。掌握這些選項,將有助您根據實際的 Excel 工作流程與使用者體驗,選擇最合適的解決方式。

顯示 Excel 中具有下拉篩選器的樞紐分析表的螢幕截圖


使用 VBA 程式碼根據特定儲存格值篩選資料透視表

若您需要真正的動態互動性——也就是在儲存格中輸入數值時,資料透視表篩選器能自動回應變更——VBA 提供直接有效的解決方案。這在儀表板、提供給同事的模板,或需透過修改單一儲存格快速調整篩選條件的情境中尤其實用!但此方法確實需要您對 VBA 編輯器具備基本認識,且如同所有巨集一樣,您的活頁簿必須儲存為啟用巨集的格式(.xlsm)。

以下 VBA 程式碼可讓您將工作表儲存格動態連結至資料透視表篩選器。請務必依照下列步驟操作,並根據您的活頁簿調整工作表名稱、資料透視表名稱及欄位參照:

步驟 1: 將您要用來篩選資料透視表的值輸入工作表儲存格中(例如,在儲存格 )H6 中輸入或選取篩選值)。

步驟 2: 開啟包含目標資料透視表的工作表。在 Excel 底部的工作表標籤上按一下滑鼠右鍵,並從內容功能表中選取檢視程式碼,即可立即開啟該工作表的 VBA 編輯器視窗!

顯示 Excel 中工作表的「檢視程式碼」選項的螢幕截圖

步驟 3: 在開啟的 Microsoft Visual Basic for Applications(VBA)視窗中,將下列程式碼貼到工作表的程式碼模組中(而非標準模組):

VBA 程式碼:根據儲存格值篩選資料透視表

Private Sub Worksheet_Change(ByVal Target As Range)
'由 Extendoffice 20180702 更新
    Dim xPTable As PivotTable
    Dim xPFile As PivotField
    Dim xStr As String
    On Error Resume Next
    If Intersect(Target, Range("H6:H7")) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Set xPTable = Worksheets("= False
    Set xPTable = Worksheets("Sheet1")").PivotTables("PivotTable2")
    Set xPFile = xPTable.PivotFields("Category")
    xStr = Target.Text
    xPFile.ClearAllFilters
    xPFile.CurrentPage = xStr
    Application.ScreenUpdating = True
End Sub

📝 注意事項:

  • 「Sheet 1」 是包含資料透視表的工作表,請依需求調整。
  • 「PivotTable 2」 是您的資料透視表名稱,您可在樞紐分析表分析選項卡中輕鬆找到它!
  • 「Category」是您要篩選的欄位,必須與條件名稱完全相符。
  • H6 用於篩選儲存格,請確保其值與篩選清單中的項目一致。
  • 篩選值必須完全相符,多餘的空格將導致錯誤或空白結果。

步驟 4: 按下 Alt + Q,即可關閉 VBA 編輯器並返回 Excel。

現在,您的資料透視表將自動篩選,僅顯示與儲存格 H6 中輸入值相符的資料。每當 H6 的值變更時,此巨集便會自動執行,讓您輕鬆動態調整資料摘要!

根據特定儲存格值篩選的樞紐分析表

您可以隨時修改篩選儲存格中的值——只要儲存格內容一經變更或取代,資料透視表就會立即更新。

變更樞紐分析表篩選儲存格值後的結果

疑難排解:

  • 請確保您的活頁簿已啟用巨集功能。
  • 請再次確認工作表、資料透視表及條件式名稱是否與您的實際設定一致。
  • 請確保 H6 中的篩選值與資料透視表中的值完全一致。
  • 此 VBA 方法適用於單一欄位篩選;若需同時處理多個欄位,則須額外撰寫指令碼。

Excel 公式 – 根據儲存格值顯示篩選後的資料透視表結果

對於不想啟用巨集的使用者,Excel 提供以公式為基礎的方法,在特定儲存格值變更時動態顯示資料透視表結果。雖然 GETPIVOTDATAFILTER 函數不會實際調整資料透視表的篩選設定,卻能靈活參照並即時呈現對應使用者輸入的摘要結果!

此解決方案在建立自訂摘要表格、儀表板或報表時格外實用,能根據使用者輸入的變更條件即時反映結果,同時不影響原始資料透視表的檢視畫面。

使用 GETPIVOTDATA:

假設您的資料透視表(命名為)「PivotTable 2」)依類別彙總銷售額,且篩選值輸入於儲存格 H6. 您可運用 GETPIVOTDATA 函數,立即顯示 H6 中指定類別的總銷售額:

1. 選取您要顯示摘要結果的儲存格(例如 )I6):

=GETPIVOTDATA("Sum of Sales", $A$4, "Category", $H$6)

2. 按下 Enter。當您變更 H6 中的值時,I6 的結果會自動更新,以反映資料透視表中對應的摘要。

若您的資料透視表使用不同的欄位名稱或版面配置,請相應調整公式。若要自動產生 GETPIVOTDATA 公式,請先在儲存格中輸入=,再點選資料透視表中的值儲存格,Excel 即會自動插入對應公式,您可依需求進一步編輯!

搭配輔助表格使用 FILTER:

若您想從原始資料集中提取詳細記錄(而非僅資料透視表摘要),且您使用的是 Excel 365 或 Excel 2019,FILTER 函數可依據儲存格值進行動態篩選:

假設您的原始資料位於範圍 A1:C100,且 Category 欄位位於 A 欄。

1. 選取篩選後記錄要顯示的起始儲存格(例如:J6):

=FILTER(A2:C100, A2:A100 = H6, "No data")

2. 按下 Enter,符合條件的列將自動溢出至相鄰儲存格,列出所有與 H6 儲存格值相符的記錄;更新 H6 後,結果立即重新整理!

若需匹配資料透視表分組或根據多個條件篩選,可考慮結合使用 GETPIVOTDATAFILTER,或透過額外邏輯條件擴充公式,輕鬆提升分析效率!

📝 提示與警告:

  • 這些公式不會變更實際的資料透視表篩選器,僅依據儲存格數值提供獨立且動態的檢視畫面。
  • 若要直接調整資料透視表篩選器,必須使用 VBA。
  • 請務必確保在 GETPIVOTDATA 中使用的條件名稱,與資料透視表中的內容(包括大小寫與空格)完全一致!
  • 若出現 #REF!錯誤,請確認您的參照有效,且資料透視表結構未變動。

其他 Excel 內建方法 – 使用切片器作為互動式資料透視表篩選器

如果 VBA 或以公式為基礎的解決方案無法完全滿足您的工作流程,Excel 的切片器提供了另一種互動式篩選資料透視表的絕佳選擇!切片器是直觀的視覺化篩選控制項,只需輕點即可快速篩選資料。雖然無法直接連結至儲存格值(也就是無法透過變更儲存格來控制切片器),但對於非技術使用者來說,切片器在儀表板與報表中操作簡單、效果卓越,絕對不容錯過!

如何新增並使用切片器:

  1. 選取資料透視表中的任意儲存格。
  2. 前往樞紐分析表分析選項卡(或舊版中的)分析選項卡),然後點選插入切片器
  3. 插入切片器對話方塊中,勾選您要用來篩選的欄位(例如 )Category),然後點擊確定
  4. 切片器將出現在您的工作表上,點擊按鈕即可依該值篩選資料透視表!按住 Ctrl 鍵,還能同時選取多個項目,操作更靈活!

切片器不僅可自訂格式、調整大小,還能連結至多個資料透視表,實現跨報表的同步篩選。在儀表板或共用活頁簿中尤其實用——當使用者不熟悉下拉式篩選器,卻仍希望輕鬆篩選資料,且不想使用 VBA 或編輯公式時,切片器正是理想選擇。

限制:切片器無法直接連結至儲存格值。若您的工作流程需透過儲存格輸入實現動態篩選,切片器應視為輔助 VBA 或公式方法的工具,而非替代方案。

此外,即使您的資料儲存在 Excel 表格(而非樞紐分析表)中,也能輕鬆使用切片器:只需選取表格,並前往表格設計索引標籤 > 插入切片器 即可!

疑難排解:如果切片器似乎未對資料透視表進行篩選,請檢查報表連線(位於)切片器分析索引標籤下),確認其已正確連結至目標資料透視表。

上述每種方法各有不同用途:VBA 可實現與儲存格直接連結的篩選功能,公式能動態呈現結果,而切片器則提供直覺易用的圖形化篩選體驗。請根據您對自動化、彈性及易用性的需求,選擇最適合的方案。傳統的資料透視表下拉式篩選器仍可作為基本備用選項。

相關文章:

最佳 Office 生產力工具

🤖KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值     刪除空白行     合併列或儲存格而不遺失資料     不使用公式的四捨五入……
高級 LOOKUP多重條件 VLookup    多重數值 VLookup     跨多個工作表 VLookup      模糊查找……
高級下拉列表快速建立下拉式清單     相依式下拉式清單     多選下拉式清單……
欄位管理員新增指定數量的欄位移動欄位切換隱藏欄位的可見狀態比較範圍與欄位……
精選功能網格聚焦     設計視圖   增強編輯欄    工作簿與工作表管理員     資源庫(自動文字)  日期提取     合併工作表    加密/解密儲存格    依清單傳送電子郵件     超級篩選      特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符,……)   50+ 圖表 類型甘特圖,……)   40+ 實用公式基於生日計算年齡,……)   19 插入工具插入二維碼從路徑插入圖片,……)   12 轉換工具金額轉大寫匯率轉換,……)   7 合併和拆分工具高級合併行分割儲存格,……)……以及更多
在您的慣用語言中使用 Kutools—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!

運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……


Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!

  • 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
  • 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
  • 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!

所有 Kutools 增益集,一個安裝程式

Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!

ExcelWordOutlookTabsPowerPoint
  • 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
  • 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
  • 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
  • 30 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用