国产aaaa级全身裸体精油片_337p人体粉嫩久久久红粉影视_一区中文字幕在线观看_国产亚洲精品一区二区_欧美裸体男粗大1609_午夜亚洲激情电影av_黄色小说入口_日本精品久久久久中文字幕_少妇思春三a级_亚洲视频自拍偷拍

首頁 > 化工知識 > Excel“搜索”式下拉菜單,無需排序,小白慎進!

Excel“搜索”式下拉菜單,無需排序,小白慎進!

時間:2021-10-20 來源: 瀏覽:

Excel“搜索”式下拉菜單,無需排序,小白慎進!

Excel數(shù)據(jù)可視化
Excel數(shù)據(jù)可視化

Excel1994

實用的數(shù)據(jù)可視化案例教程,源于Excel,不止于Excel

收錄于話題

以下文章來源于Excel表哥 ,作者FunExcel

Excel表哥 .

Excel rapid the world!

上期我們分享了 Excel聯(lián)想式下拉菜單制作教程 ,可以簡化大家在下拉菜單過長時的數(shù)據(jù)錄入工作。

文章末尾給大家提出了一個問題: 為什么下拉列表數(shù)據(jù)源需要先排序?

今天我們繼續(xù)分享一個不用對數(shù)據(jù)源排序也能實現(xiàn)的下拉列表制作方法。

先看最終的效果動圖:

今日分享難度指數(shù):★★★★☆

01
創(chuàng)建輔助列
在需要設置下拉列表的工作表中創(chuàng)建一列輔助列,如下圖所示:

在輔助列F3單元格輸入下面的公式:
=IFERROR(INDEX(數(shù)據(jù)源!$B$3:$B$999,SMALL(IFERROR(MATCH(IF(FIND(CELL("contents"),數(shù)據(jù)源!$B$3:$B$999),數(shù)據(jù)源!$B$3:$B$999,""),數(shù)據(jù)源!$B$3:$B$999,0),2^16),ROW(B1))),"")

▎注意:這是一個數(shù)組公式,輸入完成后需要按Ctrl+Shift+Enter三鍵完成數(shù)組公式的設置。

公式三鍵設置結束后,會彈出循環(huán)引用的提示,忽視即可。

這個公式似乎有點長??!不過公式雖長,我們卻可以通過定義名稱的形式進行縮減。

然后我們的公式就變短了:

=IFERROR(INDEX(List,SMALL(IFERROR(MATCH(IF(FIND(CELL("contents"),List),List,""),List,0),2^16),ROW(B1))),"")
后面如果List數(shù)據(jù)源位置調整了在名稱管理器里修改也是比較簡單的。
同時通過名稱管理器的定義也可以方便其他使用者直接套用此公式。

將F3中的公式向下填充至足夠多行即可完成輔助列的設置。

公式設置完成后我們先來測試一下:

通過測試我們發(fā)現(xiàn)在除了輔助列之外的任意單元格輸入關鍵詞,F(xiàn)列中的查找內容就會根據(jù)這些關鍵詞進行自動更新,而這正是我們需要實現(xiàn)的效果。

02
設置數(shù)據(jù)有效性公式
選中需要設置數(shù)據(jù)下拉列表的區(qū)域,如舉例中的B3:B10,按照下圖設置數(shù)據(jù)錄入工作表的數(shù)據(jù)有效性。

至此,所有設置均已完成。最終的聯(lián)想式下拉列表如文章開頭的動圖所示。
通過測試我們發(fā)現(xiàn)使用這種方法設置的下拉列表不僅不需要提前對數(shù)據(jù)源進行排序而且關鍵詞還不用區(qū)分大小寫,可以說是比較方便了。
03
核心公式解釋
實現(xiàn)聯(lián)想式輸入下拉列表的核心在于此公式:
=IFERROR(INDEX(List,SMALL(IFERROR(MATCH(IF(FIND(CELL("contents"),List),List,""),List,0),2^16),ROW(B1))),"")
CELL("contents")函數(shù)的作用是 可以獲取最后編輯的單元格內容,即我們要搜索的動態(tài)關鍵詞。

在之前的這篇文章我們有講到過CELL函數(shù), 戳此復習▼

為什么說聚光燈是練習單元格引用方式最好的教材

此處為了理解方便,我們將CELL("contents")換成B3單元格。
整個公式的設置其實還是一個模糊查找問題。
由于公式嵌套較多,且比較復雜,我們通過輔助列來加深理解:

  • FIND函數(shù)返回輸入的字符 $B$3 在數(shù)據(jù)源!$B$3:$B$999中每一行字符的起始位置。

  • IF函數(shù)如果匹配到數(shù)據(jù)則返回數(shù)據(jù)源中該行數(shù)據(jù),否則返回空""(,""也可省略)。

  • MATCH函數(shù)根據(jù)IF函數(shù)的結果返回在數(shù)據(jù)源中相應的行號,如果未匹配到$B$3中的關鍵字則返回#VALUE!錯誤值。

  • IFERROR函數(shù)則將#VALUE!錯誤值修改為一個極大值2^16=65536。

  • SMALL函數(shù)根據(jù)J列查找出來的行號進行排序。由于SMALL函數(shù)不支持錯誤值,這也是上一步必須用IFERROR函數(shù)修正MATCH返回結果的原因。

  • INDEX函數(shù)根據(jù)SMALL函數(shù)返回的符合項從小到大的行號查找出所有的包含關鍵詞的選項。

  • 最后再次通過IFERROR函數(shù)屏蔽#REF!引用錯誤。

至此,終于完成了核心公式的設置。

最后我們把查找關鍵詞替換為CELL("contents")就可以實現(xiàn)任意位置(除了輔助列)輸入字符,在F列匹配出數(shù)據(jù)源中所有包含該關鍵詞的符合項了。

至于數(shù)據(jù)驗證中OFFSET函數(shù)就很好理解了,和上期分享的方法一致此處就不再贅述了。

今天分享的公式理解起來比較困難,大家可以通過構造多列輔助列的方式進行學習掌握。
同時也可以下載表哥提供的模板文件進行對照學習。
有疑問歡迎在文末留言區(qū)進行提問交流。

我是分隔線
雖然寫了2千字的教程,然而WPS用戶的讀者朋友看了后卻一臉嫌棄,難道這種聯(lián)想式輸入列表不應該是軟件自帶的嗎?

仔細看,WPS確實自帶聯(lián)想式輸入技能!

不得不說這是Excel用戶非常羨慕的一個功能。那么恰好看到表哥這篇文章的Excel用戶的讀者朋友,希望能彌補這個小遺憾。

WPS在使用細節(jié)上面確實夠人性化,類似的功能還有根據(jù)內容批量合并某一列相同單元格,Excel用戶則需要借助VBA才能實現(xiàn),表哥的文章也有介紹過哦:
一鍵批量合并Excel工作表相同內容單元格

感謝Excel表哥的干貨,如果你想了解更多 Excel文件管理、項目管理模板 ,請關注下方表哥的公眾號 @Excel表哥 ,在該公眾號聊天框回復【 聯(lián)想式下拉菜單2 】,獲取本文件。

鏈接:https://pan.baidu.com/s/1iEEIdzZeB8w_lVdGGMXARA 

提取碼:389s

版權:如無特殊注明,文章轉載自網(wǎng)絡,侵權請聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學習使用,務必24小時內刪除。
相關推薦