MATCH 函數
Applies To
Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel for the web Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2016提示: 請嘗試使用新的 XMATCH 函數,這是一個改良的 MATCH 版本,可朝任何方向運作,並根據預設傳回完全符合的專案,讓使用方式比前置函數更容易且更方便。
MATCH 函數會搜尋儲存格範圍中的指定項目,並傳回該項目於該範圍中的相對位置。 例如,若範圍 A1:A3 中含有值 5、25 及 38,則公式 =MATCH(25,A1:A3,0) 會傳回數字 2,因為 25 是範圍中的第二個項目。
提示: 當您需要的是項目在範圍內的位置而不是項目本身,請使用 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_value 與 lookup_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 |