TEXTJOIN 把多个文本(或整个区域)用指定分隔符拼接成一段,并且可以自动跳过空单元格。要把一列名字拼成"张三、李四、王五",一个 TEXTJOIN 就够了——这是它相对 CONCAT 和 & 拼接的核心优势。
TEXTJOIN(分隔符, 是否忽略空值, 文本1, [文本2], …)
| 参数 | 说明 |
|---|---|
分隔符 | 插在每两段文本之间的字符,如 "、"、", "、"-";传空串 "" 则无缝拼接。 |
是否忽略空值 | TRUE = 跳过空单元格(推荐,避免出现连续分隔符);FALSE = 空值也占一个位置。 |
文本1, 文本2, … | 要拼接的内容:可以是单元格、文本常量,也可以直接给一个区域(如 A2:A20)。 |
=TEXTJOIN("、", TRUE, A2:A20)
结果形如"张三、李四、王五"。第二参数 TRUE 保证中间的空单元格不会产生"张三、、李四"。
=TEXTJOIN("", TRUE, B2, C2, D2)
分隔符传空串即首尾相接;某一列缺失时 TRUE 会自动跳过,不留空洞。
=TEXTJOIN(" | ", TRUE, "客户:"&A2, "金额:"&B2, "状态:"&C2)
每段先用 & 拼上标签,再用 TEXTJOIN 统一加分隔符,生成"客户:… | 金额:… | 状态:…"。
CONCAT 只做首尾相接,没有分隔符参数也不能忽略空值;TEXTJOIN 多了"分隔符"和"是否忽略空值"两个参数。需要"用逗号隔开"这类需求时直接用 TEXTJOIN。
TEXTJOIN 的结果是一个文本值,长度有上限(数万字符)。超长通常说明该把数据拆组:先按类别分组,再对每组分别 TEXTJOIN。
可以配合 IF 数组:=TEXTJOIN("、", TRUE, IF(B2:B20>80, A2:A20, "")),只拼接分数大于 80 的名字(空串会被 TRUE 忽略)。
在 TableDI 里,这些公式不用背。桌面版 TableDI 的公式面板可以点选生成公式,配合 AI 直接说需求;处理 Excel/CSV 数据请从官网下载:
→ TableDI 个人版(中文官网,macOS / Windows)
→ tabledi — AI agent 的数据后端(新版)
→ 免费在线数据工具(PDF 转表格 / CSV 仪表盘 / 自动报表)