下圖表中有兩列數(shù)據(jù),第一列是手機號碼,第而列是姓名,我們需要根據(jù)指定的某個號碼在這兩列中找到對應(yīng)的姓名,VLOOKUP函數(shù)結(jié)果如下圖:
我們要查找的手機號碼“181****5313”對應(yīng)的姓名明明是“李文新”,可是為什么VLOOKUP函數(shù)的結(jié)果卻是“李華強”呢?這個VLOOKUP函數(shù)語法沒錯啊,確實是精確匹配啊。
對于Excel函數(shù)比較熟的朋友可能立刻就會想到,VLOOKUP要查找的條件是“181****5313”,里面有4個星號“*”,而星號在函數(shù)中作為條件會默認為通配符,表示任意字符,所以VLOOKUP函數(shù)會認為18194935313=181****5313,那么我們要查找這種含有統(tǒng)配符的條件就需要特殊處理一下,在條件前面用&連接符連接“~”,于是聰明的人立刻給出了另一個公式:
公式是改變了,可是結(jié)果為什么依然還沒有改變,還是原來的結(jié)果呢?我們再仔細觀察一下數(shù)據(jù)源就會發(fā)現(xiàn),這些手機號碼所在的單元格左上角都有一個綠色的小三角,說明這些數(shù)值都是文本型的數(shù)值,所以需要將文本型數(shù)值轉(zhuǎn)換成數(shù)值型的數(shù)值,如下面動畫:
還有一種情況,數(shù)據(jù)源里面既有文本型數(shù)值,也有數(shù)值型數(shù)值,我們查找的條件中也是兩種數(shù)值類型混雜,而且由于涉及多部門,這些數(shù)據(jù)都不能隨便轉(zhuǎn)換格式,這個時候如果僅僅只用一個VLOOKUP函數(shù)我們就很難解決問題了,如下圖:
因為不能轉(zhuǎn)換數(shù)值格式,所以一個VLOOKUP函數(shù)確實不好解決,不過既然一個解決不了,那兩個總可以了吧,別忘了咱們還有IFERROR函數(shù),可以讓我們錯了也有一次重來的機會
公式:=IFERROR(VLOOKUP(--D2,$A$2:$B$11,2,0),VLOOKUP(D2&'''',$A$2:$B$11,2,0))
PS:--D2表示將數(shù)值類型數(shù)值化,D2&''''表示將數(shù)值類型文本化。
大家是否覺得這很復(fù)雜呢?有沒有不需要處理通配符,也不需要轉(zhuǎn)換數(shù)值格式的公式呢?答案是有的,請看下圖:
公式:=LOOKUP(1,0/(A2:A11=D2),B2:B11)