今天來聊聊VLOOKUP函數,VLOOKUP應該是EXCEL函數裡最知名的。基本提起EXCEL函數,很多人第一反應就是VLOOKUP,而且網上關於VLOOKUP函數的教程特別特別多,即便不會用,也聽說過。就對於我個人而言,VLOOKUP的各種組合使用方法,也不是完全都會都明白的。下面,就從VLOOKUP由淺至中(不敢說深,深的自己還沒玩明白)的說起。
再插入一個函數:COLUMN函數,作用為返回列的數值。參數如果是一個單元格,則返回參數中單元格所在列的列號;如果是一個區域,則返回區域中第一列的列號;如果不填寫,則返回當前選定單元格所在列的列號。一會要用到COLUMN函數,所以提前說一下。
先來看下VLOOKUP的語法:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)。比之前看的任何一個的語法都長,寫的什麼看不懂,但是我知道翻譯成中文怎麼說
再簡化一下,=VLOOKUP(要根據哪個條件找,查找的區間是哪,如果找到符合的條件要在對應條件右側的第幾列得到一個對應值,是精確還是模糊)。
舉個慄子:先做一個最簡單的查詢。要通過工號去查詢員工姓名。B列裡有N個叫張三、李四、王五的。但是現在只是想找到工號是111的員工到底叫什麼。
公式寫完 =VLOOKUP(111,A2:B19,2,0),很明顯這是個靜態函數,第一參數是一個文本,只會查找為111的匹配項。將第一參數「111」改為單元格D2之後,就會變成動態函數。
以上是一個關於VLOOKUP最簡單,也是很多人都會的使用操作方法。接下來再聊聊其他的用法。
假如我們現在有兩張表(為了方便演示,我都放在了同一個SHEET中)表1為所有人的工資明細,而表2中只有隨機的幾個人的工號。
這種情況,可以看出表1和表2的排列順序都一模一樣。如果用vlookup一個個去寫,顯得有些笨。那我們在文章的最上面講過Column函數,vlookup的特性也是按照列去查找。所以在兩張表的排列順序完全一樣或幾乎一樣的情況下,可以使用vlookup+column的組合去進行查找。
通過上面的動圖,我是將vlookup的第三參數,也就是返回第幾列使用了column來進行引用。可以這樣來進行理解:=vlookup(要查找的條件表2的工號,區域表1從工號列開始到月薪列結束,返回第幾列利用column的特性,進行左右移動做返回列,精確查找0)。
講下一個組合前,在說一個函數。IFERROR函數,同樣比較簡單。語法:IFERROR(value, value_if_error),翻譯IFERROR(錯誤值,修正成什麼樣子)。一般不單獨使用,與其他函數組合使用。
下面的例子也是一個經常見到的組合iferror+vlookup。
在做表的時候,很多人會遇到一個情況。用VLOOKUP查詢不出數據,顯示#N/A。這樣的表很不美觀,而且也不利於下一步的統計計算。這樣的情況,就可以使用IFERROR函數進行修正。
可以修正成如果查詢不到,則顯示查無此人。如果還是覺得亂,那可以直接修正成空值。空值寫法為 「」。
關於VLOOKUP函數需要注意的點:
正常情況下(一般情況下),VLOOKUP函數只可以從左向右查找;
正常情況下(一般情況下),VLOOKUP函數查找到第一個對應值就不會繼續查找相同條件的第二個對應值;
正常情況下(一般情況下),查詢的條件只可以是一個,不可以是多個。
後期會跟大家聊聊特殊情況下,VLOOKUP如何從右向左查找以及如何多條件查詢。
查找第二個對應值的方式可參看藍色幻想大神的自定義函數MLOOKUP的文章。單擊MLOOKUP即可進入。
-END-