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

首頁 > 化工知識(shí) > Excel“搜索”式下拉菜單,無需排序,小白慎進(jìn)!

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

時(shí)間:2021-10-20 來源: 瀏覽:

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

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

Excel1994

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

收錄于話題

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

Excel表哥 .

Excel rapid the world!

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

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

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

先看最終的效果動(dòng)圖:

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

01
創(chuàng)建輔助列
在需要設(shè)置下拉列表的工作表中創(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))),"")

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

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

這個(gè)公式似乎有點(diǎn)長??!不過公式雖長,我們卻可以通過定義名稱的形式進(jìn)行縮減。

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

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

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

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

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

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

至此,所有設(shè)置均已完成。最終的聯(lián)想式下拉列表如文章開頭的動(dòng)圖所示。
通過測試我們發(fā)現(xiàn)使用這種方法設(shè)置的下拉列表不僅不需要提前對(duì)數(shù)據(jù)源進(jìn)行排序而且關(guān)鍵詞還不用區(qū)分大小寫,可以說是比較方便了。
03
核心公式解釋
實(shí)現(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ù)的作用是 可以獲取最后編輯的單元格內(nèi)容,即我們要搜索的動(dòng)態(tài)關(guān)鍵詞。

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

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

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

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

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

  • MATCH函數(shù)根據(jù)IF函數(shù)的結(jié)果返回在數(shù)據(jù)源中相應(yīng)的行號(hào),如果未匹配到$B$3中的關(guān)鍵字則返回#VALUE!錯(cuò)誤值。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

提取碼:389s

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