乐于分享
好东西不私藏

合并靠&?拆分靠分列?这两个函数才是Excel文本处理的真香现场!

合并靠&?拆分靠分列?这两个函数才是Excel文本处理的真香现场!

你有没有经历过这种窒息时刻——

老板让你把50个销售人员的名字合并到一个单元格里,用顿号隔开。你开始疯狂地 =A2&"、"&A3&"、"&A4&"、"&A5……敲到第8个,手已经废了,发现还有42个在等你 ��‍��

或者,同事甩给你一个表格,一个单元格里塞了十几个城市名,用逗号隔开,让你拆成单独的单元格。你默默点了"数据→分列",点完了发现……下次数据更新还得重新来一遍 ��

如果你点头了,那今天这篇文章就是为你准备的——

TEXTJOINTEXTSPLIT,一合一拆,Excel文本处理的双子星。学会它们,你会回来感谢我的 ✨

��一、TEXTJOIN:把散落的文本""起来

语法速览

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

• 分隔符:合并时用什么隔开,比如"、"","、换行符CHAR(10)

• 是否忽略空值TRUE跳过空单元格,FALSE保留(一般选TRUE就对了)

• 文本1, 文本2, ...:要合并的内容,可以是单元格、区域、甚至数组

一句话理解:把一堆文本用你指定的分隔符粘成一段话,还能自动跳过空格。

&符号强在哪?&一次只能连两个,空值你得自己判断,分隔符你得手动加。TEXTJOIN?一锅端,全自动 ��

实战场景1:合并部门人员名单

假设你有一张表,A列是部门,B列是姓名,你想把销售部所有人的名字合并成一个单元格:

A列(部门)

B列(姓名)

销售部

张伟

销售部

李娜

销售部

王磊

销售部

销售部

赵敏

公式:

=TEXTJOIN("、", TRUE, B2:B6)

结果:张伟、李娜、王磊、赵敏

看到了吗?第4行的空单元格被自动跳过了,顿号也没有连续出现。如果用 &,你得写一堆IF判断空值,人都要写没了 ��

实战场景2:按条件合并——搭配FILTER更香

还是上面那张表,但现在有多个部门混在一起,你只想合并销售部的人名:

A列(部门)

B列(姓名)

销售部

张伟

技术部

陈刚

销售部

李娜

技术部

周洋

销售部

王磊

公式:

=TEXTJOIN("、", TRUE, FILTER(B2:B6, A2:A6="销售部"))

结果:张伟、李娜、王磊

FILTER 先筛选出销售部的人名,TEXTJOIN 再合并。数据更新了?公式自动刷新,完全不用管。这就是函数式思维的快乐 ��

实战场景3:合并时加换行符

有时候合并的内容需要换行显示,比如做工资条、通讯录:

=TEXTJOIN(CHAR(10), TRUE, B2:B6)

CHAR(10)就是换行符。记得把单元格设置为自动换行,不然看不到效果哦!

结果会变成每个名字独占一行,整齐得像列兵��

✂️ 二、TEXTSPLIT:把挤在一起的文本""开来

语法速览

=TEXTSPLIT(文本, [列分隔符], [行分隔符], [是否忽略空值], [匹配模式], [填充内容])

• 文本:要拆的字符串

• 列分隔符:按这个拆到不同列(横向展开)

• 行分隔符:按这个拆到不同行(纵向展开)

• 是否忽略空值TRUE忽略连续分隔符产生的空格,FALSE保留(默认FALSE)

• 匹配模式0区分大小写(默认),1不区分

