如何在 Excel 中轻松按条件连接文本?
在 Excel 中,根据特定条件连接文本是一项极为实用的技术,能够显著简化数据分析流程,尤其适用于处理大型或复杂数据集。通过该操作,用户可根据指定条件或键值合并单元格内容,不仅提升报告的可读性,还便于对分组数据进行深入分析。例如,若需列出每个国家对应的所有姓名,只需按条件连接文本,即可简洁高效地实现目标。以下为您介绍几种在 Excel 中实现此功能的实用方法,适配不同版本及用户偏好。

- 使用 TEXTJOIN 函数根据条件连接文本(适用于 Excel 3652019 及更高版本)
- 使用 Kutools for Excel 根据条件连接文本(适用于所有版本)
- 使用 FILTER 和 TEXTJOIN 根据条件连接文本(适用于 365/2021+ 的替代方法)
- 使用用户自定义函数根据条件连接文本(适用于所有版本)
使用 TEXTJOIN 函数根据条件连接文本
将 TEXTJOIN 函数与 IF 函数结合使用,可在 Excel 中高效地根据指定条件连接文本。此方法适用于 Excel 2019、Excel 2021 和 Excel 365,特别适合合并满足特定条件的值——例如,将属于同一国家的所有姓名自动归为一组。该方法具备动态特性,能轻松适应数据变化。
此方法的优势在于运算速度快、基于公式,且灵活性出色,特别适合实时数据更新或处理大型数据集。但请注意,该方法仅适用于较新版本的 Excel;若您使用的是旧版本,请考虑下方提供的替代方案。
1. 在目标单元格(例如 E2)中输入以下公式:
=TEXTJOIN(", ", TRUE, IF($A$2:$A$15=D2, $B$2:$B$15, "")) 2. 在 Excel 2019 中,输入公式后,请使用组合键 Ctrl+Shift+Enter 将其作为数组公式应用;而在 Excel 365/2021 及更高版本中,只需按 Enter 即可。随后,向下拖动填充柄,即可将公式快速填充至其他条件对应的单元格中。如下图所示:
- TEXTJOIN:将多个单元格中的文本轻松合并,并以指定分隔符(例如“,”)智能分隔,让数据整理更高效!
- IF 函数:检查 A2:A15 范围中的每个值是否与 D2 中的条件匹配,若匹配,则返回另一范围中的对应值。
提示:若处理的数据集极为庞大,建议启用手动计算模式或限定计算区域,以维持系统性能。请务必仔细核对所选范围,确保完全对齐;否则,公式可能返回错误或意外结果。
如果您的 Excel 不支持 TEXTJOIN 函数,或您需要更灵活的解决方案(例如忽略错误值、使用自定义分隔符或妥善处理空单元格),请继续阅读以下通用方法。
使用 Kutools for Excel 根据条件连接文本
对于 Excel 版本不支持“TEXTJOIN”函数,或更倾向通过界面操作而非输入公式的用户,Kutools for Excel 提供了直观高效的解决方案,轻松实现条件文本连接。无需复杂公式,兼容所有 Excel 版本,适合各类用户。Kutools 与 Excel 无缝集成,是追求高效与可靠用户的理想之选。
要使用此功能,请先安装 Kutools for Excel。安装完成后,请执行以下操作:
- 打开您的工作表,切换到“Kutools”选项卡,依次选择“高级 LOOKUP” > “一对多查找(返回多个结果)”。
- 在弹出的对话框中,指定用于显示结果的“列表放置区域”,以及用作唯一键或条件的“待检索值区域”。
- 请选择完整的数据集作为源表。
- 使用提供的下拉菜单,设置“关键列”(即包含条件的列,例如国家)和“返回列”(即包含要连接的值的列,例如姓名)。
- 单击“确定”即可执行操作。

