如何找出两个日期之间的小时差 dd/mm/yyyy hh:mm
How to find the difference in hours between two dates dd/mm/yyyy hh:mm
我的单元格中有两个日期
A1=05.11.2021 18:16
B1=05.11.2021 20:16
我需要找出两个日期之间的时差。结果应该是(B1-A1)=2 网上找不到答案,求助
编辑:
正如@basic 在上面的评论中提到的那样,您可以格式化输出所在的单元格,或者使用 text
和 h
用于时差,而 [h]
用于整个持续时间以小时为单位(从 Cooper 的回答中得到)。请参阅下面的用法和区别:
正文:
=text(B1-A1, "h")
或
=text(B1-A1, "[h]")
更新:
- 确保您的日期时间使用正确的分隔符。
/
和 -
是可以接受的(例如 5/11/2021 18:16:00
或 5-11-2021 18:16:00
)。 (这完全取决于您的语言环境。)
如果要显示它以 .
作为分隔符,只需使用自定义日期时间格式并使用 .
作为分隔符。
使用自定义格式:
实际值与显示值:
如果您不想对日期时间做任何更改并希望将其作为文本,请在 text
中使用它们之前使用 regexreplace
替换它们.
正则表达式替换:
=text(REGEXREPLACE(B1, "\.", "/") - REGEXREPLACE(A1, "\.", "/"), "h")
或
=text(REGEXREPLACE(B1, "\.", "/") - REGEXREPLACE(A1, "\.", "/"), "[h]")
使用:
=TEXT((DATE(
REGEXEXTRACT(B1, "\d{4}"),
REGEXEXTRACT(B1, "\.(\d+)\."),
REGEXEXTRACT(B1, "^\d+"))+INDEX(SPLIT(B1, " "),,2))-(DATE(
REGEXEXTRACT(A1, "\d{4}"),
REGEXEXTRACT(A1, "\.(\d+)\."),
REGEXEXTRACT(A1, "^\d+"))+INDEX(SPLIT(A1, " "),,2)), "[h]")
数组公式:
=INDEX(IFNA(TEXT((DATE(
REGEXEXTRACT(B1:B, "\d{4}"),
REGEXEXTRACT(B1:B, "\.(\d+)\."),
REGEXEXTRACT(B1:B, "^\d+"))+INDEX(SPLIT(B1:B, " "),,2))-(DATE(
REGEXEXTRACT(A1:A, "\d{4}"),
REGEXEXTRACT(A1:A, "\.(\d+)\."),
REGEXEXTRACT(A1:A, "^\d+"))+INDEX(SPLIT(A1:A, " "),,2)), "[h]")))
更短:
=INDEX(IFERROR(1/(1/(TEXT(
REGEXREPLACE(B1:B, "(\d+).(\d+).(\d{4})", "//")-
REGEXREPLACE(A1:A, "(\d+).(\d+).(\d{4})", "//"), "[h]")))))
我的单元格中有两个日期
A1=05.11.2021 18:16
B1=05.11.2021 20:16
我需要找出两个日期之间的时差。结果应该是(B1-A1)=2 网上找不到答案,求助
编辑:
正如@basic 在上面的评论中提到的那样,您可以格式化输出所在的单元格,或者使用 text
和 h
用于时差,而 [h]
用于整个持续时间以小时为单位(从 Cooper 的回答中得到)。请参阅下面的用法和区别:
正文:
=text(B1-A1, "h")
或
=text(B1-A1, "[h]")
更新:
- 确保您的日期时间使用正确的分隔符。
/
和-
是可以接受的(例如5/11/2021 18:16:00
或5-11-2021 18:16:00
)。 (这完全取决于您的语言环境。)
如果要显示它以
.
作为分隔符,只需使用自定义日期时间格式并使用.
作为分隔符。使用自定义格式:
实际值与显示值:
如果您不想对日期时间做任何更改并希望将其作为文本,请在
text
中使用它们之前使用regexreplace
替换它们.
正则表达式替换:
=text(REGEXREPLACE(B1, "\.", "/") - REGEXREPLACE(A1, "\.", "/"), "h")
或
=text(REGEXREPLACE(B1, "\.", "/") - REGEXREPLACE(A1, "\.", "/"), "[h]")
使用:
=TEXT((DATE(
REGEXEXTRACT(B1, "\d{4}"),
REGEXEXTRACT(B1, "\.(\d+)\."),
REGEXEXTRACT(B1, "^\d+"))+INDEX(SPLIT(B1, " "),,2))-(DATE(
REGEXEXTRACT(A1, "\d{4}"),
REGEXEXTRACT(A1, "\.(\d+)\."),
REGEXEXTRACT(A1, "^\d+"))+INDEX(SPLIT(A1, " "),,2)), "[h]")
数组公式:
=INDEX(IFNA(TEXT((DATE(
REGEXEXTRACT(B1:B, "\d{4}"),
REGEXEXTRACT(B1:B, "\.(\d+)\."),
REGEXEXTRACT(B1:B, "^\d+"))+INDEX(SPLIT(B1:B, " "),,2))-(DATE(
REGEXEXTRACT(A1:A, "\d{4}"),
REGEXEXTRACT(A1:A, "\.(\d+)\."),
REGEXEXTRACT(A1:A, "^\d+"))+INDEX(SPLIT(A1:A, " "),,2)), "[h]")))
更短:
=INDEX(IFERROR(1/(1/(TEXT(
REGEXREPLACE(B1:B, "(\d+).(\d+).(\d{4})", "//")-
REGEXREPLACE(A1:A, "(\d+).(\d+).(\d{4})", "//"), "[h]")))))