• 填充内容:行列数不齐时用什么填充(默认#N/A

一句话理解:数据→分列的函数版,但更灵活,支持行拆、列拆、同时拆,而且结果动态更新。

实战场景1:拆分逗号隔开的城市列表

同事给你一个单元格:"北京,上海,广州,深圳,杭州",让你拆开:

=TEXTSPLIT(A2, ",")

结果自动溢出到5个单元格:北京 | 上海 | 广州 | 深圳 | 杭州

横向展开,整整齐齐。比"分列"好在哪?数据源变了,结果自动跟着变,不用重新操作。

实战场景2:按行拆分——纵向展开

同样是上面的城市列表,但你想纵向排列(一列显示):

=TEXTSPLIT(A2, , ",")

注意第二个参数(列分隔符)留空,逗号放在第三个参数(行分隔符)的位置。

结果:

• 北京

• 上海

• 广州

• 深圳

• 杭州

就这么一个小细节——把分隔符从第二个参数挪到第三个参数,横向就变纵向了。这设计,不得不夸一下微软��

实战场景3:用多个分隔符拆分

真实数据哪有那么规整?你看这个:

"张伟-销售部-北京/李娜-技术部-上海/王磊-财务部-广州"

人和人之间用/隔开,每个人的信息用-隔开。一套公式搞定:

=TEXTSPLIT(A2, "-", "/")

结果:

1

2

3

1

张伟

销售部

北京

2

李娜

技术部

上海

3

王磊

财务部

广州

一个函数,横纵同时拆分,瞬间变成规整的表格。这要是用"分列"加"转置",步骤多到你想辞职 ��

��三、进阶玩法:TEXTJOIN + TEXTSPLIT 组合出击

单独用已经够强了,但这两个函数一旦组队,才是真正的王炸。

核心逻辑就八个字:先合后拆,先拆后合。看实例��

进阶场景:多行多列数据"逆透视"

你有没有遇到过这种"宽表"——

部门

Q1

Q2

Q3

Q4

销售部

120万

135万

148万

160万

技术部

80万

92万

88万

95万

老板说:"我要把它变成三列——部门、季度、业绩。"

手动复制粘贴?你怕是不想下班了��

第一步:先合并成字符串

在旁边写公式,把每行数据合并成一个字符串:

=TEXTJOIN("-", TRUE, A2:E2)

销售部那行变成:销售部-120万-135万-148万-160万

再合并所有行:

=TEXTJOIN("/", TRUE, TEXTJOIN("-", TRUE, A2:E2), TEXTJOIN("-", TRUE, A3:E3))

变成:销售部-120万-135万-148万-160万/技术部-80万-92万-88万-95万

第二步:再用TEXTSPLIT拆回来,但换成你想要的形状

=TEXTSPLIT(TEXTJOIN("/", TRUE, BYROW(A2:E3, LAMBDA(r, TEXTJOIN("-", TRUE, r)))), "-", "/")

结果:

部门

Q1

Q2

Q3

Q4

销售部

120万

135万

148万

160万

技术部

80万

92万

88万

95万

看起来和原来一样?别急,关键是数据现在是由公式生成的动态数组,你可以继续用TOCOLWRAPROWS等函数做任意变形,实现完整的逆透视��

=HSTACK(TOCOL(IF({1,1,1,1},A2:A3)), TOCOL(B1:E1), TOCOL(B2:E3))

结果变成标准的三列长表:

部门

季度

业绩

销售部

Q1

120万

销售部

Q2

135万

销售部

Q3

148万

销售部

Q4

160万

技术部

Q1

80万

技术部

Q2

92万

技术部

Q3

88万

技术部

Q4

95万

而这一切的起点,就是 TEXTJOIN + TEXTSPLIT 帮你把数据"融化"再"重塑" ��

彩蛋场景:替换分隔符

手头有一串用逗号隔开的名字:"张三,李四,王五,赵六",但你要用顿号隔开。

不用一个个改,一行搞定:

=TEXTJOIN("、", TRUE, TEXTSPLIT(A2, ","))

先拆开,再合回去,换个分隔符就行。这就是"先拆后合"的魅力 ��

��四、总结一下

函数

一句话

核心优势

TEXTJOIN

把散文本串起来

自动加分隔符、自动跳空值、支持区域合并

TEXTSPLIT

把挤文本拆开来

行列双向拆分、多分隔符、动态更新

组合使用

拆了再合,合了再拆

数据变形、逆透视、分隔符替换

记住这个公式思维:

• 需要合并?→ TEXTJOIN

• 需要拆分?→ TEXTSPLIT

• 需要变形?→ 先合后拆 / 先拆后合

⚠️ 小提醒:这两个函数需要 Excel 365Excel 2021及以上版本才支持,WPS最新版也已支持。如果你的Excel版本太旧……是时候更新了 ��

觉得有用的话,点个关注不迷路��

我是在抖音做Excel教学的 @excel_fans,每天分享一个让你少加班的Excel技巧。关注我,我们一起从"Excel小白"进化成"表格王者" ��

——你的Excel搭子,陪你打怪升级