全部練習題 / 查詢與參照

用商品名稱的一部分查價格(VLOOKUP 萬用字元)

困難 查詢與參照
題目說明
提示 0/4
官方解法 2
–
測試案例
1
2
3
重設
提交
fx
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
正在載入互動式試算表...
正在準備儲存格資料與公式求解引擎
○ 就緒 請在反白的目標儲存格輸入公式,然後點「提交」。

題目

題目說明

POS 匯出的商品名稱很長——Arabica Coffee Beans 1kg——但搜尋框裡永遠只有一個關鍵字。關鍵字在 D2,價目表在 A2:B5。請在 Price 儲存格 F2 寫出公式,讓輸入 Coffee 也能命中第一個名稱含它的商品。

部分比對需要在關鍵字兩側加萬用字元,而且必須用精確比對——若用近似比對(TRUE),星號會被忽略,還會挑到別列。

題目資料

用表格檢視整份資料(可選取、可複製)
這道題的資料表
ABDF
1ProductPriceKeywordPrice
2Arabica Coffee Beans 1kg18Coffee
3Decaf Coffee 500g15
4Green Tea 250g12
5Cold Brew Coffee 1L21

觀念解析

樣式是「拼」出來的:"*" & D2 & "*" 把 Coffee 變成 *Coffee*,就能在名稱中的任何位置命中。萬用字元只在精確比對(FALSE)下有效。若有多列符合,回傳的是由上往下第一個。

解題思路

答案寫在 F2。送出時我們會換 3 組輸入重跑你的公式,寫死數字一定過不了 —— 公式必須跟著儲存格走。

  1. 目標儲存格是 F2
  2. 關鍵字在 D2;名稱在 A2:A5、價格在 B2:B5
  3. 在關鍵字兩側加星號,讓它可以在名稱中間命中
  4. 公式形狀:=VLOOKUP(?, ?, ?, FALSE)——樣式放在第一個參數

官方解法

展開 2 種解法(建議先自己試一次)

解法 1:VLOOKUP 搭配萬用字元樣式

=VLOOKUP("*"&$D$2&"*",$A$2:$B$5,2,FALSE)

星號代表「前面後面都可以有字」,所以 *Coffee* 會命中 Arabica Coffee Beans、Decaf Coffee 與 Cold Brew Coffee。VLOOKUP 取第一個命中的列,再讀第 2 欄。

解法 2:INDEX + MATCH 用同樣的樣式

=INDEX($B$2:$B$5,MATCH("*"&$D$2&"*",$A$2:$A$5,0))

MATCH 也支援萬用字元,而且回傳位置、不受欄號限制。當要取的值在名稱欄左邊時特別好用。

函數指南

相關練習

常見問題

VLOOKUP 可以只比對儲存格裡的一部分嗎?

可以,用萬用字元:把樣式拼成 "*"&關鍵字&"*",並把最後一個參數保持 FALSE(精確比對)。星號代表任意字元,所以關鍵字可以在名稱的任何位置。

為什麼要用 & 拼樣式,而不是直接寫 "*Coffee*"?

寫死關鍵字等於這條公式只會回答一個問題。"*"&D2&"*" 會讀 D2 的內容,同一個公式今天查 Coffee、明天查 Tea(案例 2)。

有多列符合時 VLOOKUP 會回傳哪一列?

由上往下第一個。案例 1 有三個商品含 Coffee,答案是 Arabica 那一列。如果你需要全部符合的結果,VLOOKUP 不是對的工具——那要用 FILTER。