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

如何将Excel中特定文本格式日期时间转换为MS日期时间类型?

Excel文本格式日期时间转标准日期时间解法

原始文本格式示例:"Wed Nov 30 2022 09:30:00 GMT+0530 (India Standard Time)"

一、解决DATEVALUE值错误问题

你用=LEFT(B1,11)提取的日期文本末尾带有多余空格,导致DATEVALUE无法识别。只需用TRIM()去除空格即可:

=DATEVALUE(TRIM(LEFT(B1,11)))

之后将日期与时间合并,得到完整日期时间:

=DATEVALUE(TRIM(LEFT(B1,11)))+TIMEVALUE(RIGHT(B1,8))

二、一次性整列转换的高效方法

方法1:单公式批量处理

无需拆分文本,在空白列首行输入以下公式,下拉填充整列即可:

=DATEVALUE(MID(A1,5,11))+TIMEVALUE(MID(A1,17,8))

输入完成后,选中该列,设置单元格格式为「日期时间」类型(如yyyy-mm-dd hh:mm:ss)。

公式说明:MID(A1,5,11)提取Nov 30 2022部分,MID(A1,17,8)提取09:30:00部分,日期与时间相加得到Excel可识别的日期时间序列值。

方法2:文本分列法

  1. 选中需要转换的整列
  2. 点击「数据」选项卡→「分列」
  3. 步骤1:选择「分隔符号」,点击下一步
  4. 步骤2:勾选「空格」作为分隔符,点击下一步
  5. 步骤3:分别选中包含日期的列(第2-4列),设置「列数据格式」为「日期(MDY)」;选中包含时间的列(第5列),设置为「时间」
  6. 完成分列后,在空白列用公式合并日期列与时间列(如=D1+E1),再设置日期时间格式即可

方法3:VBA宏批量转换(适合大数量数据)

按Alt+F11打开VBA编辑器,插入模块,粘贴以下代码:

Sub ConvertDateTime()
    Dim rng As Range
    Dim cell As Range
    Set rng = Selection
    For Each cell In rng
        If cell.Value <> "" Then
            cell.Value = DateValue(Mid(cell.Value, 5, 11)) + TimeValue(Mid(cell.Value, 17, 8))
            cell.NumberFormat = "yyyy-mm-dd hh:mm:ss"
        End If
    Next cell
End Sub

返回Excel,选中需要转换的列,按Alt+F8运行该宏即可自动完成转换。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 05:15:36