如何修正索引/MATCH 函數中的 #N/A 錯誤

本主題描述 [#N/A 錯誤 "出現的最常見原因,就是INDEXMATCH函數的結果。
 

附註: 如果您希望INDEXMATCH函數傳回有意義的值,而不是 #N/A,請使用IFERROR函數,然後將INDEXMATCH函數嵌套在該函數中。 以您自己的值取代 #N/A 只會識別錯誤,但無法解決。 所以,在使用IFERROR之前,請先確定公式的運作方式與預期正確無誤。

問題:沒有要相符的資料

MATCH函數找不到查閱陣列中的查閱值時,會傳回 #N/a 錯誤。

如果您認為資料出現在試算表中,但 [相符] 無法找出該資料,可能是因為:

  • 儲存格含有非預期的字元或隱藏的空格。

  • 儲存格的格式可能不是正確的資料類型。 例如,儲存格有數值,但可能會格式化為文字
     

解決方案:若要移除非預期的字元或隱藏的空格,請分別使用CLEANTRIM函數。 此外,請確認儲存格的格式設定為正確的資料類型。

您已使用陣列公式,但沒有按 Ctrl + Shift + Enter

當您在INDEXMATCH或這兩個函數的組合中使用陣列時,必須按下鍵盤上的 Ctrl + Shift + Enter。 Excel 會自動將公式括在大括弧 {} 中。 如果您嘗試自行輸入方括弧,Excel 會將公式顯示為文字。

附註: 如果您有目前版本的Microsoft 365,您可以直接在輸出儲存格中輸入公式,然後按enter ,將公式確認為動態陣列公式。 否則,您必須先選取輸出範圍,在輸出儲存格中輸入公式,然後按CTRL + SHIFT + ENTER來確認它,才能將公式輸入為舊版陣列公式。 Excel 會在公式的開頭和結尾插入大括弧。 如需有關陣列公式的詳細資訊,請參閱陣列公式的指導方針和範例

問題:資料的 [相符類型] 和 [排序次序] 中存在不一致的情況

當您使用 [相符] 時, match_type引數中的值以及查閱陣列中值的排序次序應該會有一致性。 如果語法與下列規則不符,您會看到 #N/A 錯誤。

  • 如果match_type是1或未指定, lookup_array中的值應以遞增順序排列。 例如,-2、-1、0、1、2 ...、A、B、C ...、FALSE、"

  • 如果match_type是-1,則lookup_array中的值應以遞減順序排列。

在下列範例中, MATCH函數是

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

excel match 函數

語法中的match_type引數會設定為-1,這表示 B2: B10 中的值順序應以遞減順序顯示公式才能正常運作。 但這些值會以遞增順序出現,而這會導致 #N/A 錯誤。

您可以將match_type引數變更為1,或將表格排序為遞減格式。 然後再試一次。

對特定函數有任何問題嗎?

在 Excel 社群論壇張貼問題

協助我們改進 Excel

您是否有任何關於下一版 Excel 改善方式的建議? 如果有的話,請參閱 Excel User Voice中的主題。

另請參閱

如何修正 #N/A 錯誤

如何在 Excelhttps://support.microsoft.com/en-us/kb/214142中使用索引及符合多個準則的工作表函數

INDEX 函數

MATCH 函數

Excel 中的公式概觀

如何避免公式出錯

偵測公式中的錯誤

所有 Excel 函數(按字母排序)

所有 Excel 函數 (依類別)

附註:  本頁面是經由自動翻譯而成,因此文中可能有文法錯誤或不準確之處。 讓這些內容對您有所幫助是我們的目的。 告訴我們這項資訊是否有幫助? 這裡是供您參考的英文文章

需要更多協助?

增進您的 Office 技巧
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與我們的其中一個 Office 支援專員連絡以深入了解您的意見。

×