返回上一页
办公技巧·Excel/WPS

TEXTJOIN+IF组合筛选拼接

[注意] TEXTJOIN函数语法

=TEXTJOIN(分隔符, 忽略空值, 文本1, [文本2], ...)

可以将多个文本用分隔符连接成一个字符串。

[目标] 结合IF实现条件拼接

需求:列出所有“优秀”员工的名字,用顿号连接。

数据:A列姓名,B列评级。

=TEXTJOIN("、", TRUE, IF(B2:B100="优秀", A2:A100, ""))

注意:这是数组公式,在Excel 2019及以前版本需要按Ctrl+Shift+Enter;Excel 365直接回车。

[详解] 执行过程

  1. IF函数对B2:B100每个单元格判断是否为“优秀”,是则返回对应的姓名,否则返回空字符串""。
  2. 得到一组数组:{"张三","","李四","",...}。
  3. TEXTJOIN用“、”连接,忽略空值,得到“张三、李四”。

[数据] 案例2:多条件拼接

列出销售额大于10000且地区为“北京”的销售员姓名:

=TEXTJOIN("、", TRUE, IF((C2:C100>10000)*(B2:B100="北京"), A2:A100, ""))

* 表示AND逻辑。

[工具] 进阶:去重后再拼接

如果姓名可能有重复,需要去重。使用UNIQUE:

=TEXTJOIN("、", TRUE, UNIQUE(IF(B2:B100="优秀", A2:A100, "")))

[警告] 注意事项

  • TEXTJOIN在Excel 2016及更早版本不可用(需2019或365)。
  • 如果连接后的字符总数超过32767,会返回#VALUE!错误。