今天想和你分享一个超实用的Excel小技巧——如何进行多对一查询。

这在我们日常处理数据时,特别是当遇到重名情况时,简直就是救星啊!

你有一个包含员工姓名和部门的表格,现在你想通过姓名来查找员工所属的部门。

但是,如果表格中有重名的员工怎么办?

Excel多对一查询,重名难题轻松化解!太快了-趣帮office教程网

一,我们要用到Excel中的IF函数。

这个函数就它能帮助我们判断某个条件是否成立。

在这个场景中,我们的条件就是“姓名是否匹配”。

输入公式:

=IF(B2:G5=I2,A2:A5,"不是")

Excel多对一查询,重名难题轻松化解!太快了-趣帮office教程网

选择包含姓名的区域(B2:G5),并使用等号(=)与我们要查找的特定姓名“孔老三”进行比较。

如果条件找到孔老三的部门,就返回相对应的部门,否则显示“不是”。

输入公式后按回车后:

因为数组的运算是进行一对一比较,所以会出现如下的图中内容:

Excel多对一查询,重名难题轻松化解!太快了-趣帮office教程网

IF函数中使用数组(B2:G5)作为条件,判断B2:G5区域中的每个单元格是否等于I2单元格的值,并基于这个条件从数组A2:A5返回相应的值。

有关数组的运算,请看我这篇文章:

二维数组的运算

现在我们把IF函数公式改一下,把“不是”用空格代替,写“不是”我是为了让你观看直观些。

=IF(B2:G5=I2,A2:A5," ")

接下来对IF函数里的区域进行锁定:

=IF($B$2:$G$5=I2,$A$2:$A$5," ")

Excel多对一查询,重名难题轻松化解!太快了-趣帮office教程网

二、使用TEXTJOIN函数连接匹配的部门信息

由于IF函数不能直接返回区域值,我们需要使用TEXTJOIN函数来将匹配的部门信息连接起来。输入公式:

=TEXTJOIN(" ",TRUE,IF($B$2:$G$5=I2,$A$2:$A$5,""))

Excel多对一查询,重名难题轻松化解!太快了-趣帮office教程网

第一参数:空格作为分隔符,以便将多个部门信息分隔开。

第二参数:选择忽略空的单元格(TRUE),以确保结果中不包含空值。

第三参数:我们需要连接的IF函数找到的数组。

将公式向下填充到其他单元格中,以便查询其他姓名对应的部门信息。

如果有重名的员工,他们的部门信息将被一起返回。

三、总结

通过结合使用IF函数和TEXTJOIN函数,我们可以轻松地在Excel中进行多对一查询,并处理重名的情况。