XLOOKUP 查不到也不炸(IFERROR)
客服一直輸入已停產的 SKU,每次落空就在價格報表上濺一排 #N/A。請從 A2:C6 查出 E2 的價格,查不到時回傳文字 "Not found" 而不是錯誤。填進 Price 儲存格 F2——這題有兩種解法,其中一種根本不需要 IFERROR。
請使用儲存格參照撰寫公式,切換測試案例後結果仍應正確。
測試案例
1
2
3
重設
提交
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
○ 就緒 請在反白的目標儲存格輸入公式,然後點「提交」。
測試案例
1
2
3
重設
提交
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
○ 就緒 請在反白的目標儲存格輸入公式,然後點「提交」。
觀念解析
兩種正統解法。經典款:包一層 =IFERROR(XLOOKUP(…), "Not found")。現代款:XLOOKUP 本身有第 4 參數 if_not_found——=XLOOKUP(E2, A2:A6, C2:C6, "Not found") 原生處理落空,不用包裝。讀者都是新版 Excel 時優先用第 4 參數:它只攔截查無資料,IFERROR 則連 #REF! 這種真正的結構性損壞也會一起吞掉。
函數指南
常見問題
怎麼讓 XLOOKUP 查不到時回傳空白而不是 #N/A?
用第 4 參數:=XLOOKUP(E2, A2:A6, C2:C6, "") 落空時回傳看起來空白的儲存格。想顯示訊息就用 =XLOOKUP(E2, A2:A6, C2:C6, "Not found")。
IFERROR 還是 XLOOKUP 的 if_not_found?
新版 Excel 或 Google Sheets 優先用第 4 參數:只攔截查無資料。IFERROR(x, y) 連 #REF!、#VALUE!、#DIV/0! 都會隱藏——方便,但可能掩蓋查無資料絕不會造成的結構損壞。
Google Sheets 的 XLOOKUP 支援 if_not_found 嗎?
支援。Sheets 的 XLOOKUP 有同樣的第 4 參數,=XLOOKUP(E2, A2:A6, C2:C6, "Not found") 完全通用。很舊、沒有 XLOOKUP 的 Excel 版本,改用 =IFERROR(VLOOKUP(…), "Not found")。