Excel 中可搜索下拉列表的終極指南
在 Excel 中創建下拉列表可以簡化數據輸入並減少錯誤。但對於較大的數據集,滾動瀏覽冗長的列表會變得繁瑣。如果能夠直接輸入並快速找到所需項目不是更好嗎?「可搜索下拉列表」提供了這種便利。本指南將帶您了解在 Excel 中設置此類列表的四種方法。
- Excel 365 中的可搜索下拉列表
- 創建可搜索下拉列表(適用於 Excel 2019 及更高版本)
- 輕鬆創建可搜索下拉列表(適用於所有 Excel 版本)
- 使用組合框和 VBA 創建可搜索下拉列表(更複雜)
Excel 365 中的可搜索下拉列表
Excel 365 在其數據驗證下拉列表中引入了一個備受期待的功能:在列表內進行搜索的能力。通過可搜索功能,用戶可以快速定位並選擇項目,效率更高。按照常規方式插入下拉列表後,只需點擊包含下拉列表的單元格並開始輸入。列表將立即過濾以匹配輸入的文字。
在此情況下,我在單元格中輸入 San,下拉列表將篩選出以搜索詞 San 開頭的城市,例如舊金山和聖迭戈。然後您可以使用鼠標選擇結果,或使用方向鍵並按 Enter。
- 搜索是從下拉列表中每個單詞的第一個字母開始的。如果您輸入的字符與任何單詞的首字母不匹配,列表將不會顯示匹配項。
- 此功能僅在最新版本的 Excel 365 中可用。
- 如果您的 Excel 版本不支持此功能,我們在此推薦 Kutools for Excel 的 Searchable Drop-down List 功能。沒有 Excel 版本限制,啟用後,只需輸入相關文字即可輕鬆在下拉列表中搜索到所需的項目。查看詳細步驟。
創建可搜索下拉列表(適用於 Excel 2019 及更高版本)
如果您使用的是 Excel 2019 或更高版本,本節中的方法也可以用來使 Excel 中的下拉列表可搜索。
假設您已經使用 Sheet1 中 A2:A8 範圍的數據(左圖)在 Sheet2 的 A2 單元格中創建了下拉列表(右圖),請按照以下步驟使列表可搜索。
步驟 1. 創建一個列出搜索項目的輔助列
這裡我們需要一個輔助列來列出與源數據匹配的項目。在這種情況下,我將在 Sheet1 的 D 列中創建輔助列。
- 選擇 D 列中的第一個單元格 D1 並輸入列標題,例如本例中的「搜索結果」。
- 在 D2 單元格中輸入以下公式並按下 Enter.
=FILTER(A2:A8,ISNUMBER(SEARCH(Sheet2!A2,A2:A8)),"未找到")
- 在此公式中,A2:A8 是源數據範圍。Sheet2!A2 是下拉列表的位置,這意味著下拉列表位於 Sheet2 的 A2 中。請根據您自己的數據進行更改。
- 如果未從 Sheet2 的 A2 下拉列表中選擇任何項目,公式將顯示源數據中的所有項目,如上圖所示。相反,如果選擇了一個項目,D2 將顯示該項目作為公式的結果。
步驟 2:重新配置下拉列表
- 選擇下拉列表單元格(在這種情況下,我選擇 Sheet2 的 A2 單元格),然後轉到選擇 數據 > 數據驗證 > 數據驗證。
- 在 數據驗證 對話框中,您需要如下配置。
- 在 設置 選項卡中,點擊
按鈕在 來源 框中。
- 數據驗證對話框將重定向到 Sheet1,選擇具有第一步公式(例如 D2)的單元格,添加 # 符號,然後點擊關閉 按鈕。
- 轉到錯誤警告選項卡,取消勾選在輸入無效數據後顯示錯誤警告複選框,最後點擊確定按鈕保存更改。
- 在 設置 選項卡中,點擊
結果
Sheet2 的 A2 單元格中的下拉列表現在可以搜索了。在單元格中輸入文字,點擊下拉箭頭展開下拉列表,您將看到列表即時過濾以匹配輸入的文字。
- 此方法僅適用於 Excel 2019 及更高版本。
- 此方法一次只能作用於一個下拉列表單元格。要使 Sheet2 中 A3 至 A8 單元格中的下拉列表可搜索,必須對每個單元格重複上述步驟。
- 當您在下拉列表單元格中輸入文字時,下拉列表不會自動展開,您需要點擊下拉箭頭手動展開它。
輕鬆創建可搜索下拉列表(適用於所有 Excel 版本)
鑑於上述方法的各種限制,這裡有一個非常有效的工具供您使用 - Kutools for Excel 的 Make Drop-down List Searchable, Auto-popup 功能。此功能適用於所有版本的 Excel,並允許您通過簡單的設置輕鬆在下拉列表中搜索所需的項目。
下載並安裝 Kutools for Excel 後,選擇 Kutools > 下拉列表 > Make Drop-down List Searchable, Auto-popup 啟用此功能。在 Make the Drop-down List Searchable 對話框中,您需要:
- 選擇包含需要設置為可搜索下拉列表的範圍。
- 點擊確定完成設置。
結果
當您點擊指定範圍內的下拉列表單元格時,右側會出現一個列表框。輸入文字以即時過濾列表,然後選擇項目或使用方向鍵並按 Enter 將其添加到單元格中。
- 此功能支持從單詞內的任意位置進行搜索。這意味著即使您輸入的是單詞中間或末尾的字符,仍會找到並顯示匹配項,提供更全面且用戶友好的搜索體驗。
- 要了解更多關於此功能的信息,請訪問此頁面。
- 要應用此功能,請先下載並安裝 Kutools for Excel。
使用組合框和 VBA 創建可搜索下拉列表(更複雜)
如果您只是想創建一個可搜索的下拉列表而不需要指定特定的下拉列表類型。本節提供了一種替代方法:使用帶有 VBA 代碼的組合框來實現任務。
假設您在 A 列中有一系列國家名稱,如下圖截圖所示,現在您想將它們用作可搜索下拉列表的源數據,您可以按照以下步驟操作來完成。
您需要在工作表中插入一個組合框而不是數據驗證下拉列表。
- 如果 開發者 選項卡未顯示在功能區上,您可以啟用 開發者 選項卡如下。
- 在 Excel 2010 或更高版本中,點擊 文件 > 選項。在 Excel 選項 對話框中,點擊左窗格中的 自定義功能區。轉到 自定義功能區 列表框,勾選 開發者 複選框,然後點擊 確定 按鈕。見截圖:
- 在 Excel 2007 中,點擊 Office 按鈕 > Excel 選項。在 Excel 選項 對話框中,點擊左窗格中的 常用,勾選 在功能區中顯示開發者選項卡 複選框,最後點擊 確定 按鈕。
- 在 Excel 2010 或更高版本中,點擊 文件 > 選項。在 Excel 選項 對話框中,點擊左窗格中的 自定義功能區。轉到 自定義功能區 列表框,勾選 開發者 複選框,然後點擊 確定 按鈕。見截圖:
- 顯示開發者選項卡後,點擊 開發者 > 插入 > 組合框。
- 在工作表中繪製一個組合框,右鍵單擊它,然後從右鍵菜單中選擇 屬性。
- 在 屬性 對話框中,您需要:
- 在 AutoWordSelect 字段中選擇 False;
- 在 LinkedCell 字段中指定一個單元格。在這種情況下,我們輸入 A12;
- 在 MatchEntry 字段中選擇 2-fmMatchEntryNone;
- 在 ListFillRange 字段中輸入 DropDownList;
- 關閉 屬性 對話框。見截圖:
- 現在通過點擊 開發者 > 設計模式 關閉設計模式。
- 選擇一個空白單元格,例如 C2,輸入以下公式並按下 Enter。然後拖動其自動填充柄到 C9 單元格以自動填充相同公式的單元格。見截圖:
=--ISNUMBER(IFERROR(SEARCH($A$12,A2,1),""))
注意:- $A$12 是您在第 4 步中指定為 LinkedCell 的單元格;
- 完成上述步驟後,您現在可以測試:在組合框中輸入字母 C,然後您可以看到引用包含字符 C 的單元格的公式單元格填滿數字 1。
- 選擇 D2 單元格,輸入以下公式並按下 Enter。然後拖動其自動填充柄到 D9 單元格。
=IF(C2=1,COUNTIF($C$2:C2,1),"")
- 選擇 E2 單元格,輸入以下公式並按下 Enter。然後拖動其自動填充柄到 E9 以應用相同的公式。
=IFERROR(INDEX($A$2:$A$9,MATCH(ROWS($D$2:D2),$D$2:$D$9,0)),"")
- 現在您需要創建一個名稱範圍。請點擊 公式 > 定義名稱。
- 在 新名稱 對話框中,輸入 DropDownList 在 名稱 框中,在 引用位置 框中輸入以下公式,然後點擊 確定 按鈕。
=$E$2:INDEX($E$2:$E$9,MAX($D$2:$D$9),1)
- 現在,通過點擊 開發者 > 設計模式 打開設計模式。然後雙擊組合框以打開 Microsoft Visual Basic for Applications 窗口。
- 將以下 VBA 代碼複製並粘貼到代碼編輯器中。
VBA 代碼:使下拉列表可搜索
Private Sub ComboBox1_GotFocus() ComboBox1.ListFillRange = "DropDownList" Me.ComboBox1.DropDown End Sub
- 按下 Alt + Q 鍵關閉 Microsoft Visual Basic for Applications 窗口。
從現在開始,當在組合框中輸入字符時,它將進行模糊搜索,然後在列表中列出相關值。
相關文章:
在 Excel 下拉列表中輸入時自動完成
如果您有一個數據驗證下拉列表,其中包含大量值,您需要在列表中向下滾動才能找到合適的值,或者直接在列表框中輸入整個單詞。如果有方法允許在下拉列表中輸入首字母時自動完成,一切將變得更容易。本教程提供了解決問題的方法。
在 Excel 中從另一個工作簿創建下拉列表
在工作簿內的工作表之間創建數據驗證下拉列表非常容易。但如果數據驗證所需的列表數據位於另一個工作簿中,您該怎麼辦?在本教程中,您將學習如何詳細地從另一個工作簿在 Excel 中創建下拉列表。
在 Excel 中創建可搜索下拉列表
對於具有眾多值的下拉列表,找到合適的值並不容易。之前我們介紹了一種在下拉框中輸入首字母時自動完成下拉列表的方法。除了自動完成功能外,您還可以使下拉列表可搜索,以提高在下拉列表中查找合適值的工作效率。為了使下拉列表可搜索,請嘗試本教程中的方法。
在 Excel 下拉列表中選擇值時自動填充其他單元格
假設您已經根據 B8:B14 單元格範圍的值創建了下拉列表。當您在下拉列表中選擇任何值時,您希望 C8:C14 單元格範圍內的相應值自動填充到選定單元格中。為了解決這個問題,本教程中的方法將對您有所幫助。
最佳的辦公生產力工具
Kutools for Excel - 幫助您脫穎而出
? | Kutools AI 助手:基於智能執行、生成代碼、創建自訂公式、分析數據並生成圖表、調用 Kutools 函數…來徹底改變數據分析方式。 |
熱門功能:查找、標記或識別重複值 | 刪除空行 | 合併列或單元格而不丟失數據 | 四捨五入無需公式 ... | |
超級 VLookup:多條件 | 多值 | 跨多工作表 | 模糊查找... | |
高級下拉列表:簡易下拉列表 | 依賴下拉列表 | 多選下拉列表... | |
列管理器:添加特定數量的列 | 移動列 | 切換隱藏列的可見狀態 | 比較列以選擇相同和不同的單元格 ... | |
特色功能:網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿與工作表管理器 | 資源庫(自動文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按清單發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/斜體/刪除線...) ... | |
頂級 15 種工具集: 12 個文字工具(添加文本、刪除特定字符 ...) | 50+ 圖表 類型(甘特圖 ...) | 40+ 實用 公式(基於生日計算年齡 ...) | 19 個插入工具(插入QR碼、從路徑插入圖片 ...) | 12 個轉換工具(金額轉大寫、匯率轉換 ...) | 7 個合併與分割工具(高級合併行、分割Excel單元格 ...) | ... 還有更多 |
Kutools for Excel 擁有超過 300 種功能,確保您需要的功能只需點擊一下即可實現...
Office Tab - 啟用 Microsoft Office(包括 Excel)中的分頁閱讀和編輯功能
- 一秒鐘內在數十個打開的文檔之間切換!
- 每天為您減少數百次鼠標點擊,告別滑鼠手。
- 當查看和編輯多個文檔時,您的工作效率提高 50%。
- 為 Office(包括 Excel)帶來高效的分頁功能,就像 Chrome、Edge 和 Firefox 一樣。