王志軍



在職場實戰中,我們經常會遇到許多關于查找的操作,查找類的函數包括VLOOKUP、LOOKUP、MATCH等,用法也各不相同。這里舉幾個實例進行說明:
實例一:直接使用VLOOKUP函數
例如圖1所示的工作表,現在要求根據工號在A:C列查找對應的職務,選擇F2單元格,在編輯欄輸入公式“=VLOOKUP(E2,A:C,3)”,這里的“3”表示A:C單元格區域的第3列,可以直接輸入公式,也可以通過對話框按照提示逐一輸入,公式執行效果如圖2所示。
實例二:特殊字符的查詢處理
圖3所示的工作表就稍復雜了一些,A列的產品編號包含星號、折號等特殊字符,現在要求根據D列的產品編號查找對應的供貨商,如果直接使用“=VLOOKUP(D2,A:B,2)”的公式,返回的卻是不正確的查找結果或#N/A的錯誤值。
究其原因,是由于VLOOKUP函數將字符中的星號識別為通配符進行查詢,例如產品編號“N42H19. 8*2.5”,被VLOOKUP函數識別為以“N42H19.8”打頭、以“2.5”結尾的字符串;VLOOKUP函數有多個匹配結果時,只返回第一條的內容,因此無法精確查詢到所需要的結果。
解決的辦法并不復雜,我們可以利用等式中不支持通配符的特點,改用LOOKUP函數完成查詢。在編輯欄輸入公式“=LOOKUP(1,0/(D2=A:A),B:B)”,這里的LOOKUP函數的第二參數使用等式“D2=A:A”,直接比較D2單元格中的產品編號是否與A列的數據相同,避免了通配符造成的查詢錯誤。
實例三:大小寫的查詢處理
如果數據源出現大小寫的字符,那么LOOKUP函數也同樣無法完成查詢處理,此時需要搭配使用FIND函數。此時可以在編輯欄輸入公式“=LOOKUP(1,0/FIND(D2,A:A),B:B)”。FIND函數可以返回D2單元格內容在A列中的起始位置,在本例中,如果A列的內容與D2單元格相同,則返回數字“1”,否則返回錯誤值#VALUE!……