【问题标题】:Excel iso 8601 timestamp subtract 2 hours convertExcel iso 8601 时间戳减去 2 小时转换
【发布时间】:2019-03-07 21:09:14
【问题描述】:

我有大量需要在 Excel 中更改的日期/时间字段。我需要从当前的日期/时间格式 ISO 8601 中减去 2 小时。

例如: 2006-09-21 16:45:00 +0000 2006-09-21 14:45:00 +0000

我能够将数据解析为单独的列并使用以下公式减去 2 小时:=B1+TIME(2,0,0),然后将列集中回来。

当时间为 01:59:99 或更短时,我遇到了问题。它给了我#######

任何人都有一个公式可以从 ISO 8601 格式中减去 2 小时。请和谢谢。

【问题讨论】:

  • 只需将该值添加回您的日期,它应该会正确显示。 Excel 不会显示负数(使用 1900 日期系统时),但会保留实际值(一天的小数部分)。

标签: excel excel-formula datetime-format data-migration iso8601


【解决方案1】:

如果您想在单个公式中执行此操作,可以使用:

A1:  your_ISO_datetime
B1:  =LEFT(A1,19)-TIME(2,0,0)
   with custom format: yyyy-mm-dd hh:mm:ss "+0000"

【讨论】:

    【解决方案2】:

    如果您的原始值在单元格 A2 中,这应该会有所帮助:

    =IF(NUMBERVALUE(MID(A2,12,2))<2,LEFT(A2,8)&TEXT(NUMBERVALUE(MID(A2,9,2))-1,"00")&" "&TEXT(NUMBERVALUE(MID(A2,12,2)-2+24),"00")&RIGHT(A2,12),LEFT(A2,8)&TEXT(NUMBERVALUE(MID(A2,9,2)),"00")&" "&TEXT(NUMBERVALUE(MID(A2,12,2)-2),"00")&RIGHT(A2,12))
    

    谢谢, 蒂姆

    【讨论】:

    • 正确。日期也必须改变,这就是我难住的地方。
    • 嗨 user3058374,这个公式应该有助于解决您的具体问题:=IF(NUMBERVALUE(MID(A2,12,2))
    猜你喜欢
    • 2021-10-24
    • 2012-02-13
    • 2023-04-11
    • 2013-03-11
    • 2019-02-02
    • 1970-01-01
    • 2011-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多