年、日、小时、分钟格式的两个日期之间的差异 [英] Difference between two dates in years days hours minutes format

查看:20
本文介绍了年、日、小时、分钟格式的两个日期之间的差异的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试找出两天&xx年xx天xx小时xx分钟&Quot;格式之间的差异。我的开始日期在A列,结束日期在B列。在C列计算差异。

我在C列中使用B1-A1公式,在C列中使用自定义格式"yy" years "dd" days "hh" hours "mm" minutes"。如果开始年和结束年不同,它就可以正常工作。但如果相同,则C列报告的年份和日期不正确。(显示为99岁零30天)。

如何修复?

Sample google sheet link

推荐答案

您的B2 - A2公式实际上得到了正确的结果-它是一个日期序列值,以为单位表示两个时刻之间的差异。

问题出在您正在使用的自定义号码格式。它指的是日历时间,而您需要经过的时间。不幸的是,Google Sheet显然只支持以小时、分钟和秒为单位的已用时间。

如果您对文本字符串结果满意,请使用以下命令:

=datedif(A2, B2, "y") & " years " & datedif(A2, B2, "d") - 365 * datedif(A2, B2, "y") & " days " & text(B2 - A2 - int(B2 - A2), "HH ""hours"" mm ""minutes""")

该公式假定所有年份均为365天长,如果日期跨度跨过闰日,则此假设将不正确。

要获得平均运行时间,请使用数组公式计算所有行的=B2 - A2,然后计算这些结果的平均值,最后根据您的喜好设置结果格式,如下所示:

=arrayformula( average( if( B2:B + A2:A, B2:B - A2:A, iferror(1/0) ) ) )

=datedif(0, G2, "y") & " years " & datedif(0, G2, "d") - 365 * datedif(0, G2, "y") & " days " & text(G2 - 0 - int(G2 - 0), "H ""hours"" m ""minutes""")

请参阅sample spreadsheet中的单元格F2:G2

有关日期和时间值在电子表格中如何工作的说明,请参阅this answer

这篇关于年、日、小时、分钟格式的两个日期之间的差异的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