MATCH 函數

MATCH 函數會搜尋儲存格範圍中的指定項目,並傳回該項目於該範圍中的相對位置。例如,若範圍 A1:A3 中含有值 5、25 及 38,則公式 =MATCH(25,A1:A3,0) 會傳回數字 2,因為 25 是範圍中的第二個項目。

您的瀏覽器不支援視訊。 安裝 Microsoft Silverlight、Adobe Flash Player 或 Internet Explorer 9。

提示: 當您需要的是項目在範圍內的位置而不是項目本身,請使用 MATCH 函數,而不要使用其中一個 LOOKUP 函數。例如,您可以使用 MATCH 函數為 INDEX 函數的 row_num 引數提供值。

語法

MATCH(lookup_value, lookup_array, [match_type])

MATCH 函數語法具有下列引數:

  • lookup_value    必要。這是要在 lookup_array 中比對的值。例如,當您在通訊錄中查閱某個人的號碼時,您是以那個人的姓名作為查閱值,但是電話號碼才是您要的值。

    lookup_value 引數可以是一值 (數字、文字或邏輯值),也可以是數字、文字或邏輯值的儲存格參照。

  • lookup_array    必要。這是要搜尋的儲存格範圍。

  • match_type    選擇性。數字 -1、0 或 1。match_type 引數會指定 Excel 如何將 lookup_valuelookup_array 中的值相比對。這個引數的預設值是 1。

    下表將描述該函數如何根據 match_type 引數的設定來尋找值。

Match_type

行為

1 或省略

MATCH 會尋找小於或等於 lookup_value 的最大值。lookup_array 引數內的值必須以遞增次序排列,例如:...-2,-1,0,1,2, ...,A-Z,FALSE,TRUE。

0

MATCH 會尋找完全等於 lookup_value 的第一個值。lookup_array 引數內的值可以依任意次序排列。

-1

MATCH 會尋找大於或等於 lookup_value 的最小值。lookup_array 引數內的值必須以遞減次序排列,例如:TRUE,FALSE,Z-A,...2,1,0,-1,-2,...,依此類推。

  • MATCH 會傳回 lookup_array 內相符值的位置,而非值本身。例如,MATCH("b",{"a","b","c"},0) 會傳回 2,這是陣列 {"a","b","c"} 內 "b" 的相對位置。

  • MATCH 函數在比較文字值時,字母不會區分大小寫。

  • 如果 MATCH 函數無法找到符合的項目,則傳回 #N/A 錯誤值。

  • 如果 match_type 為 0 且 lookup_value 是文字字串,則可以在 lookup_value 引數中使用萬用字元 :問號 (?) 及星號(*) 。問號可比對任一字元;星號可比對任一連續的字元。如果要尋找實際的問號或星號,請在該字元前輸入波狀符號 (~)。

範例

請在下列表格中複製範例資料,再將之貼到新 Excel 活頁簿中的儲存格 A1。若要讓公式顯示結果,請選取公式,按 F2,然後再按 Enter。如有需要,您可以調整欄寬來查看所有資料。

產品

項目個數

香蕉

25

柑橘

38

蘋果

40

梨子

41

公式

描述

結果

=MATCH(39,B2:B5,1)

因為沒有完全符合的項目,所以會傳回範圍 B2:B5 中下一個最小值 (38) 的位置。

2

=MATCH(41,B2:B5,0)

範圍 B2:B5 中,值為 41 的位置。

4

=MATCH(40,B2:B5,-1)

因為範圍 B2:B5 內的值不是依遞減順序排列,所以會傳回錯誤。

#N/A

請參閱

VLOOKUP 函數

INDEX 函數

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×