Excel常用功能——TEXTJOIN、MATCH、COUNTIF和INDIRECT函数在文字拼接上的组合应用

需求:按任务名称,合并参与人员,并用逗号隔开。

图1

思路:

先取消合并的单元格,并按相同的任务名称,填充取消后的空单元格。再判断当前行的任务名称是否与上一行相同。如果相同,合并后的人员与上一行也相同;如果不相同,需要对相同任务名称的人员进行拼接。

由于已经在不同的文章中对每一步进行了详细的解释,所以这里只说重点。需要了解详情,请在合集中查看。操作步骤如下:

1.取消合并单元格并填充。

图2

2.在C5单元格中输入以下函数,并填充至C14。

图3

函数如下:

=IF(A5<>A4,TEXTJOIN(",",TRUE,INDIRECT("b"&MATCH(A5,A:A,0)&":b"&MATCH(A5,A:A,0)+COUNTIF(A:A,A5)-1)),C4)

解释:如果A5不等于A4,按区域拼接文本,并用",“分隔;如果A5等于A4,那么C5取C4的值。

使用INDIRECT函数,获取需要拼接文本的单元格区域。公式分解:

MATCH(A5,A:A,0)//任务1第一次出现的位置(行号),5 "b"&MATCH(A5,A:A,0)//b5 COUNTIF(A:A,A5)//一共有多少个任务1,3 MATCH(A5,A:A,0)+COUNTIF(A:A,A5)-1//5+3-1,为什么要减1?是为了计算出最后出现任务1的行号 ":b"&MATCH(A5,A:A,0)+COUNTIF(A:A,A5)-1//:b7 INDIRECT("b"&MATCH(A5,A:A,0)&":b"&MATCH(A5,A:A,0)+COUNTIF(A:A,A5)-1)//INDIRECT("b5:b7")

3.删除重复值

图4

至此,已经实现了需求。

(END)

最后更新于 2026-08-26 17:08 CST
长按识别二维码关注随遇而学
关注公众号「随遇而学」
长按识别上方二维码,或在微信搜索「随遇而学」关注公众号。回复 模板 领取 AI 减负模板包(会议纪要 / 周报 / SOP / Excel / 汇报 PPT),并获取后续更新。
希望所有努力的人都能找到并提升自己的核心价值
使用 Hugo 构建
主题 StackJimmy 设计