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

如何在 Excel 中只需點一下儲存格內容,就能立即篩選資料?

作者曉陽修改日期

在日常 Excel 作業中,處理大型資料集或需根據特定條件快速隔離資訊時,高效能的資料篩選至關重要。一般而言,Excel 提供標準篩選功能,讓使用者能從欄位標題手動選取篩選條件;然而,這種方式需多次點選,直覺性較低,尤其當您希望動態篩選資料,或依據欄位標題以外的條件進行篩選時更是如此。本文將介紹幾種實用方法,讓您只需按一下儲存格值,即可立即篩選資料。舉例來說,針對下方資料集,若您雙擊儲存格 A2,系統會自動篩選出所有與該儲存格值相符的列,並如截圖所示即時顯示相關資料。

只需點擊儲存格內容即可篩選資料


使用 VBA 程式碼,只需按一下儲存格值即可篩選資料

VBA 提供極高效的方式,只需雙擊儲存格內容即可立即篩選資料,比傳統篩選功能更省時。此方法適合熟悉巨集啟用、並追求真正一鍵互動體驗的使用者。請依照以下步驟操作:

1. 為您的資料集指派一個儲存格名稱:選取整個資料區域,在網格上方的名稱方塊中輸入名稱(例如 )mydata),再按下 Enter 鍵。命名範圍可確保 VBA 程式碼輕鬆參照您的表格。

為資料範圍定義一個範圍名稱

2. 在您要啟用互動式篩選的工作表分頁上按一下滑鼠右鍵,從內容功能表中選擇檢視程式碼。在隨即出現的 Microsoft Visual Basic for Applications 視窗中,請將下列程式碼貼到工作表的程式碼區(非一般模組):

VBA 程式碼:按一下儲存格值即可篩選資料:

Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Updateby Extendoffice
    Dim rgTable As Range
    Dim rgData As Range
    Dim xColumn As Integer
    On Error Resume Next
    Application.ScreenUpdating = False
    Set rgTable = Range("mydata")
    With rgTable
        Set rgData = .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count)
        If Not Application.Intersect(ActiveCell, rgData.Cells) Is Nothing Then
            xColumn = ActiveCell.Column - .Column + 1
            If ActiveSheet.AutoFilterMode = False Then
                .AutoFilter
            End If
            If ActiveSheet.AutoFilter.Filters(xColumn).On = True Then
                .AutoFilter Field:=xColumn
            Else
                .AutoFilter Field:=xColumn, Criteria1:=ActiveCell.Value
            End If
        End If
    End With
    Set rgData = Nothing
    Set rgTable = Nothing
    Application.ScreenUpdating = True
End Sub

點擊「檢視程式碼」並將程式碼貼到模組中

注意:此程式碼使用 mydata 作為資料表的儲存格名稱,請確認該名稱與您指定的名稱一致;若使用其他名稱,請據此更新程式碼。

由於此巨集會回應工作表的雙擊事件,因此僅在啟用巨集且位於放置程式碼的工作表時才會生效。巨集會根據您雙擊的儲存格值篩選資料表,僅顯示相符的列。再次雙擊即可重設篩選。

3. 儲存並關閉程式碼視窗後,返回工作表。現在,每當您雙擊主資料區域內的任一儲存格,Excel 便會立即篩選出與該值相符的列,僅顯示相關結果,如下方截圖所示:

當您在資料範圍內雙擊任意儲存格時,其對應的記錄將被篩選

若篩選未如預期執行,請檢查是否已啟用巨集、確認您的數據區域包含欄位標題,並確保「mydata」涵蓋包含標題的完整區域。此方法不支援使用 Ctrl+Z 撤銷,請預先規劃。若要清除篩選,可再次雙擊相同值,或從功能區中選擇「清除篩選」選項。

當您需要對結構化資料集(例如記錄檔、客戶清單或銷售紀錄)進行快速、重複且互動式的篩選時,此 VBA 方法最為理想。主要限制在於使用者必須啟用巨集,並至少具備基本的工作表事件操作能力。若涉及進階分享或整合情境,建議採用以下替代方案。


Excel 公式-透過選取的儲存格值動態篩選資料(無需 VBA)

此方法運用 Excel 內建公式(例如 FILTER 函數),根據所選或手動輸入的值打造互動式動態篩選體驗,適合希望避開巨集、需要跨活頁簿相容性,或在不支援 VBA 的環境中作業的使用者。FILTER 函數適用於 Excel 365、Excel 2021 及 Excel Online。

例如,假設您的資料表位於範圍 A1:C11(含標題),並希望根據儲存格 E1 中輸入的值來篩選資料列。

1. 在您希望顯示篩選結果的空白儲存格中(例如 )G2),輸入下列公式,即可根據 E1 儲存格的值篩選第一欄(A)中的資料列:

=FILTER(A2:C11, A2:A11=E1, "No results found")

