以下是对 Excel中实现一对多匹配方法的详细说明:
如下图,左边是人事档案数据,每个部门有多名员工,需要根据部门一个条件,把所有的员工给匹配出来。这就是典型的一对多匹配,我们分享介绍VLOOKUP公式方法,以及新版本支持的公式法。
一、VLOOKUP公式方法
1、创建辅助列:
建立辅助列的目的是为了生成唯一的数据列,以便后续使用 VLOOKUP 函数进行查找。公式 “=B2&COUNTIFS ($B$2:B2,B2)” 中,COUNTIFS 函数用于统计从 B2 开始到当前单元格这个范围内,与当前单元格所在部门相同的数量。将部门名称和这个数量连接起来,就得到了唯一的数据列。
注意 COUNTIFS 函数的第一参数 B2 需要固定引用,确保在下拉填充公式时统计范围始终从 B2 开始。
2、使用 VLOOKUP 函数进行查找:
公式 “=VLOOKUP (E2&{1,2,3},A:C,3,0)” 中,将查找值 E2(部门名称)与数字 1、2、3 分别连接起来,形成多个查找值。在 A:C 这个数据区域中查找对应的结果,返回第三列(员工姓名列)的数据。参数 0 表示精确查找。
为了屏蔽错误值,使用 IFERROR 函数,公式变为 “=IFERROR (VLOOKUP (E2&{1,2,3},A:C,3,0),"")”。如果 VLOOKUP 函数查找不到结果时,显示为空字符串。
二、FILTER公式方法
1、理解底层逻辑:
FILTER 函数的底层逻辑类似于筛选功能。根据指定的筛选条件,从数据区域中筛选出符合条件的结果。
例如,想查找市场部的员工时,手动筛选 A 列数据为市场部,B 列的结果就是想要的员工姓名。
2、使用 FILTER 函数:
公式 “=FILTER (B:B,A:A="市场部")” 中,筛选结果是 B 列(员工姓名列),筛选条件是 A 列等于 “市场部”。这样就可以得到市场部的所有员工姓名。
3、动态条件和转置结果:
可以将条件值改成单元格内容,如 “=FILTER (B:B,A:A=D2)”,其中 D2 是存放部门名称的单元格。这样可以根据不同的部门名称动态地获取员工姓名。
为了将结果横向显示,可以加上转置公式 “=TRANSPOSE (FILTER (B:B,A:A=D2))”。
三、TOROW 公式方法
公式组成和作用:
公式 “=TOROW (IF (A:A=D2,B:B,NA ()),3)” 中,首先看 IF 函数部分。IF (A:A=D2,B:B,NA ()) 表示如果 A 列的数据等于 D2 中的部门名称,就返回 B 列对应位置的员工姓名,否则返回错误值 NA ()。
TOROW 函数将数组区域的内容转换成一行显示。当第二参数填写 3 时,它会忽略掉错误值,只显示符合条件的员工姓名。
在 Excel 中实现一对多匹配有多种方法。VLOOKUP 公式虽然需要借助辅助列,但对于熟悉该函数的用户来说可能比较容易上手。FILTER 函数和 TOROW 函数是新版本中提供的简洁高效的方法,能够快速地根据条件筛选出所需的数据。通过掌握这些方法,用户可以根据实际情况选择最合适的方式来处理数据,提高工作效率。自己动手试试这些方法,能更好地掌握它们在实际工作中的应用。
评论 (0)