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")。