【Excel】文本连接函数—— TEXTJOIN 函数
好的,我们来详细讲解一下 Excel 中的 TEXTJOIN 函数。这是一个非常强大且实用的文本连接函数,于 Excel 2016 版本引入,它解决了旧版 CONCATENATE 和 & 连接符的一些痛点。
1. 函数定义
TEXTJOIN 函数将两个或多个文本字符串连接成一个字符串,并允许你指定在每个文本值之间添加的分隔符。最重要的是,它可以轻松忽略空单元格,这使得数据清理变得非常方便。
2. 语法
=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)
参数说明:
-
delimiter (必需):你希望放在每个文本项之间的分隔符。
-
它可以是文本字符串(用双引号括起来),例如
","," ","-"," and "。 -
也可以是单元格引用,例如
A1(如果 A1 单元格的内容是逗号)。 -
如果不想使用任何分隔符,请使用空字符串
""。
-
-
ignore_empty (必需):一个逻辑值(TRUE 或 FALSE)。
-
如果为 TRUE,函数将自动忽略任何空单元格。
-
如果为 FALSE,函数会将空单元格视为空字符串 (
"") 并包含在内(即可能会产生连续的分隔符)。
-
-
text1 (必需):要连接的第一个文本项。可以是文本字符串、数字、单元格引用或单元格区域。
-
[text2], ... (可选):要连接的其他文本项。最多可包含 252 个文本参数。每个参数可以是一个单元格,也可以是一个单元格区域(如 A1:A10)。
3. 基本示例
假设我们有如下数据:
| A | B | C | D |
|---|---|---|---|
| 姓名 | 省 | 市 | 结果 |
| 张三 | 广东 | 广州 | |
| 李四 | 上海 | ||
| 王五 | 江苏 | 南京 |
示例 1:连接省和市,用 “-” 分隔,忽略空值
在 D2 单元格中输入公式:
=TEXTJOIN("-", TRUE, B2, C2)
然后将公式向下填充。
-
D2 结果:
广东-广州 -
D3 结果:
上海(因为 C3 为空,且ignore_empty为 TRUE,所以被忽略,不会出现多余的 “-”) -
D4 结果:
江苏-南京
示例 2:连接省和市,用 “-” 分隔,不忽略空值
在 D2 单元格中输入公式:
=TEXTJOIN("-", FALSE, B2, C2)
-
D3 结果:
上海-(因为ignore_empty为 FALSE,空单元格被作为空字符串处理,所以会产生一个末尾的 “-”)
4. 高级应用示例
示例 3:连接一个区域的所有内容
假设我们有一个任务列表,A2:A5 中有一些任务,有些是空的。我们希望用逗号将它们连接成一个句子。
| A | B |
|---|---|
| 任务 | 结果 |
| 写报告 | |
| 开会 | |
| 发邮件 |
在 B2 中输入公式:
=TEXTJOIN(", ", TRUE, A2:A5)
结果: 写报告, 开会, 发邮件
示例 4:构造动态地址
结合其他函数(如 IF),可以实现更复杂的逻辑。例如,只有“市”和“区”都不为空时,才用空格连接。
| A | B | C | D | E |
|---|---|---|---|---|
| 省 | 市 | 区 | 街道 | 完整地址 |
| 广东省 | 深圳市 | 南山区 | 科技园 |
在 E2 中输入公式:
=TEXTJOIN(" ", TRUE, A2, B2, C2, D2)
结果: 广东省 深圳市 南山区 科技园
示例 5:与数组函数结合(Office 365)
如果你是 Microsoft 365 用户,可以结合 FILTER 等函数进行条件连接。
假设我们有以下名单,只想连接“A组”的成员。
| A | B |
|---|---|
| 姓名 | 组别 |
| 张三 | A组 |
| 李四 | B组 |
| 王五 | A组 |
| 赵六 | A组 |
公式如下:
=TEXTJOIN(", ", TRUE, FILTER(A2:A5, B2:B5="A组", ""))
结果: 张三, 王五, 赵六
这个公式会先使用 FILTER 函数筛选出所有“A组”的姓名,生成一个数组 {"张三"; "王五"; "赵六"},然后 TEXTJOIN 再把这个数组用逗号连接起来。
5. 与旧函数对比
-
CONCATENATE 函数 或 & 运算符
-
缺点1: 不能忽略空单元格。
=A1 & "-" & B1如果 B1 为空,结果会是某省-。 -
缺点2: 不能直接连接一个区域。你必须手动指定每个单元格
=CONCATENATE(A1, A2, A3, A4),而TEXTJOIN可以直接使用区域A1:A4。 -
缺点3: 添加分隔符非常繁琐。
=A1 & ", " & A2 & ", " & A3,而TEXTJOIN只需指定一次分隔符。
-
总结
| 特性 | TEXTJOIN | CONCATENATE / & |
|---|---|---|
| 指定分隔符 | 非常方便,只需一次 | 非常繁琐,需多次添加 |
| 忽略空单元格 | 支持(通过参数控制) | 不支持 |
| 连接区域 | 支持(可直接引用A1:A10) | 不支持(必须逐个引用) |
结论: 只要你使用的 Excel 版本中有 TEXTJOIN 函数(2016及以上或Microsoft 365),它绝对是进行文本连接任务时的首选。

浙公网安备 33010602011771号