如何快速排查並解決VLOOKUP查詢結果的報錯

眾所周知,VLOOKUP是EXCEL中非常經典的查詢函式之一。

       

VLOOKUP官方版本說明

我們經常會用到他幫助匹配兩張表的資料,尤其是在資料量非常龐大的時候,只要寫下一個標準格式公式,按下回車,腦子都不用動一動,就能夠輕輕鬆鬆讓計算機自動完成工作了。

然而,儘管大多數情況下,VLOOKUP都能幫我們順利完成工作,但偶爾也會罷工。明明公式很正確,但就是顯示錯誤。看著螢幕上的結果——"#N/A"——相當鬧心。

真是讓人又愛又恨的函式。

怎樣才能快速排查掉VLOOKUP的錯誤?

一般錯誤出現在在兩方面:

  1. 引數設定錯誤
  2. 關鍵字錯誤

下面將以這位名叫32135兄弟(臨時暱稱小三)的典型性案例,一步一步進行說明排查步驟。

小三有兩張表,其中表1有資料200行,表2資料有800行。

       

匹配兩張表

他想根據關鍵字A列,將表2連線到表1中,試了很多次,始終不成功,顯示N/A報錯,問題在哪裡?

第一步:檢查公式引數設定是否正確

       

vlookup官方用法說明

根據office官方給出的VLOOKUP函式使用說明,概括引數設定如下:

而小三兄弟的公式為:

VLOOKUP(A2,'[表2.xlsx]Sheet1'!$1:$800,2)

觀察引數設定:

我們發現標紅底白色的兩部分,有兩處並未按照要求進行設定。

  • 錯誤一:

資料區域單元格地址,只指定了行號,並沒有指定列號,所以系統會認為指定區域不明確,拒絕執行公式運算,因此會報錯;

表哥Tips:

如果資料區域沒有指定行號,但是指定了列號,系統會預設為在指定列數內從第一行到最後一行全部都是指定區域。可以執行公式運算。

  • 錯誤二:

根據案例的要求,需要精確匹配關鍵字,所以要設定為精確匹配引數”FALSE”。

於是將公式修改為:

VLOOKUP(A2,'[表2.xlsx]Sheet1$A'!$1:$A$800,2,FALSE)

如果公式和連結的表名都是正確的,如果仍然報錯N/A,怎麼辦呢?

第二步:檢查兩張表關鍵字列是否一致

檢查兩個方面:一是檢查關鍵字的內容,二是檢查關鍵字的格式

  • 檢查一:是否只有個別關鍵字無法匹配

具體做法是,下拉填充全部公式。

如果其他行可匹配,則說明此項在表2中無相關匹配項,需要去補充表2的資料;

如果全部都匹配不上顯示"#N/A",則說明關鍵字兩邊不一致,需要人工複查資料,調整關鍵字保持一致。

觀察表1,儘管有大部分顯示"#N/A",但仍然有個別行是可以從表2匹配進來的。小三人工檢查過,那些沒有匹配進來的專案,在表2中確實是可以找到相關資料的。

所以不需要對錶2進行補充。

為何關鍵字沒有錯,卻仍然找不到匹配項?

  • 檢查二:是否兩張表關鍵字格式不同

經瞭解,原來表1紅圈圈中匹配過來的資料,是由於小三無意識的操作。

他以為是關鍵字兩邊不匹配,所以從表1複製了關鍵字到表2,敲了一下回車鍵,就自動匹配到了表1中。

難道真的是關鍵字內容不同嗎?

當然不。聰明的你看到標題也猜到是格式的問題。

沒錯,正是兩張表關鍵字的格式不一致,才是造成表2無法匹配到表1真正原因。

觀察表2的關鍵字列,會發現在每個單元格左上角有一個綠色的小三角,而觀察表1是沒有的。有綠色三角的單元格是文字格式,無法參與計算。因此,要將表2的關鍵字單元格改為數值形式。

你是不是以為接下來做的是"全選第一列,調整單元格格式為數值形式"?

如果你是這樣想,結果會令人失望的。

常規修改格式的辦法,並不能解決這個問題。

剛才在上面提到,小三無意中,複製了一個單元格進來,敲了回車,轉換成了數值,就可以運算了。

一共800行,難道要一個個複製敲回車嗎?

亞!美!爹!

(碼字累了,請允許表哥皮一下O(∩_∩)O~)

       

感嘆號快速轉換文字為數值

因為沒有原表,所以表哥自己做個小例子示意。

選中需要修改格式的關鍵字單元格區域(注意不是全選),會出現黃底黑色感嘆號,點選旁邊下拉三角,選擇"轉換為數字",即可瞬間批量修正。

表哥Tips:

在感嘆號中修改是最快捷的修改格式的方法。也可採用以往文章講的提取數字的方法解決。

以上就是VLOOKUP排查錯誤的步驟和方法。

你學會了嗎?

↖(^ω^)↗撒花