此公式僅會顯示欄位 A 中的值與 E1 所輸入或選取內容相符的資料列。若要根據其他欄位進行篩選,請據此調整條件,例如 B2:B11=E1.

2. 按下 Enter,篩選結果將自動填入;每當您變更 E1 的內容,輸出區域都會立即更新。

3. 您可以將 E1 連結至資料驗證下拉式清單,實現一鍵篩選!只需前往資料> 資料驗證,選擇清單,並將來源設為您的值,即可無需手動輸入,輕鬆選取篩選條件。

使用篩選公式儲存格極具動態性且安全,因為無需啟用巨集。但此方法不會在原始表格中實際隱藏不符的記錄,且僅適用於支援的 Excel 版本。若您使用舊版 Excel,請考慮使用進階篩選功能(詳見下文)。

疑難排解:若出現 #CALC! 或其他錯誤訊息,請確認公式範圍是否正確,並檢查您使用的是支援的 Excel 版本。

提示:若您的資料集龐大,使用動態陣列與公式可能會影響活頁簿的回應速度,尤其是在持續重新計算即時篩選時。


其他內建 Excel 方法-使用切片器或表格篩選器進行互動式篩選

Excel 內建的表格篩選器與切片器提供直覺易用的互動式資料篩選功能,只需單次點擊,無需撰寫任何程式碼或公式。這項功能特別適合用於儀表板與摘要工作表,讓非技術使用者也能輕鬆享受互動體驗。

若要使用此方法,請先將您的範圍轉換為表格:

  1. 選取您的資料集,並導航至插入 > 表格。請確認已勾選「我的表格包含標題」,然後按一下「確定」。
  2. 每個表格標題上都會出現互動式篩選箭頭。按一下該箭頭,選取您想要的值,Excel 就會據此篩選資料。
  3. 您可以插入切片器,讓點選式篩選更加輕鬆直覺:選取表格後,前往表格設計 > 插入切片器,選擇您要建立切片器的欄位。只要點擊切片器中的項目,即可立即篩選並檢視對應的表格列!

此方法讓使用者能以視覺化方式互動篩選資料,支援多欄位與即時篩選。切片器可自由格式化與移動,有助於優化儀表板設計。若您使用樞紐分析表,還可附加切片器,甚至跨多個表格同步篩選,實現統一篩選效果。

需注意的是,切片器與表格篩選器要求資料範圍必須先格式化為表格。處理大型資料集時可能會有輕微延遲,且僅影響可見列,不會變更底層資料。

截至本文撰寫時,Excel 網頁版尚不支援切片器功能。分享活頁簿給他人時,務必確認相容性。


使用條件格式-以視覺方式醒目提示符合選取值的記錄

當您需要視覺聚焦(而非隱藏)符合特定值的記錄時,條件格式是快速又高效的解決方案。此方法會自動醒目提示包含您在輔助儲存格中選取或輸入之值的儲存格或區域,讓資料一目了然。由於無需在儲存格中使用程式碼或公式,不僅便於視覺化瀏覽,也非常適合用於協作型活頁簿。

假設您想標示出第一欄資料與儲存格 E1 中所輸入數值相符的所有列。

  1. 選取整個資料區域(例如 )A2:C11)。
  2. 前往常用 > 使用條件格式 > 新增規則
  3. 選擇使用公式來決定要格式化哪些儲存格
  4. 輸入下列公式(假設 A2 是資料的第一列):=$A2=$E$1
  5. 按一下格式,設定您想要的填滿或字型格式後,於所有對話方塊中按一下確定。

現在,每當您變更 E1 的內容時,資料中所有相符的列或儲存格都會立即被標示出來,在不移除或隱藏其他記錄的情況下吸引您的注意。

當您在協作環境中,或向需要查看上下文的團隊展示資料時,若僅需視覺提示而非實際隱藏資料,這種方法極為理想。若需真正隱藏或提取資料,請使用上述任一篩選方法。

限制:條件格式僅提供標示功能,無法篩選或隱藏其他資料,非常適合只需視覺效果的應用情境,是一種簡單又易於維護的解決方案!

kutools for excel AI 的螢幕截圖

透過 KUTOOLS AI 解鎖 Excel 的神奇功能

  • 智慧執行:透過簡易指令,輕鬆執行儲存格操作、分析資料,並建立圖表!
  • 自訂公式:打造專屬公式,讓您的工作流程更順暢!
  • VBA 編碼:輕鬆撰寫並套用 VBA 程式碼,立即提升工作效率!
  • 公式解析:輕鬆掌握複雜公式!
  • 文字翻譯:輕鬆打破試算表中的語言隔閡!
運用 AI 驅動的工具強化您的 Excel 能力。立即下載體驗前所未有的高效!

更多相關文章:

如何透過點擊儲存格來更改其數值?

如何在 Excel 中透過點擊欄位標題來排序資料?

最佳 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 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用