為什麼我的VLOOKUP查詢就返回錯誤值?
2023-01-07由 讓老闆刮目的Excel 發表于 林業
什麼叫單返回值函式
有一網友詢問,為什麼我的
VLOOKUP
查詢,返回的是錯誤值,而不是要查詢的結果。
粗看一下這位網友的截圖,貌似函式公式也沒什麼問題,V
LOOKUP
函式,四個引數,查詢值,查詢區域,返回列數,精準查詢。
但如果你仔細看,你就會發現一個原則性的錯誤問題,對於V
LOOKUP
函式的運用,有一個原則,查詢區域,必須從查詢值列開始,簡單點說,就是查詢值列,必須在查詢範圍的第一列,而我們看上圖中的問題,根據使用者暱稱,查詢返回對應的訂單編號,他的查詢區域的第一列資料不是使用者暱稱,而是訂單編號,所以最終只能得到錯誤的結果。
需求分析:
案例中的問題,是一個典型的逆向查詢問題,何為逆向,就是你的查詢值不在查詢區域的第一了,不是在返回值列的最左邊,反而是在返回值的右邊,對於這類的查詢匹配,如果一定要用
VLOOKUP
來實現的話,,就需要運用到陣列,就邏輯上來說,不容易理解,所有,日常遇到這類的查詢匹配問題,就會使用一對黃金組合,
INDEX+MATCH
函式。
使用軟體:
微軟Office任意版本的Excel。
操作步驟:
步驟
01
:
在單元格K
6
輸入公式:
=INDEX($F$6:$F$77,MATCH(L6,$G$6:$G$77,0))
這裡運用這個公式,要記得使用絕對引用的區域。
步驟
02
:
選擇K
6
單元格,在單元格的最右側,出現黑色實心十字時候,向下拖拽公式即可。
公式解析:
INDEX
函式功能,在給定的單元格區域,返回特定行列交叉處單元格值。
重點:如果區域為一行或者一列的時候,後面只需使用一個引數即可,這個引數,就是區域中的第幾行,或者第幾列,也就是說,這個時候,函式只需要兩個引數。如果是區域,就需要透過行數值和列數值,來確定取值的單元格位置,這時候,函式就需要三個引數。
MATCH
函式功能,返回符合特定值在陣列中的位置。
重點:區域只能是一行或者一列。
本案例中的組合運用,I
NDEX
函式透過M
ATCH
函式提供的數值,從而確定要查詢匹配的值所在的位置,返回單元格中的值。