EP01. “Separate Strings 拆分字符串”
🔒 登录后可标记已读- 讲怎么把一个单元格里的字符串拆开,比如把 "Smith, Mike" 拆成姓和名两个单元格
- 介绍三种做法:用 FIND/LEFT/RIGHT 公式手动拆、用 Flash Fill 自动识别规律拆、Excel 365 专属的 TEXTSPLIT 函数
- 不需要前置知识
- 学完能处理各种「一格塞两个信息」的脏数据
重点内容
适用版本
公式和 Flash Fill 桌面版通用;TEXTSPLIT 函数需要 Excel 365。
方法怎么选
| 方法 | 写法 | 备注 |
|---|---|---|
| 公式(FIND+LEFT/RIGHT) | =LEFT(A2,FIND(",",A2)-1) | 源数据改了会自动重算 |
| Flash Fill | Ctrl + E | 快,但结果是死的,源数据改了不会跟着更新 |
| TEXTSPLIT(Excel 365) | =TEXTSPLIT(A2,",") | 一条公式自动溢出铺满多格,仅限 Excel 365 |
方法一:用公式拆分
以单元格 A1 是 "Smith, Mike"(姓在前,逗号分隔,姓氏长度 5,逗号在第 6 位)为例:
提取名字(逗号后面的部分):
=RIGHT(A2,LEN(A2)-FIND(",",A2)-1)
先用 FIND(",",A2) 找到逗号位置(第 6 位),再用 LEN(A2) 拿到整串长度(11 字符),用 RIGHT 从右边截取对应长度,结果得到 "Mike"。
提取姓氏(逗号前面的部分):
=LEFT(A2,FIND(",", A2)-1)
同样先用 FIND 找逗号位置(第 6 位),LEFT 从左边截取 5 个字符(逗号位置减 1),结果得到 "Smith"。
操作步骤:
- 在 B2、C2 分别输入上面两条公式
- 选中 B2:C2,拖动右下角填充手柄向下填充到其余行
方法二:Flash Fill(闪填)
- 在 B2 手动输入第一个名字示例,比如 "Mike"
- 切到 Data 选项卡,点击 Flash Fill(或按
Ctrl + E) - 在 C2 手动输入第一个姓氏示例,比如 "Smith"
- 再次点击 Flash Fill(或按
Ctrl + E)
📌 Flash Fill 的缺点:结果是"死"的,源数据改了之后,Flash Fill 填出来的内容不会跟着自动更新——公式法则会自动重算。
方法三:TEXTSPLIT 函数(Excel 365)
=TEXTSPLIT(A2,",")
用指定的分隔符(这里是逗号)把文本拆成一行或一列,一条公式就能铺满多个单元格,这种自动铺开的行为叫 spilling(溢出)。
学完你会
- ✅ 能用 FIND + LEFT/RIGHT 组合公式拆出字符串里的姓和名
- ✅ 能用 Flash Fill 快速识别规律拆分文本,并知道它的结果不会自动更新
- ✅ 能判断什么场景该用公式、什么场景该用 Flash Fill 或 TEXTSPLIT
常见错误
- 公式法里 FIND 的位置算错,忘记减 1 或加 1,导致截取多了或少了一个字符(比如把逗号本身也截进去)
- 用 Flash Fill 后源数据更新,却忘记结果不会自动跟着变
- TEXTSPLIT 在旧版本 Excel(非 365)里用不了,会报函数名错误
Sources
Blog / Website: