如何快速排查並解決VLOOKUP查詢結果的報錯
眾所周知,VLOOKUP是EXCEL中非常經典的查詢函式之一。
VLOOKUP官方版本說明
我們經常會用到他幫助匹配兩張表的資料,尤其是在資料量非常龐大的時候,只要寫下一個標準格式公式,按下回車,腦子都不用動一動,就能夠輕輕鬆鬆讓計算機自動完成工作了。
然而,儘管大多數情況下,VLOOKUP都能幫我們順利完成工作,但偶爾也會罷工。明明公式很正確,但就是顯示錯誤。看著螢幕上的結果——"#N/A"——相當鬧心。
真是讓人又愛又恨的函式。
怎樣才能快速排查掉VLOOKUP的錯誤?
一般錯誤出現在在兩方面:
- 引數設定錯誤
- 關鍵字錯誤
下面將以這位名叫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排查錯誤的步驟和方法。
你學會了嗎?
↖(^ω^)↗撒花