本主題說明「#N/A 錯誤」出現最常見的原因是 INDEXMATCH 函數的結果。
 

附註: 如果您希望 INDEXMATCH 函數能夠返回有意義的值,而不是 #N/A,請使用 IFERROR 函數,然後將 INDEXMATCH 函數巢中嵌套到該函數中。 將 #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引數中的值與 lookup 陣列中值的排序次序應該一致。 如果語法與下列規則不同,則會看到#N/A 錯誤。

  • 如果 match_type 為 1 或未指定,lookup_array中的值 應該 會以遞增順序顯示。 例如,-2、-1、0、1、2...、A、B、C...、FALSE、TRUE 等等。

  • 如果 match_type 為 -1,lookup_array 中的值 應該會以遞減順序顯示。

在下列範例中 ,MATCH 函數為

=MATCH (40,B2:B10,-1)

Excel match 函數

語法 match_type 引數設為 -1,這表示 B2:B10 中的值順序應該會以遞減順序顯示,公式才能工作。 但值是遞增順序,這會造成#N/A 錯誤。

解決 方案: 將 match_type引數變更 1,或以遞減格式排序表格。 然後再試一次。

需要更多協助嗎?

您可以隨時詢問 Excel 技術社群中的專家,或是在 Answers 社群取得支援。

另請參閱

如何修正 #N/A 錯誤

如何在工作表中使用多個準則的 INDEX 和 MATCH 工作表Excel

INDEX 函數

MATCH 函數

Excel 公式概觀

如何避免公式出錯

偵測公式中的錯誤

所有Excel函數 (字母)

所有 Excel 函數 (依類別)

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×