如何更正 VLOOKUP 函數中的 #N/A 錯誤


如何更正 VLOOKUP 函數中的 #N/A 錯誤

本主題介紹函數的錯誤結果的最常見的VLOOKUP原因,並提供改用INDEX和MATCH的建議。

提示: 另外,請參閱課程摘要卡: VLOOKUP 疑難解答提示,可在方便的 PDF 文件中呈現 #NA 問題的常見原因。 可與他人共享該 PDF 或將其打印出來供自己參考。

問題:查閱值不在 table_array 參數的第一列中。

VLOOKUP 的一個約束是它只能在表數組中最左側的列上查找值。 如果您的查閱值不在數組的第一列中,您將看到 #N/A 錯誤。

下表中,我們要檢索 Kale 的銷售量。

N/A 錯誤,因為 lookup 值"Kale"顯示在table_array參數 A2: C10 的第二列(農產品)中。

在這種情況下,Excel 將在列 A 中查找它,而不是列 B。

解決方案:可以通過調整 VLOOKUP,使其引用正確的列來嘗試解決此問題。 如果不可能,請嘗試移動您的欄。 這也可能是高度 impracticable 的,如果您有大型或復雜的電子表格,其中單元格值是其他計算的結果,或者您不能在周圍移動列的其他邏輯原因。 解決方法是結合使用 INDEX 和 MATCH 函數,這樣可以搜索查找表中任何位置的列中的值。 請參閱下一節。

請考慮改為使用 INDEX/MATCH

當 VLOOKUP 不能滿足您的需要時,索引和匹配是很好的選擇。 INDEX/MATCH 的關鍵優點是,您可以在查閱表中的任何位置的列中查找值。 INDEX 根據其位置從指定的表/區域中返回值。 MATCH 返回表/區域中值的相對位置。 在公式中使用 INDEX 和 MATCH,通過指定表/數組中的值的相對位置來查找表/數組中的值。

使用 INDEX/MATCH (而不是 VLOOKUP)有多種好處:

  • 通過 INDEX 和 MATCH,返回值不必與查閱列在同一列中。 這與 VLOOKUP 不同,后者中的返回值必須位於指定范圍內。 這種差別有何影響? 使用 VLOOKUP 時,必須知道返回值所在的列號。 雖然這看起來可能不太難,但當你有一個大型表並且必須對列數進行計數時,這可能會很麻煩。 此外,如果在表中添加/刪除列,則必須重新統計並更新col_index_num參數。 使用 INDEX 和 MATCH 時,查閱列和包含返回值的列不同,因此無需計算。

  • 使用 "索引和匹配",你可以在數組中指定一行或一列,或者同時指定二者。 這意味着可以同時在水平方向和垂直方向上查找值。

  • 可以使用 INDEX 和 MATCH 查找任何列中的值。 與 VLOOKUP 不同,在這種情況下,你只能在表的第一列中查找值,如果你的查閱值位於第一個列、最后一個或中間的任意位置,則索引和匹配將起作用。

  • "索引和匹配" 提供了對包含返回值的列進行動態引用的靈活性。 這意味着您可以將列添加到表中,而不會中斷索引和匹配。 另一方面,如果需要向表中添加列,則 VLOOKUP 中斷,因為它會對表進行靜態引用。

  • 索引和匹配通過匹配提供更大的靈活性。索引和匹配可以找到完全匹配的值,或大於或小於查找值的值。 使用 VLOOKUP 只能查找與某值最接近(默認情況下)或完全匹配的值。 VLOOKUP 還默認假定表格數組中的第一列按字母順序排序,如果表格不是按這種方式設置的,VLOOKUP 將返回表中第一個最接近的匹配項,而這可能並不是你要查找的數據。

如何優化找不到數據 #N/A 錯誤

N/A 錯誤通常表示公式找不到要求查找的內容。

熱門解決方案

VLOOKUP、HLOOKUP、LOOKUP 或 MATCH 函數的 #N/A 錯誤的最常見原因是公式找不到引用值。
例如,源數據中不存在查閱值。

在此情況下,查閱表格中未列有“香蕉”,因此 VLOOKUP 返回 #N/A 錯誤。

解決方案:
可確保源數據中存在查閱值,或在公式中使用 IFERROR 等錯誤處理程序。
例如,=IFERROR(FORMULA(),0),即:

  • = IF(公式求值錯誤,顯示 0,其他情況顯示公式的結果)

可使用“”不顯示內容,或替換你自己的文本:=IFERROR(FORMULA(),”Error Message here”)

結尾

事后分析這么"簡單"的一個問題,我們3個Excel文盲,每個人搞了半個小時都沒搞定...
仔細回想一下,為什么會出現這樣的結果?

1.覺的太簡單了.
以至於,我們還是覺得,隨便搜索一個答案,
復制一個公式,改一下參數,就ok了...
答案搜索到了,公式復制過來了,但是我們用的時候確總是提示=>"#N/A"

2.不夠細心,抄錯了答案
搜索出來了答案,答案也提到了這個規則,
"#N/A 錯誤,因為 lookup 值"Kale"顯示在table_array參數 A2: C10 的第二列(農產品)中。 "

VLOOKUP函數用於搜索指定區域內首列滿足條件的元素...

還是要仔細閱讀答案,好好抄答案.
如果非要想一下,為什么抄答案都這么不仔細,可能還要回歸到上一個原因上,
覺得太簡單了,覺得抄一個公式就行了.

如果非要吐槽一下答案的話,
這個答案將一個重要的規則,一言帶過...
最好最后列出幾項,注意事項.
比如:
注意事項

  • 匹配內容書寫錯誤
  • 使用的數據源區域錯誤;如果存在此分享中下拉情況,請使用$(shift+4)進行鎖定:檢查數據源是否有絕對引用
  • ...

更糟心的是,搜索出答案"excel中vlookup函數結果出現#n/a的解決辦法",也沒有提到這個規則.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM