TEXTJOIN函数可高效合并多行数据:支持自定义分隔符、跳过空单元格;可用CHAR(10)实现换行显示;通过辅助列或嵌套处理二维区域与非连续区域;合并前需用TEXT函数规范日期数字格式。

如果您希望将Excel中多行数据合并到一个单元格中,并避免使用CONCATENATE或&连接符带来的冗长与错误,TEXTJOIN函数是高效且灵活的选择。以下是实现该操作的具体步骤:
一、确认TEXTJOIN函数可用性并设置分隔符
TEXTJOIN函数在Excel 2016及更高版本(含Microsoft 365)中可用,它能自动跳过空单元格,并允许指定分隔符。使用前需确保目标区域无误,且分隔符符合实际需求(如逗号、换行符或空字符串)。
1、选中目标合并结果所在的空白单元格。
2、输入公式:=TEXTJOIN(",", TRUE, A1:A10) —— 其中第一个参数为分隔符,第二个参数TRUE表示忽略空单元格,第三个参数为待合并的单元格区域。
3、按Enter键确认,结果即显示以逗号分隔的合并文本。
二、使用换行符作为分隔符实现多行内容垂直堆叠
当需要保留原始行结构、使合并后的内容在单元格内分行显示时,可将CHAR(10)作为分隔符,并配合单元格自动换行设置,使视觉效果更清晰。
1、选中目标单元格,输入公式:=TEXTJOIN(CHAR(10), TRUE, B2:B8)。
2、按Ctrl + Enter完成输入(避免因Enter导致单元格退出编辑状态而无法显示换行)。
3、右键单元格 → “设置单元格格式” → “对齐”选项卡 → 勾选“自动换行” → 点击确定。
4、调整行高至足够容纳全部内容。
三、跨列多行区域合并(二维范围处理)
TEXTJOIN不直接支持二维区域(如A1:C5)的一次性合并,但可通过嵌套TRANSPOSE与TEXTJOIN组合实现逐行拼接后再整体合并,适用于需保留每行内部结构的场景。
1、在空白列(如E列)第1行输入公式:=TEXTJOIN(" ", TRUE, A1:C1),向下填充至覆盖所有数据行。
2、在另一空白单元格输入:=TEXTJOIN(CHAR(10), TRUE, E1:E10)。
3、对该单元格启用“自动换行”并调整行高。
四、动态引用非连续区域合并
当需合并多个不相邻的单元格或区域(如A1、C3、E5),可将各单元格直接列为TEXTJOIN参数,无需构造连续区域,增强灵活性。
1、选中目标单元格,输入公式:=TEXTJOIN(" | ", TRUE, A1, C3, E5, G7)。
2、按Enter键执行,各值将以竖线分隔并忽略其中可能存在的空值。
3、如某单元格含公式返回空文本(""),TEXTJOIN仍视其为非空;若需彻底排除,应先用IF判断处理。
五、处理含数字格式或日期的合并结果
TEXTJOIN默认以单元格显示值参与合并,若原始数据为日期或带格式数字(如货币、百分比),合并后可能显示为序列号或未格式化数值,需预先转换为文本格式。
1、在辅助列中使用TEXT函数标准化格式,例如:=TEXT(A2,"yyyy-mm-dd")。
2、将该辅助列作为TEXTJOIN的引用区域,如:=TEXTJOIN("; ", TRUE, D2:D6)。
3、确保TEXT函数中的格式代码与预期输出完全一致,否则合并结果将不符合业务要求。










