MATCH
描述
在指定列表(一维数组)中查找值,并返回值的位置。您可以匹配数值、逻辑值或文本字符串。对于文本字符串,您可以匹配模式:使用星号 (*) 匹配任意数量的字符;使用问号 (?) 来匹配任意单个字符。
语法
MATCH(
lookup_value
,
lookup_array
, [
match_type
])
- lookup_value:要查找的值。
- lookup_array:要搜索的数组。
- match_type:指定搜索时要使用的条件。
- 1 或空 = 查找小于或等于的最大值lookup_value。lookup_array数据必须按升序排序。默认值为 1。
- 0 = 查找与“”完全匹配lookup_value。对于文本字符串,您可以使用星号 (*) 和问号 (?) 字符来匹配模式。
- -1 = 查找大于或等于的最小值lookup_value。lookup_array数据必须按降序排序。
示例
示例基于以下工作簿:
A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
1 | 主管组织
| 成本中心
| 公司
| 地点
| 2017 年 1 月(人员编制)
| 2017 年 2 月(人员编制)
| 2017 年 3 月(人员编制)
| 键
|
2 | Finance | CC-1 Finance | GMS | Pleasanton | 2 | 2 | 2 | FinanceCC-1 FinanceGMSPleasanton |
3 | Product Management | CC-2 Product | GMS | Boulder | 0 | 1 | 2 | Product ManagementCC-2 ProductGMSBoulder |
4 | Development | CC-3 Development | GMS-CA | Toronto | 2 | 2 | 2 | DevelopmentCC-3 DevelopmentGMS-CAToronto |
5 | Sales | CC-4 Sales | GMS-UK | London | 1 | 2 | 3 | SalesCC-4 SalesGMS-UKLondon |
6 | Sales | CC-4 Sales | GMS-UK | Toronto | 0 | 0 | 1 | SalesCC-4 SalesGMS-UKToronto |
7 | 5 | 7 | 9 |
=MATCH("CC-3 Development",B2:B6)
的结果为 3
。
=MATCH("*Sales*",B2:B6,0)
的结果为 4
。
可以结合使用 MATCH 和 INDEX 函数来返回匹配的值,而不是值的位置。
以下公式:
=INDEX(G2:G6,MATCH("*Sales*",B2:B6,0))
首先,“MATCH”在范围 B2:B6 中搜索字符串“*Sales*”(使用通配符),并返回该值的位置,即
4
。则 INDEX 使用 4
将其作为第二个参数,并返回 G2:G6 中第 4 位的值,即 2
。
注释
- 如果有多个匹配项,此函数会返回第一个匹配项的位置。
- 查找文本模式时的通配符示例:
- 搜索*00可查找以两个零结尾的值。
- 搜索1?5查找所有以 1 开头并以 5 结尾的三位数值。
- 如果要查找的值包含 * 或 ?,请在它们前面添加一个波浪号 (~)。示例:搜索“”~*N/A~*查找文本*N/A*。
- 为获得更好的性能,我们建议尽可能使用 MATCHEXACT 函数而不是 MATCH。
相关函数
MATCHEXACT
MHLOOKUP
MVLOOKUP