Excel同类型多分隔符下文本拆分为列的方法及实例
解决Excel多连字符场景下的文本拆分问题
针对你提到的「Recording Time」列内容(如Monday July 11 2022 - 8:00am - 10:00am),要拆分为日期和带连字符的时间段两列,这里提供3种实用方法:
方法1:用TEXTBEFORE/TEXTAFTER函数(Excel 365/2021及以上版本)
这两个函数专为文本前后提取设计,直接按第一个指定分隔符拆分:
- 提取日期列(假设原数据在A2单元格):
=TEXTBEFORE(A2, " - ")
原理:定位第一个-(空格+连字符+空格),返回其左侧所有内容 - 提取时间段列:
=TEXTAFTER(A2, " - ")
原理:返回第一个-右侧所有内容,保留后面的连字符
方法2:分列功能(兼容所有Excel版本)
适合批量处理数据,步骤如下:
- 复制「Recording Time」列到相邻空白列(避免修改原数据)
- 选中复制后的列,点击顶部「数据」选项卡 → 「分列」
- 在弹窗中选择「分隔符号」→ 点击「下一步」
- 勾选「其他」,在输入框中填入
-(注意前后的空格) - 点击「完成」,即可自动拆分出日期和时间段两列
如果担心分隔符输入错误,可先做临时替换:
- 选中目标列,按
Ctrl+H打开替换对话框 - 「查找内容」填
-,「替换为」填一个不重复的特殊符号(比如|),点击「全部替换」 - 再用「分列」功能,选择「其他」并输入
|作为分隔符完成拆分
方法3:LEFT/FIND组合函数(旧版Excel适用)
如果你的Excel版本不支持TEXTBEFORE/TEXTAFTER,用基础函数组合实现:
- 提取日期列:
=LEFT(A2, FIND(" - ", A2)-1)
原理:用FIND定位第一个-的起始位置,再用LEFT截取该位置左侧的内容 - 提取时间段列:
=MID(A2, FIND(" - ", A2)+3, LEN(A2))
原理:从第一个-的结束位置(起始位置+3,因为-占3个字符)开始,截取到文本末尾
内容的提问来源于stack exchange,提问作者Brooke Taylor
相关产品推荐
相关产品推荐

