跳至主要内容
Workday User Guide
上次更新时间 :2023-06-23
MATCH

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