以下是对 Excel中实现一对多匹配方法的详细说明:

如下图,左边是人事档案数据,每个部门有多名员工,需要根据部门一个条件,把所有的员工给匹配出来。这就是典型的一对多匹配,我们分享介绍VLOOKUP公式方法,以及新版本支持的公式法。

Excel中实现一对多匹配的3个方法详解-趣帮office教程网

一、VLOOKUP公式方法

1、创建辅助列:

建立辅助列的目的是为了生成唯一的数据列,以便后续使用 VLOOKUP 函数进行查找。公式 “=B2&COUNTIFS ($B$2:B2,B2)” 中,COUNTIFS 函数用于统计从 B2 开始到当前单元格这个范围内,与当前单元格所在部门相同的数量。将部门名称和这个数量连接起来,就得到了唯一的数据列。

注意 COUNTIFS 函数的第一参数 B2 需要固定引用,确保在下拉填充公式时统计范围始终从 B2 开始。

Excel中实现一对多匹配的3个方法详解-趣帮office教程网

2、使用 VLOOKUP 函数进行查找:

公式 “=VLOOKUP (E2&{1,2,3},A:C,3,0)” 中,将查找值 E2(部门名称)与数字 1、2、3 分别连接起来,形成多个查找值。在 A:C 这个数据区域中查找对应的结果,返回第三列(员工姓名列)的数据。参数 0 表示精确查找。

Excel中实现一对多匹配的3个方法详解-趣帮office教程网

为了屏蔽错误值,使用 IFERROR 函数,公式变为 “=IFERROR (VLOOKUP (E2&{1,2,3},A:C,3,0),"")”。如果 VLOOKUP 函数查找不到结果时,显示为空字符串。 Excel中实现一对多匹配的3个方法详解-趣帮office教程网

二、FILTER公式方法

1、理解底层逻辑:

FILTER 函数的底层逻辑类似于筛选功能。根据指定的筛选条件,从数据区域中筛选出符合条件的结果。

例如,想查找市场部的员工时,手动筛选 A 列数据为市场部,B 列的结果就是想要的员工姓名。

Excel中实现一对多匹配的3个方法详解-趣帮office教程网

2、使用 FILTER 函数:

公式 “=FILTER (B:B,A:A="市场部")” 中,筛选结果是 B 列(员工姓名列),筛选条件是 A 列等于 “市场部”。这样就可以得到市场部的所有员工姓名。

Excel中实现一对多匹配的3个方法详解-趣帮office教程网

3、动态条件和转置结果:

可以将条件值改成单元格内容,如 “=FILTER (B:B,A:A=D2)”,其中 D2 是存放部门名称的单元格。这样可以根据不同的部门名称动态地获取员工姓名。

为了将结果横向显示,可以加上转置公式 “=TRANSPOSE (FILTER (B:B,A:A=D2))”。

Excel中实现一对多匹配的3个方法详解-趣帮office教程网

三、TOROW 公式方法

公式组成和作用:

公式 “=TOROW (IF (A:A=D2,B:B,NA ()),3)” 中,首先看 IF 函数部分。IF (A:A=D2,B:B,NA ()) 表示如果 A 列的数据等于 D2 中的部门名称,就返回 B 列对应位置的员工姓名,否则返回错误值 NA ()。

Excel中实现一对多匹配的3个方法详解-趣帮office教程网

Excel中实现一对多匹配的3个方法详解-趣帮office教程网

TOROW 函数将数组区域的内容转换成一行显示。当第二参数填写 3 时,它会忽略掉错误值,只显示符合条件的员工姓名。

Excel中实现一对多匹配的3个方法详解-趣帮office教程网

在 Excel 中实现一对多匹配有多种方法。VLOOKUP 公式虽然需要借助辅助列,但对于熟悉该函数的用户来说可能比较容易上手。FILTER 函数和 TOROW 函数是新版本中提供的简洁高效的方法,能够快速地根据条件筛选出所需的数据。通过掌握这些方法,用户可以根据实际情况选择最合适的方式来处理数据,提高工作效率。自己动手试试这些方法,能更好地掌握它们在实际工作中的应用。