ARTICLE · 1124154
excel正则表达式如何使用看TEXTSPLIT教程
拿到一张外部表,负责人一列长这样:张三;李四,下一条又换成中文逗号。
想拆开,第一反应是数据选项卡里的「分列」。能用,就是每次数据更新都得重来一遍。
别急着点向导。Excel 这两年上的文本函数里,有个专门干这个的。
一、TEXTSPLIT 是什么:一行公式替代三步向导
分列是「一次性手术」:向导走完,结果就定死在那了。源数据明天加两行,你再走一遍三步。
TEXTSPLIT 是个函数,写法跟 SUM 一样躺在单元格里:=TEXTSPLIT(要拆的格子,";")。它把一个格子按分隔符切开,横向吐成一整行。
源数据一变,结果跟着自动重算——这是它跟老办法最本质的区别。

二、分隔符怎么选:别把数据本身选进去
拆得对不对,全看分隔符给得准不准。最稳的写法是把分隔符用引号包住,直接写进第二参数:"、" 里的分号就写 ";"。
一格里有多种分隔符混着?TEXTSPLIT 支持数组写法:{";",","},中英文逗号、分号一次全认,不用拆两遍。
记住一个判断标准:分隔符是「数据之间不要的那个东西」。选错了,把名字拆成两半的事我也见过。

三、竖着拆:一列变多行,中间那个空位别丢
分隔符拆完默认横着排。想让结果竖着排成一列,把行分隔符的位置留空、列分隔符填上,结果自动转置。
写法:=TEXTSPLIT(A2,,";")——注意中间那个空位,两个逗号一个都不能少,少一个就报错。
横向拆适合做表头,竖着拆适合喂给后续匹配。方向选对,下游少改一遍。

四、多字符分隔符与空格子:ignore_empty 一开就干净
分隔符不止一个字符也行:"><" 这种两个字符的组合直接写进去,按整串切。
拆完中间出现空格子怎么办?连续两个分号,中间会多一个空位。加第四个参数ignore_empty 传 TRUE,空格子直接跳过。
脏数据里分隔符经常连用,不处理这个参数,拆出来的列数都不齐,后面匹配全是 #N/A。

五、一个写透的场景:对账前先拆负责人
同事小周每周对账,系统导出的负责人一列长这样:「张三;李四;王五」,有时候分号还换成中文逗号。他原来手动复制到记事本,替换完再贴回来,一周两回。
现在改成一步:=TEXTSPLIT(A2,{";",","}),一行公式把三个人拆成三格,混着的分隔符一次全认。拆完的行直接拿去 VLOOKUP 匹配,记事本环节整个删掉。
他省下的不是十分钟,是每次对账前「今天又得拆一遍」的心理负担。

六、版本提醒与收口
TEXTSPLIT 目前铺在 Microsoft 365 的订阅版里。输入 =TEXTSPLIT 没有联想,说明更新还没轮到你的通道。
老版本先别硬等:「分列」每次手动重跑,或者 Power Query 里的拆列,是同一件事的两种慢法,模式思路是通的。
💬 你那列数据里最离谱的分隔符长什么样?评论区贴一段,我看看能不能一行拆掉。