Excel 在线练习题 / 查找与引用

查询扫描进来、格式脏掉的 SKU(TRIM + UPPER)

中等 查找与引用
题目说明
提示 0/4
官方解法 2
–
测试用例
1
2
3
重置
提交
fx
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
正在加载交互式电子表格...
正在准备单元格数据与公式求解引擎
○ 就绪 请在高亮的目标单元格输入公式,然后点「提交」。

题目

题目说明

条码扫描器写进来的 SKU 带前后空格、大小写也不对,所以 E1 是 sku-103 ,而 A2:C6 的价目表存的是干净的大写键。把这个扫描码的价格填进 Price 单元格 E2,查不到时显示 "Not found"。

在公式里清理扫描码——不要改 E1,也不要加辅助列。

题目数据

用表格查看整份数据(可选中、可复制)
这道题的数据表
ABCDE
1SKUProductPriceScanned SKU sku-103
2SKU-101Keyboard49Price
3SKU-102Mouse19.5
4SKU-103Monitor24.99
5SKU-104Dock89
6SKU-105Cable12.5

知识点

TRIM 去掉前后空格、UPPER 统一大小写,清理后的键才对得上表。XLOOKUP 的第四个参数就是「找不到时的返回值」,不必再包 IFERROR;INDEX + MATCH 则要靠 IFERROR 达到同样效果。

解题思路

答案写在 E2。提交时我们会换 3 组输入重跑你的公式,写死数字一定过不了 —— 公式必须跟着单元格走。

  1. 目标单元格是 E2
  2. 先清理查找键:TRIM(UPPER(E1))
  3. XLOOKUP 的第四个参数是找不到时要返回什么
  4. 公式形状:=XLOOKUP(?, ?, ?, ?)

官方解法

展开 2 种解法(建议先自己试一次)

解法 1:XLOOKUP 搭配清理后的键与默认值

=XLOOKUP(TRIM(UPPER(E1)), A2:A6, C2:C6, "Not found")

TRIM(UPPER(" sku-103 ")) 得到 "SKU-103",对上 A4,于是 XLOOKUP 返回 C4 的 24.99。查不到时第四个参数返回 "Not found",而不是 #N/A。

解法 2:INDEX + MATCH 外包 IFERROR

=IFERROR(INDEX(C2:C6, MATCH(TRIM(UPPER(E1)), A2:A6, 0)), "Not found")

同样先清理:MATCH 找出第几行、INDEX 取价格,找不到时由 IFERROR 补上默认值——也就是 XLOOKUP 用参数做到的那件事。

函数指南

相关 Excel 练习

常见问题

两个值看起来一样,查找却失败?

通常是看不见的空格或大小写:"SKU-103" 与 " sku-103 " 是不同的字符串。比较前用 TRIM 与 UPPER 清理。

怎么不显示 #N/A,改成友好提示?

XLOOKUP 的第四个参数就是默认值:=XLOOKUP(键, 键区域, 值区域, "Not found")。INDEX + MATCH 则用 IFERROR 包起来。