核心结论,把单个单元格内容拆分成两列,优先使用数据选项卡里面的分列功能,适合一次性批量拆分,如果需要源数据修改之后拆分结果自动更新,就使用 TEXTSPLIT 或者 MID 加 FIND 函数,拆分的依据一般是空格、逗号、短横线这类分隔符号,也可以按照固定字符数量拆分,很多人整理导入的数据,姓名和编号全部挤在同一格,就需要拆成左右两列,分列是可视化向导操作,新手更容易上手,函数方案属于动态计算,老版本 Excel 没有 TEXTSPLIT,需要用传统函数组合,本文讲解完整操作步骤,两种方案对比,还有常见踩坑排查,适合人事财务整理台账数据。
方法一 分列功能(推荐批量拆成两列)
适合整列数据,按分隔符拆成左右两列
操作步骤
1 选中需要拆分的那一整列单元格
2 点击顶部数据选项卡,找到分列按钮,打开分列向导
3 第一步,选择分隔符号,点击下一步
4 第二步,勾选对应的分隔符,比如空格、逗号,也可以勾选其他,手动输入短横线,预览窗口可以看到已经拆成左右两列,确认拆分效果
5 第三步,设置目标区域,也就是拆分之后内容存放的位置,同时可以设置每一列的数据格式,长编号身份证建议设置成文本格式,防止变成科学计数
6 点击完成,原来一列内容就拆成左右两列
重点提醒,分列默认会占用原列右侧单元格,如果右边已经有数据,会直接覆盖,操作前建议备份原始列,或者修改目标存放位置
方法二 TEXTSPLIT 函数(新版 Excel 动态拆分)
Office365 和新版 Excel 支持,输入一次公式自动溢出到两列,源单元格修改,拆分结果自动刷新
基础语法 TEXTSPLIT (待拆分单元格,列分隔符)
示例,A1 单元格内容是 张三 - 13800001111,按照短横线拆成两列
公式 =TEXTSPLIT (A1,"-")
输入回车之后,会自动横向溢出,左边一列是张三,右边一列是手机号
方法三 老版本 Excel 函数拆分(无 TEXTSPLIT)
老版本没有 TEXTSPLIT,使用 FIND 定位分隔符,搭配 LEFT 和 MID 拆成两列
A1 内容 张三,13800001111,按逗号拆分
第一列公式 =LEFT (A1,FIND (",",A1)-1)
第二列公式 =MID (A1,FIND (",",A1)+1,999)
含义,FIND 找到逗号位置,LEFT 提取逗号左边文字,MID 提取逗号右边全部文字
方案对比
| 项目 | 分列功能 | TEXTSPLIT 函数 |
|---|---|---|
| 是否动态更新 | 静态,源数据改动结果不变 | 动态,源数据修改自动更新 |
| 版本要求 | 所有 Excel 版本都支持 | 仅新版 Office365 支持 |
| 操作难度 | 向导可视化,简单 | 需要书写公式 |
| 适用场景 | 一次性批量整理 | 后续持续修改源数据 |
进阶排错要点
第一 如果是单元格内部 Alt 加 Enter 强制换行,想按换行拆成两列,TEXTSPLIT 里面分隔符使用 CHAR (10)
第二 拆分之后前后多余空格,可以套 TRIM 函数清除多余空格
第三 如果是固定长度拆分,比如前 3 位放第一列,后面全部放第二列,分列第一步选择固定宽度,拖动拆分线到第 3 字符位置,直接拆成两列
第四 WPS 表格同样支持分列,新版 WPS 也支持 TEXTSPLIT,操作逻辑和微软 Excel 一致
【常见问题】
问题 1 excel 单元格怎么拆分为二列,分列会不会覆盖右边原有数据
回答 1 excel 单元格怎么拆分为二列,分列默认占用原列右侧单元格,excel 单元格怎么拆分为二列之前建议备份,或者修改目标存放位置,避免覆盖原有数据。
问题 2 excel 单元格怎么拆分为二列,老版本 Excel 没有 TEXTSPLIT 怎么办
回答 1 excel 单元格怎么拆分为二列,老版本没有 TEXTSPLIT,excel 单元格怎么拆分为二列可以继续使用分列,或者用 LEFT 加 FIND 搭配 MID 函数组合拆分。
问题 3 excel 单元格怎么拆分为二列,源数据修改之后拆分结果不会自动变吗
回答 1 excel 单元格怎么拆分为二列,如果使用分列,是静态结果,源数据改动不会自动刷新,excel 单元格怎么拆分为二列想要动态更新,改用 TEXTSPLIT 函数。
问题 4 excel 单元格怎么拆分为二列,拆分之后长数字变成科学计数怎么办
回答 1 excel 单元格怎么拆分为二列,在分列第三步,把对应列设置成文本格式,excel 单元格怎么拆分为二列之后长编号身份证就不会变成科学计数法。
【免责申明】
本文基于微软 Excel 常规版本编写,新版函数对 Office 版本有要求,不同版本界面存在差异,操作前建议备份表格,本文仅作为办公学习参考,不对操作失误造成数据丢失承担责任。