结果:Kutools 将根据您指定的条件立即连接相关文本,并在列表放置区域中显示结果,如下图所示:
Kutools for Excel——通过 300 多款必备工具全面增强 Excel 功能,助您工作更快速、更轻松,并借助 AI 功能实现更智能的数据处理与高效办公!立即获取
使用 Kutools 的优势:
- 适用于任何版本的 Excel
- 无需输入公式或执行数组操作
- 降低因复杂单元格引用导致的错误风险
- 对不熟悉高级公式的用户而言效率更高
使用 FILTER 和 TEXTJOIN 函数根据条件连接文本(适用于 Excel 365/2021 或更高版本的替代方法)
在 Excel 365 或 Excel 2021 及更高版本中,FILTER 与 TEXTJOIN 的组合为您提供了一种高效且动态的新方法,可根据条件灵活连接文本值。对于希望避开复杂数组公式,同时轻松驾驭最新 Excel 功能的用户来说,这一方案尤为便捷!
1. 在结果单元格(例如 E2)中输入以下公式:
=TEXTJOIN(", ", TRUE, FILTER(B$2:B$15, A$2:A$15=D2)) 2. 按 Enter 确认公式,然后拖动填充柄向下填充,即可将公式快速应用到所需行数。
此方法无需使用 Ctrl + Shift + Enter,且在数据发生变化时会自动调整,非常适合动态表格。在上述公式中,D2 是具体的条件值,A$2:A$15 是条件参考列,B$2:B$15 是要连接的列。请根据您的数据集替换相应范围。请注意,FILTER 函数要求使用兼容版本的 Excel。
使用用户自定义函数根据条件连接文本
对于追求灵活自定义方案的用户(尤其是在不支持动态数组函数的 Excel 版本中),使用 VBA 编写的用户自定义函数(UDF)提供了一种可靠的选择,能够根据指定条件连接文本。该方法支持按需自定义分隔符或逻辑,在旧版 Excel 环境或特定定制化工作流中尤为实用。不过,您需要具备基本的 Excel VBA 编辑器操作及宏安全设置知识。
1. 按下 ALT+F11 键,即可打开“Microsoft Visual Basic for Applications”窗口。
2. 在 VBA 窗口中,单击“插入”>“模块”,然后将以下代码复制并粘贴到弹出的模块面板中:
VBA 代码:根据条件连接文本
Function ConcatenateIf(CriteriaRange As Range, Condition As Variant, ConcatenateRange As Range, Optional Separator As String = ",") As Variant
'Updateby Extendoffice
Dim xResult As String
On Error Resume Next
If CriteriaRange.Count <> ConcatenateRange.Count Then
ConcatenateIf = CVErr(xlErrRef)
Exit Function
End If
For i = 1 To CriteriaRange.Count
If CriteriaRange.Cells(i).Value = Condition Then
xResult = xResult & Separator & ConcatenateRange.Cells(i).Value
End If
Next i
If xResult <> "" Then
xResult = VBA.Mid(xResult, VBA.Len(Separator) + 1)
End If
ConcatenateIf = xResult
Exit Function
End Function
3. 粘贴代码后,保存并关闭代码窗口,返回 Excel 工作表。要使用此 UDF,请在单元格 E2 中输入以下公式,然后向下拖动填充柄,将公式应用到其他单元格:
=CONCATENATEIF($A$2:$A$15, D2, $B$2:$B$15, ",") 
注意:在上述公式中,A2:A15 表示包含条件的范围(例如国家),D2 是要匹配的条件,而 B2:B15 是要连接的文本范围。默认分隔符为逗号(“,”),但可更改为任意字符或您偏好的字符串。请确保条件范围与连接范围大小一致,否则函数将返回错误。
UDF 使用提示:
- 必须启用宏,才能确保 UDF 正常运行。
- 当源数据发生变化时,UDF 不会自动重新计算——如有需要,请按 F9 键手动刷新。
这种基于 VBA 的方法最适合熟悉宏的用户,或在原生 Excel 函数不可用时使用。通过调整 VBA 代码,即可实现更高级的连接逻辑或自定义格式。
在 Excel 中选择最适合按条件连接文本的方法时,请综合考虑您的 Excel 版本、操作频率(一次性还是重复性任务),以及对公式的熟悉程度或对插件的接受度。若遇到公式错误,请仔细检查所选区域是否匹配,并确认所有引用均指向预期的行或列。对于涉及 VBA 的解决方案,请确保已启用宏;使用 Kutools 时,请验证是否已成功安装。如果结果不符合预期或为空,请确认数据中确实存在满足所设条件的记录。将这些方法融入日常工作中,可显著提升效率,确保汇总结果准确无误,并大幅减少手动编辑。如需处理其他数据任务,请立即访问我们的教程中心,获取更多实用 Excel 技巧!
最佳办公效率工具
| 🤖 | KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮或标记重复项 | 删除空白行 | 合并列或单元格且不丢失数据 | 不使用公式的四舍五入…… | |
| 高级 LOOKUP:多条件 VLookup | 多值 VLookup | 跨多工作表 VLookup | 模糊查找…… | |
| 高级下拉列表:快速创建下拉列表 | 级联下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列…… | |
| 特色功能:网格聚焦 | 设计视图 |增强编辑栏 | 工作簿和表管理器 | 资源库(自动文本)| 日期提取 | 汇总工作表 | 加密/解密单元格 | 按列表发送邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线……) ...... | |
| 精选 15 工具集:12 文本工具(添加文本,删除特定字符,……)| 50+ 图表 类型(甘特图,……)| 40+ 实用公式(基于生日计算年龄,……)| 19 插入工具(插入二维码,从路径插入图片,……)| 12 转换工具(小写金额转大写,汇率转换,……)| 7 合并和拆分工具(高级合并行,分割单元格,……)|……更多 |
使用 Kutools for Excel 大幅提升您的 Excel 技能,体验前所未有的高效。Kutools for Excel 提供 300 多项高级功能,助您提升生产力、节省时间。立即点击此处,获取您最需要的功能……
Office Tab 为 Office 带来标签式界面,让您的工作更轻松
- 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读。
- 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中。
- 将您的工作效率提升 50%,每天减少数百次鼠标点击!
所有 Kutools 插件,一个安装程序
Kutools for Office 套件捆绑了适用于 Excel、Word、Outlook 和 PowerPoint 的插件以及 Office Tab Pro,非常适合需要跨多个 Office 应用高效协作的团队。
- 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
- 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
- 协同效果更佳— 在多个 Office 应用中实现高效协同
- 30 天全功能试用— 无需注册,无需信用卡
- 超值之选— 比单独购买插件更省钱
