常用的查找類函數包括VLOOKUP、LOOKUP、MATCH,用法也各不相同

帶特殊符號、區分大小寫的數據,你怎麼查詢

小夥伴們好啊,今天和大家一起說說有關查找的問題。

日常工作中,有關查找的問題非常多:比如說根據姓名查找身份證、根據工號查找職務、根據學號查找成績等等。常用的查找類函數包括VLOOKUP、LOOKUP、MATCH等等很多,用法也各不相同,今天咱們主要說說在查找中遇到的一些問題。

常規情況下的查找

如下圖所示,要求根據E2單元格的工號在A:C列中查找對應的職務。

用到的公式很簡單哈:

=VLOOKUP(E2,A:C,3,0)

常用的查找類函數包括VLOOKUP、LOOKUP、MATCH,用法也各不相同

還不知道VLOOKUP函數怎麼用的表親,可以查看咱們以前的內容,這裡咱們就不細說了。

有特殊字符的查找

如下圖所示,A列的產品編號中包含多個問號、星號和波形符,要求根據D列的產品編號查詢對應的供貨商。

如果再用剛才的方法,直接使用VLOOKUP函數,結果明顯不對了。

=VLOOKUP(D2, A:B,2,0)

常用的查找類函數包括VLOOKUP、LOOKUP、MATCH,用法也各不相同

雖然VLOOKUP函數使用了精確匹配方式,但返回的是不正確的結果或是錯誤值#N/A。原因是什麼呢?

原來VLOOKUP函數將字符中的星號識別為通配符進行查詢。

如D2單元格中的產品編號"N42H19.8*5",即被識別為以"N42H19.8"開頭、以5結尾的字符串。並且VLOOKUP函數有多個匹配結果時,只返回第一條內容,因此無法精確查詢到需要的結果。對於含有波形符的查詢值,VLOOKUP函數返回錯誤值#N/A,同樣無法實現查詢要求。解決的方法有沒有呢?往下看。

可以利用等式中不支持通配符的特點,使用LOOKUP函數完成查詢。

=LOOKUP(1,0/(D2=A:A),B:B)

LOOKUP函數的第二參數使用等式,直接比較A2單元格中的產品編號與A列的數據是否相同,巧妙避免了通配符造成的查詢錯誤。結果如下圖:

常用的查找類函數包括VLOOKUP、LOOKUP、MATCH,用法也各不相同

區分大小寫的查找

假如要求區分大小寫進行匹配,問題又來了,由於等式不區分大小寫,D2和D3單元格的查詢結果返回了同樣的內容。

話說小芳啊,你咋這麼讓人不省心呢:

常用的查找類函數包括VLOOKUP、LOOKUP、MATCH,用法也各不相同

怎麼破?往下看:可以利用FIND 函數區分大小寫,並且不允許使用通配符的特點,使用LOOKUP函數和FIND函數的組合拳完成查詢。

=LOOKUP(1,0/FIND(D2,A:A),B:B)

結果如下圖:

常用的查找類函數包括VLOOKUP、LOOKUP、MATCH,用法也各不相同

FIND函數返回D2單元格內容在A列各單元格中的起始位置。

在本例中,如果A列的內容與D2相同,就返回數字1,否則返回錯誤值#VALUE!。

用0除以數字1和錯誤值,變成0和錯誤值。

再用1作為查找值,在其中進行查找最後一個0的位置,並返回B列對應的供貨商姓名。

好了,今天的內容就這樣,祝各位表親們一天好心情!


分享到:


相關文章: