Excel整理员工名单时,经常需要把同一部门的多个人名放到一个单元格中。如果逐个部门筛选、复制姓名再粘贴,不仅步骤多,人员变动后还要重新处理。使用TEXTJOIN结合IF,可以直接按照部门自动汇总姓名。

一、按条件合并姓名

假设A列是部门,B列是姓名,D列填写需要查询的部门。在E2输入:

=TEXTJOIN("、",1,IF(A$2:A$9=D2,B$2:B$9,""))

向下填充后,每个部门对应的员工姓名就会自动合并到一个单元格中。

Excel按条件合并姓名怎么做?TEXTJOIN函数实用技巧-趣帮office教程网
按条件合并姓名

二、这个公式是怎么工作的?

整个公式可以拆成两部分。

IF(A$2:A$9=D2,B$2:B$9,"")负责筛选数据:部门与D2一致时返回对应姓名,不符合条件则返回空值。

TEXTJOIN("、",1,...)再把筛选出来的姓名连接起来。第一个参数指定姓名之间使用顿号分隔,第二个参数为1,表示忽略空白内容。因此,IF负责找人,TEXTJOIN负责合并,两者组合后就能完成按部门汇总姓名。

三、分隔符和条件都可以调整

如果不想使用顿号,可以直接修改分隔符,例如:

=TEXTJOIN(", ",1,IF(A$2:A$9=D2,B$2:B$9,""))

如果还要增加“在职”条件,可以让IF同时判断两个条件:

=TEXTJOIN("、",1,IF((A$2:A$9=D2)*(C$2:C$9="在职"),B$2:B$9,""))

这样只有指定部门且状态为在职的员工才会被合并。

Excel按条件合并姓名怎么做?TEXTJOIN函数实用技巧-趣帮office教程网

四、使用时注意

TEXTJOIN适用于较新的Excel和WPS版本,如Office 365、Excel 2019及以上版本。如果数据会持续增加,也可以根据实际情况扩大引用范围。掌握TEXTJOIN+IF后,按部门、地区、岗位等条件合并姓名都可以套用同样的思路,数据变化后结果也能同步更新。