本主題說明出現「#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..., FALSE, TRUE, to name a few.
-
如果 match_type 為 - 1,lookup_array 中的值應該會以遞減順序排列。
在下列範例中, MATCH 函數為
=MATCH (40,B2:B10,-1)
語法中的 match_type 自變數設為 -1,這表示 B2:B10 中的值順序應為遞減順序,讓公式運作。 但值是以遞增順序排列,並導致 #N/A 錯誤。
解決方案: 您可以將 match_type 自變數變更為 1,或以遞減格式排序表格。 然後再試一次。
需要更多協助嗎?
您可以隨時詢問 Excel 技術社群中的專家,或在社群中取得支援。