說明
使用此函式在單元格範圍中搜尋指定的項目,並傳回該項目在該範圍中的行號。鏈結中支援。
這個函式用來找出列表或資料表中特定值的行號。
語法
MATCH(lookup_value, lookup_array, [match_type])
輸入
此函式接受下列參數
| 名稱 | 必要 | 說明 | 有效輸入 |
|---|---|---|---|
lookup_value |
是 | 您要在 lookup_array 中尋找的值。 | 一個儲存格引用、一個儲存格範圍、一個數字、一個文字字串,或一個會產生上述任何結果的公式。 |
查詢陣列 |
是 | 要搜尋的儲存格範圍。 | 包含可能查找值的儲存格範圍。 |
match_type |
沒有 | 指定 Excel 如何將 lookup_value 與 lookup_array 中的值相匹配。 | 1 (匹配小於或等於lookup_value 的最大值 )0 (正好匹配第一個值 匹配 lookup_value-1 (匹配大於或等於 lookup_value 的最小值 )如果省略,預設為 1。 |
範例
範例資料
| A | B | |
|---|---|---|
| 1 | 10 | Apple |
| 2 | 20 | Banana |
| 3 | 30 | 櫻桃 |
| 4 | 40 | 日期 |
公式範例
| 使用案例 | 公式 | 說明與結果 |
|---|---|---|
| 尋找一個精確值在列表中的相對位置。 | =MATCH(30,A1:A4,0) |
此公式的工作方式如下:
對於此資料集,此公式返回3 。 |
| 尋找文字串在清單中的相對位置。 | =MATCH("Cherry",B1:B4,0) |
此公式的工作方式如下:
對於此資料集,公式設定返回3 。 |
| 尋找小於或等於排序清單中查詢值的最大值的相對位置。 | =MATCH(25,A1:A4,1) |
此公式的工作方式如下:
對於此資料集,此公式會返回2 。 |
| 按字母順序尋找小於或等於指定值的最後一個值。 | =MATCH("D",B1:B4,1) |
此公式的工作方式如下:
對於此資料集,此公式會返回3 。 |
| 尋找在排序清單中大於或等於查詢值的最小值的相對位置。 | =MATCH(15,A1:A4,-1) |
此公式的工作方式如下:
對於此資料集,此公式會返回#N/A 。 |
| 尋找一列中最後的數值。 | =match(9.9e+307, b:b) |
此公式的工作方式如下:
對於此資料集,公式會回傳錯誤#N/A 。 |
| 回報一列中最後一個數字儲存格的值。 | =index(b:b, match(9.9e+307, b:b)) |
此公式的工作方式如下:
對於此資料集,公式返回#N/A 。 |
附註
- MATCH 以數字形式返回找到的項的位置。
- 如果 match_type 為 0,MATCH 會找到第一個完全相等於
lookup_value的值。 - 如果 lookup_array 沒有依照預期排序,MATCH 可能會傳回不正確的結果,而不會有任何錯誤指示。這是因為函式一旦找到滿足條件的值,就會立即停止搜尋,並假設由於預期的排序,不會有更好的匹配結果。如果您不確定資料的排序,使用 "0" (完全匹配) 作為
match_type,或在使用 MATCH 前明確排序資料會比較安全。- 如果 match_type 為 1,MATCH 會找出小於或等於
lookup_value的最大值。lookup_array 必須以升序排列。 - 如果 match_type 為 -1,MATCH 會找出大於或等於
lookup_value的最小值。lookup_array 必須以降序排列。
- 如果 match_type 為 1,MATCH 會找出小於或等於
- 如果 MATCH 找不到匹配,它會返回 #N/A 錯誤。
- MATCH 不區分大小寫。
提示
- 如果您沒有得到預期的結果,請檢查您的
lookup_array是否針對指定的match_type正確排序。 - 您可以將 MATCH 與INDEX 搭配使用,以建立比VLOOKUP 更為靈活的強大查詢公式。 使用 INDEX-MATCH 創建彈性查尋 頁面提供了一個範例。
- 您可以將 MATCH 與其他函數結合,例如MIN,MAX, 或AVERAGE ,以尋找特定值在範圍中的位置。