全部練習題 / 查詢與參照

查詢掃描進來、格式髒掉的 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 用參數做到的那件事。

函數指南

相關練習

常見問題

兩個值看起來一樣,查詢卻失敗?

通常是看不見的空白或大小寫:"SKU-103" 與 " sku-103 " 是不同字串。比較前用 TRIM 與 UPPER 清理。

怎麼不要顯示 #N/A,改成友善提示?

XLOOKUP 的第四個參數就是預設值:=XLOOKUP(鍵, 鍵範圍, 值範圍, "Not found")。INDEX + MATCH 則用 IFERROR 包起來。