You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets如何拆分A列时间数据并按B列格式展示

Google Sheets A列时间数据拆分规整为B列格式实现方案
  • 逐行处理公式(适合小数据量,下拉填充)
    直接在B列对应A列数据的首行(若第一行为表头则选B2单元格)输入以下公式,按住单元格右下角下拉即可批量生成规整结果:
    =IF(A2="","",TEXT(INDEX(REGEXEXTRACT(A2,"(\d{1,2}:\d{2}\s?[AP]M)\s*-\s*(\d{1,2}:\d{2}\s?[AP]M).*?(\d{1,4}[-/.]\d{1,2}[-/.]\d{1,4})"),1,1),"hh:mm AM/PM") & " - " & TEXT(INDEX(REGEXEXTRACT(A2,"(\d{1,2}:\d{2}\s?[AP]M)\s*-\s*(\d{1,2}:\d{2}\s?[AP]M).*?(\d{1,4}[-/.]\d{1,2}[-/.]\d{1,4})"),1,2),"hh:mm AM/PM") & " " & TEXT(DATEVALUE(INDEX(REGEXEXTRACT(A2,"(\d{1,2}:\d{2}\s?[AP]M)\s*-\s*(\d{1,2}:\d{2}\s?[AP]M).*?(\d{1,4}[-/.]\d{1,2}[-/.]\d{1,4})"),1,3)),"yyyy/mm/dd"))
  • 整列自动溢出公式(无需手动下拉,适合动态新增数据)
    直接在B1单元格输入以下数组公式,后续A列输入新的时间数据时,B列会自动生成对应规整结果,无需手动操作:
    =ARRAYFORMULA(IF(A:A="","",TEXT(INDEX(REGEXEXTRACT(A:A,"(\d{1,2}:\d{2}\s?[AP]M)\s*-\s*(\d{1,2}:\d{2}\s?[AP]M).*?(\d{1,4}[-/.]\d{1,2}[-/.]\d{1,4})"),,1),"hh:mm AM/PM") & " - " & TEXT(INDEX(REGEXEXTRACT(A:A,"(\d{1,2}:\d{2}\s?[AP]M)\s*-\s*(\d{1,2}:\d{2}\s?[AP]M).*?(\d{1,4}[-/.]\d{1,2}[-/.]\d{1,4})"),,2),"hh:mm AM/PM") & " " & TEXT(DATEVALUE(INDEX(REGEXEXTRACT(A:A,"(\d{1,2}:\d{2}\s?[AP]M)\s*-\s*(\d{1,2}:\d{2}\s?[AP]M).*?(\d{1,4}[-/.]\d{1,2}[-/.]\d{1,4})"),,3)),"yyyy/mm/dd")))
  • 自定义调整说明
    • 公式默认适配开始时间 - 结束时间 + 任意间隔字符 + 日期结构的混合文本时间数据,自动过滤中间的冗余字符
    • 如果需要调整输出格式,可修改TEXT函数的第二个参数:比如把日期改成yyyy年mm月dd日、时间改成24小时制hh:mm即可
    • 如果A列存储的是Sheets可直接识别的原生时间格式(非文本),可直接用SPLIT(A2,"-")拆分时段后,分别用TEXT格式化即可,不需要正则匹配

注意:使用前请确认A列的时间文本里AM/PM标记、日期分隔符没有特殊自定义字符,否则需要对应调整正则匹配规则。

内容的提问来源于stack exchange,提问作者Ashish Dave

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 19:30:15