Google Sheet 的 MATCH 函數 是用來在範圍中查找特定值的位置(列號或欄號)。它經常搭配 INDEX 函數 使用,形成靈活的查找工具。
MATCH 函數語法
=MATCH(搜尋鍵, 搜尋範圍, [比對類型])
參數說明
1. 搜尋值(search_key):
• 您想尋找的值,可以是數字、文字、日期或邏輯值(例如 TRUE)。
• 例如:50 或 “產品名稱”。
2. 搜尋範圍(range):
• 包含搜尋值的範圍,可以是一列或一欄。
• 例如:A1:A10 或 B1:B10。
3. 比對類型(match_type):
• 控制搜尋方式,預設為 1。
• 1:小於或等於搜尋鍵的最大值,範圍必須按升序排序。
• 0:精確匹配(不需要排序)。
• -1:大於或等於搜尋值的最小值,範圍必須按降序排序。
基本範例
範例 1:精確匹配
=MATCH(100, A1:A10, 0)
• 搜尋值:100
• 搜尋範圍:A1:A10 ( 因為是A欄,所以傳回值為第n列 )
• 比對類型:0(精確匹配)
• 結果:傳回 100 在範圍中的行號。例如,如果 100 位於 A5,結果為 5。
範例 2:升序排序的近似匹配
=MATCH(90, A1:A10, 1)
• 搜尋值:90
• 搜尋範圍:A1:A10(需升序排列)
• 比對類型:1(小於或等於 90 的最大值)
• 結果:如果範圍中有數值小於等於 90(如 80 位於 A4),返回 4。
範例 3:降序排序的近似匹配
=MATCH(90, A1:A10, -1)
• 搜尋值:90
• 搜尋範圍:A1:A10(需降序排列)
• 比對類型:-1(大於或等於 90 的最小值)
• 結果:如果範圍中有數值大於等於 90(如 95 位於 A3),返回 3。
進階應用
範例 4:結合 INDEX 函數
查找對應值
=INDEX(B1:B10, MATCH("產品甲", A1:A10, 0))
• MATCH 部分:尋找 A1:A10 中 “產品甲” 的位置,例如在A5,傳回5。
• INDEX 部分:根據該位置,傳回 B1:B10 中的相應值,也就是B5的值。
作用
• 如果 “產品A” 位於 A5,MATCH 傳回 5,INDEX 傳回 B5 的值。
範例 5:查找最接近的數值
=MATCH(55, A1:A10, 1)
• 作用:在升序範圍中,傳回小於或等於 55 的最大值的位置。
範例 6:配合動態範圍
找最後一個非空白值的位置
=MATCH(9^9, A1:A100, 1)
• 搜尋值:9^9(非常大的數字,確保匹配到範圍內的最後值)。
• 結果:返回範圍內最後一個非空白儲存格的位置。
範例 7:錯誤處理
當搜尋鍵不存在時,MATCH 會返回錯誤。可使用 IFERROR 處理:
=IFERROR(MATCH("產品B", A1:A10, 0), "未找到")
• 作用:如果 “產品B” 在範圍中找不到,傳回 「未找到」。
常見問題
1. 搜尋範圍是否需要排序?
• 比對類型為 0 時,不需要排序。
• 比對類型為 1 或 -1 時,範圍必須按升序或降序排列。
2. 可否尋找部分文字?
• MATCH 只支援完整匹配,若需部分匹配,可使用 SEARCH 或 FIND 函數搭配。