如何在 Excel 中通過下拉列表選擇篩選數據?
在 Excel 中,大多數人可能會使用篩選功能來篩選數據。但是,您是否嘗試過從下拉列表選擇中篩選數據呢?例如,當我從下拉列表中選擇一個項目時,我希望其對應的行會被篩選出來,如下方截圖所示。本文將介紹如何在一張或多張工作表中使用下拉列表篩選數據。
使用輔助公式在一張工作表中根據下拉列表選擇篩選數據
要根據下拉列表篩選數據,您可以創建一些輔助公式列,請按照以下步驟逐一操作:
1. 首先,插入下拉列表。點擊您想要插入下拉列表的單元格,然後點擊 數據 > 數據驗證 > 數據驗證,見截圖:
2在彈出的 數據驗證 對話框中,在 選項 標籤下,選擇 一維表 從 允許 下拉菜單中,然後點擊 按鈕以選擇您想用於創建下拉列表的數據列表,見截圖:
3. 然後點擊 確定 按鈕,下拉列表立即插入,並從下拉列表中選擇一個項目,然後輸入此公式:=ROWS($A$2:A2)(A2 是包含下拉列表值的列中的第一個單元格)到單元格 D2 中,然後向下拖動填充柄以應用該公式,見截圖:
4. 接著輸入這個公式:=IF(A2=$H$2,D2,"") 到單元格 E2 中,然後向下拖動填充柄以填滿該公式,見截圖:
注意:在上述公式中:A2 是包含下拉列表值的列中的第一個單元格,H2 是放置下拉列表的單元格,D2 是第一個輔助列公式。
5. 然後輸入這個公式:=IFERROR(SMALL($E$2:$E$17,D2),"") 到單元格 F2 中,然後向下拖動填充柄以填滿該公式,見截圖:
注意:在上述公式中:E2:E17 是第二個輔助公式單元格,D2 是第一個輔助公式列中的第一個單元格。
6. 插入輔助公式列後,您應該將篩選結果輸出到另一個位置,請應用這個公式:=IFERROR(INDEX($A$2:$C$17,$F2,COLUMNS($J$2:J2)),"") 到單元格 J2 中,然後從 J2 拖動填充柄到 L2,基於下拉列表的第一條記錄已被提取,見截圖:
注意:在上述公式中: A2:C17 是您想篩選的原始數據,F2 是第三個輔助公式列,J2 是您想輸出篩選結果的單元格。
7. 然後繼續向下拖動填充柄以顯示所有相應的篩選記錄,見截圖:
8. 從現在開始,當您從下拉列表中選擇一個項目時,所有基於此選擇的行都會立即被篩選出來,見截圖:

使用 Kutools 增強功能超級充電 Excel 下拉列表
利用 Kutools for Excel 的增強型下拉列表功能提升您的生產力。這套功能超越了基本的 Excel 功能,簡化您的工作流程,包括:
- 多選下拉列表:同時選擇多個條目,實現高效數據處理。
- 帶複選框的下拉列表:增強用戶互動和電子表格內的清晰度。
- 動態下拉列表:自動根據數據修改進行更新,確保準確性。
- 可搜索下拉列表:快速定位所需條目,節省時間並減少麻煩。
使用 VBA 代碼在兩張工作表中根據下拉列表選擇篩選數據
如果您的下拉列表單元格在 Sheet1 中,而篩選數據在 Sheet2 中,當從下拉列表中選擇一個項目時,另一張工作表將被篩選出來。如何在 Excel 中完成此任務?
以下 VBA 代碼可能對您有所幫助,請按照以下步驟操作:
1. 右鍵單擊包含下拉列表單元格的工作表標籤,然後從上下文菜單中選擇 查看代碼,在打開的 Microsoft Visual Basic for Applications 窗口中,將以下代碼複製並粘貼到空白模塊中:
VBA 代碼:在兩個工作表中根據下拉列表選擇篩選數據:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
On Error Resume Next
If Not Intersect(Range("A2"), Target) Is Nothing Then
Application.EnableEvents = False
If Range("A2").Value = "" Then
Worksheets("Sheet2").ShowAllData
Else
Worksheets("Sheet2").Range("A2").AutoFilter 1, Range("A2").Value
End If
Application.EnableEvents = True
End If
End Sub
注意:在上述代碼中:A2 是包含下拉列表的單元格, Sheet2 是包含您想篩選數據的工作表。腳本中的數字 1: AutoFilter 1 是您想篩選的列號。您可以根據需要更改它們。
2. 從現在開始,當您從 Sheet1 的下拉列表中選擇一個項目時,相應的數據將在 Sheet2 中被篩選出來,見截圖:
最佳辦公效率工具
🤖 | Kutools AI 助手:基於智能執行方式革新數據分析:智能執行 | 生成代碼 | 創建自訂公式 | 分析數據並生成圖表 | 調用 Kutools 函數… |
熱門功能:查找、標記重複值或識別重複項 | 刪除空行 | 合併列或單元格而不丟失數據 | 四捨五入無需公式 ... | |
高級 LOOKUP: 多條件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 .... | |
高級下拉列表:快速創建下拉列表 | 依賴下拉列表 | 多選下拉列表 .... | |
列管理器: 添加特定數量的列 | 移動列 | 切換隱藏列的可見狀態 | 比較區域和列 ... | |
特色功能:網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿與工作表管理器 | 資源庫(自動文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按列表發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/斜體/刪除線...) ... | |
頂級 15 種工具集: 12 個文本工具(添加文本、刪除特定字符、...) | 50+ 圖表 類型(甘特圖、...) | 40+ 實用 公式(基於生日計算年齡、...) | 19 個插入工具(插入QR碼、根據路徑插入圖片、...) | 12 個轉換工具(金額轉大寫、匯率轉換、...) | 7 個合併與分割工具(高級合併行、分割儲存格、...) | ... 還有更多 |
使用 Kutools for Excel 提升您的 Excel 技巧,體驗前所未有的高效。 Kutools for Excel 提供超過 300 種高級功能來提高生產力並節省時間。 點擊這裡獲取您最需要的功能...
Office Tab 將標籤式界面帶到 Office,讓您的工作更加輕鬆
- 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
- 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
- 將您的生產力提高 50%,每天為您減少數百次鼠標點擊!