這才是最高級的Excel下拉菜單

利用數據 - 有效性製作的excel下拉列表,如果選項過多,會給選擇輸入帶來不少的麻煩。如果....能輸入一個或幾個字符,就只顯示以這些字符開頭的選項(聯想式輸入)..該多好哦!..高手們用VBA實現,可不懂VBA是何物的你,這個功能也可以實現嗎?今天,小編將分享不用VBA也可以實現聯想式輸入的技巧。


實現效果:

單元格為空,打開下拉列表

這才是最高級的Excel下拉菜單

輸入關鍵詞寶來後,再打開下拉列表。

這才是最高級的Excel下拉菜單

上面的效果是你夢想中的功能吧。現在和小編一起來實現它。


---------------操作步驟------------------


第1步 源數據排序。目的是把相似的內容排列在一起。如上圖C列所示。


第2步 選取A列要設置的區域,右鍵菜單 - 定義名稱。在如圖所示的新那建名稱窗口中:

名稱:車型

引用位置:

=OFFSET(Sheet1!$C$1,MATCH(Sheet1!A2&"*",Sheet1!C:C,0)-1,,COUNTIF(Sheet1!C:C,Sheet1!A2&"*"),1)

公式說明:

  • match()查找輸入的字符串在C列的開始位置,&"*"實現模糊查找。
  • Countif()統計以輸入字符串開頭的車型有多少個
  • offset() 獲取開始行數和總行數,用offset生成動態引用區域。
這才是最高級的Excel下拉菜單

第3步 數據選項卡 - 數據有效性 - 允許“序列”,來源 =車型

這才是最高級的Excel下拉菜單

第4步 在數據有效性窗口中,去掉“輸入無效數據時顯示出錯警告”的勾選。

這才是最高級的Excel下拉菜單

注:今天的技巧用到了offset+match+countif函數,其實在excel中構建動態區域時,總是這三個函數配合實現的。


分享到:


相關文章: