将同类数据合并到一个单元格

将同类数据合并到一个单元格


2024年4月7日发(作者:)

将同类数据合并到一个单元格

作者:王志军

来源:《电脑知识与技术·经验技巧》2020年第05期

中国式表格有时会有一些比较特殊的需求,如图1所示,A列是单位的部门名称,B列是

人员姓名,现在需要根据E列的部门名称,将符合条件的部门人员全部放到F列的一个单元格

内,不同姓名之间使用逗号间隔。

如果数据不是太多,手工复制、粘贴就可以了,但往往实际的数据量非常大,而且经常需

要增加或减少人员,这就需要好好规划了。下面介绍两种不同版本的解决思路。

一、Excel 2019/365版本

我们可以借助TEXTJOIN函数完成上述任务,这个函数的语法如下:

=TEXTJOIN(间隔符号,要不要忽略空单元格,要合并的内容)

选择F2单元格,在编辑栏输入公式“=TEXTJOIN(",",1,IF(A$2:A$13=E2,B$2:

B$13,""))”。需要合并的内容为“IF(A$2:A$13=E2,B$2:B$13,"")”,也就是说如果

A$2:A$13等于E2,那么就返回B$2:B$13对应的内容,否则返回空文本"";第一参数指定使

用的间隔符号为逗号;第二参数为1,表示忽略内存数组中的空文本。按下“Ctrl+Shift+Enter”组

合键转换为数组公式,按下回车键,向下拖曳或双击填充柄,就可以看到如图2所示的合并结

果。

需要提醒的是,WPS 2019也可以使用这个函数。

二、Excel低版本

如果使用的Excel或WPS不符合上面的版本條件,那么可以借助辅助列和传统函数解决

这一问题。

首先对数据区域按照部门进行排序,选择C列作为辅助列,在C2单元格输入公式:=IF

(A2=A1,C1&","&B2,B2)。这里首先判断A2和A1的值是否相等,如果相等,则返回

C1&","&B2,如果不等,则返回B2。在公式向下复制填充的过程中,该公式得出的结果,将

被公式所在单元格下方的下一个公式所使用,于是形成人名累加的效果。执行公式之后向下复

制填充,效果如图3所示。

在F2单元格输入公式:=LOOKUP(1,0/(E2=$A$2:$A$13),C$2:C$13)。这里以

0/(E2=$A$2:$A$13)构建了一个由0和错误值#DIV/0!组成的内存数组,再用永远大于0

的1作为查找值,于是查找出最后一个满足部门等于E2的C列结果,即A列最后一个“办公

室”所对应的C列值。执行公式之后向下复制填充,可以得到如图4所示的最终结果。

补充:如果需要将一个单元格的姓名按部门分拆出来,可以借助Power Query的逆透视功

能实现。


发布者:admin,转转请注明出处:http://www.yc00.com/web/1712453574a2062236.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信