重点内容
适用版本
公式和 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 的位置算错,忘记减 1 或加 1,导致截取多了或少了一个字符(比如把逗号本身也截进去)
- 用 Flash Fill 后源数据更新,却忘记结果不会自动跟着变
- TEXTSPLIT 在旧版本 Excel(非 365)里用不了,会报函数名错误
Sources
Blog / Website: