中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
19Excel數(shù)據(jù)模糊匹配查詢?看這一篇就夠了!
今天和大家分享的是四個常用的套路化函數(shù)公式,都是用于模糊查詢的。

什么是模糊查詢?

我們說的模糊查詢是指根據(jù)指定數(shù)據(jù),在另一個數(shù)據(jù)表里查找與之相似的信息。

總結起來,有4種常見的情況。

第1種情況,正向模糊查詢,或者說根據(jù)簡稱找全稱。比如查找值是華為,數(shù)據(jù)源是華為技術有限公司,數(shù)據(jù)源包含查找值,如何判斷兩者匹配?

第2種情況,反向模糊查詢,根據(jù)全稱查簡稱,和第1種情況剛好反過來。比如查找值是華為技術有限公司,數(shù)據(jù)源卻是華為,也就是查找值包含數(shù)據(jù)源,又如何判斷兩者匹配?

第3種情況,亂序型全匹配模糊查詢。比較極端,但也不少見。比如查找值是華為公司,數(shù)據(jù)源卻是華為技術有限公司,又如何判斷兩者匹配呢?

第4種情況,最大近似度完全匹配。比如查找值是我看見星光,數(shù)據(jù)源有不看星光看月光,看不看見星光等,如何認為后者和我看見星光更加匹配?

牽牽手,跟我來~

1

簡稱查全稱



先來看第一個例子,根據(jù)簡稱查找全稱。

         

如上圖所示,A:B列是某班人員和某科的高考成績(照例嚴肅聲明,人名和成績都是虛擬的,如有雷同……那就雷同吧)。D列是部分人員的簡稱,現(xiàn)在需要根據(jù)A:B列的信息,查詢D列人員的考試成績。

E2公式如下:

=VLOOKUP("*"&D2&"*",A:B,2,0)

公式解析

VLOOKUP函數(shù)支持使用通配符查詢,本例中查找值為"*"&D2&"*",星號是通配符,可以代替零到多個字符。比如查找”*星光*”,可以匹配包含星光的任意字符。很明顯,A2單元格的”看見星光”符合條件,于是取得其成績92分。

由于此處是查詢成績,且人名不存在重復的問題,所以也可以使用支持通配符的統(tǒng)計求和函數(shù)SUMIF:
=SUMIF(A:A,"*"&D2&"*",B:B)



2

全稱查簡稱



既然有根據(jù)簡稱查全稱的情況,自然也就有根據(jù)全稱找簡稱的問題,這就是我要說的第二個例子。


需要嚴肅說明的是,以下數(shù)據(jù)中
大美女瀟瀟是男扮女裝的男生..


如上圖所示,A:B列依然是某班人員姓名和某科的高考成績。D列是部分人員的全稱,現(xiàn)在,需要根據(jù)A:B列的信息,查詢D列人員的考試成績。

E2公式如下:


=LOOKUP(,-FIND(A$2:A$10,D2),B$2:B$10)

公式解析

LOOKUP的第一參數(shù),查找值為0,做了省略處理(這是壞毛病,不要學)

-FIND(A$2:A$10,D2)部分,使用FIND函數(shù)依次查詢A2:A10的值是否在D2單元格中存在。如果存在,返回位置序號,如不存在,返回錯誤值#VALUE!,FIND函數(shù)的結果只有兩種,正數(shù)和錯誤值,之后做減法運算,得到一個由負數(shù)和錯誤值構成的內存數(shù)組:

{#VALUE!;#VALUE!;-1;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}

LOOKUP忽略錯誤值,它的查找值為0,比查找范圍內的任意數(shù)值均大,因而直接返回最后的數(shù)值所對應的查找范圍(B2:B10)的數(shù)據(jù)(這個知識點可以參考LOOKUP篇函數(shù)教程)。

以D2單元格的空空女神為例,返回B4單元格的數(shù)據(jù)125。

……

說到這里,細心的同學也許已經(jīng)發(fā)現(xiàn),我舉的兩個例子,不管是簡稱查全稱,還是全稱找簡稱,都有一個最重要的規(guī)律,也就是每個簡稱都是全稱完整的一部分,或者頭部,或者尾部,或者中間。比如,大花是【大花美女】的頭部,星光是【看見星光】的尾部。這么說,似乎有點奇怪,反正就是這么個意思。

但假設有這樣一種情況,比如看見星光的簡稱是看星光,又如何通過簡稱找到全稱看見星光呢?

之前的公式肯定是不成的。

打個響指,這就是我們要說的第三種情況。 



3

亂序全字符串匹配



根據(jù)A:B列數(shù)據(jù),在E列編寫公式計算成績..

        

如上圖所示,A:B列依然是某班人員和某科的高考成績。D列是部分人員的簡稱,現(xiàn)在,需要根據(jù)A:B列的信息,在E列編寫公式,查詢D列人員的考試成績。

比如,“透視表空空”和“講透視表的那個空空”是匹配的——透 視 表 空 空,每一個字符都出現(xiàn)于字符串講透視表的那個空空中。

E2公式如下:

代碼看不全可以左右拖動..
=INDEX(B:B,MATCH(,MMULT(-ISERR(FIND(MID(D2,COLUMN(A:Z),1),A$1:A$10)),ROW(1:26)),))


公式解析

-ISERR(FIND(MID(D2,COLUMN(A:Z),1),A$1:A$10))

MID函數(shù)從D2單元格的第1(A)個位置至第26(AZ)個位置分別截取1個字符;FIND函數(shù)判斷MID函數(shù)的返回結果在A1:A10單元格中是否存在,如果存在,返回位置序號,否則,返回錯誤值,最后通過ISERR函數(shù)搭配減法運算,將FIND函數(shù)的結果轉化為-1和0,構成一個26列10行的矩陣數(shù)組。

MMULT(-ISERR(FIND(MID(D2,COLUMN(A:Z),1),A$1:A$10)),ROW(1:26))

MMULT函數(shù)對矩陣數(shù)據(jù)進行計算,當D2單元格字符串的每一個字符都在A$1:A$10區(qū)域某個單元格中存在時,該行計算結果為0。

最后通過MATCH函數(shù),取得MMULT函數(shù)返回結果首次為0的位置,再通過INDEX函數(shù)取值即可。

這個套路化公式的思路是判斷所查詢的字符串中每一個字符是否都在查找范圍內存在,換句話說,就是玩一個文字歸屬計數(shù)游戲。

那么,思考題來了,既然有這種情況的簡稱找全稱,自然也有這種情況的全稱找簡稱,如果碰到下面這種情況,如何書寫公式呢?

根據(jù)D:E列數(shù)據(jù),在B列編寫公式計算成績..

         

儂自己想……



4

最大近似度匹配


第4個函數(shù)套路是處理最大近似度匹配……

如下圖所示,需要根據(jù)A:B列的數(shù)據(jù)源,獲取D列相關人名的語文考試成績。

          

比如D2單元格的看我見星光,對應的有A列的明天我看見星光天天看見星光,其中明天我看見星光相似度最高,有5個字符重疊了。

那么如何獲取相似度最高的匹配結果呢?

E2公式數(shù)組公式如下:

代碼看不全可以左右拖動..
=IFERROR(VLOOKUP(D2,$A:$B,2,0),INDEX(B:B,RIGHT(MAX(MMULT(1-ISERR(SEARCH(MID(D2,TRANSPOSE(ROW(INDIRECT("1:"&LEN(D2)))),1),$A$2:$A$14)),ROW(INDIRECT("1:"&LEN(D2)))^0)/1%%+ROW($2:$14)),3)))

公式解析

公式首先采用精確匹配的方式進行匹配VLOOKUP(D2,$A:$B,2,0),匹配不到結果之后,再采用最大近似度匹配。

SEARCH(MID(D2,TRANSPOSE(ROW(INDIRECT("1:"&LEN(D2))

使用SEARCH函數(shù)判斷D2字符串中的每一個值是否在數(shù)據(jù)源中存在(
注意:SEARCH函數(shù)不區(qū)分字母大小寫),生成一個矩陣數(shù)組。

然后使用MMULT函數(shù)統(tǒng)計矩陣中每一個字符串中字符出現(xiàn)的個數(shù),再使用加權法,除以10000,同時用+ROW($2:$14)標記行號,末了使用MAX函數(shù)從中獲取最大值。

最后使用INDEX函數(shù)根據(jù)行號按圖索驥獲取最終結果。

公式稍加修改,也可以實現(xiàn)指定標準的近似度匹配,比如80%的近似度匹配

……

別皺眉頭,笑一笑。復雜的數(shù)組公式理解與否其實并不重要,重要的是……知道有這么回事,遇見問題直接復制公式粘貼使用——你開心就好,認真臉。

打個響指,最后再說兩句,這年代拖堂的好老師真是不多了,給自己筆芯。

不管是采用模糊匹配,還是最大近似度匹配,都優(yōu)先推薦先使用完全匹配查詢,在查無結果的基礎上,再選擇其他匹配方式,以避免數(shù)據(jù)源存在完全匹配的結果,卻優(yōu)先匹配了模糊結果的問題。

此外,函數(shù)公式從來都不是萬能的,VBA代碼亦如是,正則也還是如此,關于簡稱和全稱的查詢和統(tǒng)計,最理想的情況自然還是制作一張匹配表,規(guī)范數(shù)據(jù)源,從源頭上解決問題。

比如碰到下面這樣的情況,若是沒有個匹配表,那是真沒轍。

看見星光   簡稱   帥哥

你說,如果沒有個匹配表,誰知道看見星光和帥哥匹配呢?攤手,聳肩,看見星光自己天天照鏡子都不知道???

拱手作別,下期再見。

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Excel函數(shù)模糊查詢那些事
通過簡稱來查詢全稱并返回對應的開票名稱
聽說這是所有Excel函數(shù)里最難的一個?每一個函數(shù)高手都曾以征服它為目標~
聽說能熟練應用這五個公式的人,都是函數(shù)高手
多條件數(shù)據(jù)模糊匹配查詢?函數(shù)、VBA、PowerQuery、正則……
Excel可深可淺,遇到這個公式,咱的智商還夠用不?
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服