本主題描述最常見的「#N/A 錯誤」出現原因,通常是因為 INDEX 或 MATCH 函數。
注意
如果你想讓 INDEX 或 MATCH 函式回傳有意義的值,而不是 #N/A,請使用 IFERROR 函式,然後將 INDEX 和 MATCH 函式巢狀在該函式中。 用你自己的值替換 #N/A 只會識別錯誤,但無法解決它。 因此,在使用 IFERROR 之前,務必確保公式是否如你所願運作。
問題:沒有數據可以匹配
當 MATCH 函式在查找陣列中找不到查詢值時,會回傳 #N/A 錯誤。
如果您認為資料存在試算表中,但 MATCH 無法找到,可能是因為:
- 牢房裡有意想不到的角色或隱藏空間。
- 該儲存格可能未被格式化為正確的資料型別。 例如,儲存格有數值,但格式可能為 文字。
解決方案:要移除意外字元或隱藏空格,分別使用 CLEAN 或 TRIM 函數。 另外,請確認儲存格的格式是否正確。
你使用陣列公式時沒有按 Ctrl+Shift+Enter
當你在 INDEX、MATCH 或這兩個功能組合中使用陣列時,必須按下鍵盤上的 Ctrl+Shift+Enter。 Excel 會自動將公式包裹在大括 {}號內。 如果你自己輸入括號,Excel 會把公式顯示成文字。
注意
如果你有目前版本的 Microsoft 365,只要在輸出儲存格輸入公式,然後按 ENTER 確認公式是否為動態陣列公式。 否則,必須先選擇輸出範圍,輸入該公式,然後按 CTRL+SHIFT+ENTER 確認,作為傳統陣列公式。 Excel 會為您在公式的開頭和結尾處插入大括號。 如需有關陣列公式的詳細資訊,請參閱陣列公式的規則和範例。
問題:配對類型與資料排序順序存在不一致
使用 MATCH 時, match_type 參數的值與查找陣列中值的排序順序應該保持一致。 如果語法偏離以下規則,你就會看到 #N/A 錯誤。
- 如果 match_type 為1或未指定, lookup_array 中的數值應依升序排列。 例如,-2、-1、0、1、2...、A、B、C...、假、真,僅舉幾例。
- 若 match_type 為 - 1,lookup_array 中的值應依降序排列。
以下範例中, MATCH 函數為
=比賽 (40,B2:B10,-1)
語法中的 match_type 參數設為 -1,表示 B2:B10 中值的順序應該是降序,公式才會有效。 但這些數值是從高到低的,這會導致 #N/A 錯誤。
解決方案: 要麼將 match_type 參數改為 1,要麼將表格以降序排序。 然後再試一次。
需要更多協助嗎?
你隨時可以向 Excel 技術社群 的專家詢問,或在 社群中獲得支援。