年、日、小时、分钟格式的两个日期之间的差异 [英] Difference between two dates in years days hours minutes format
问题描述
我正在尝试找出两天&xx年xx天xx小时xx分钟&Quot;格式之间的差异。我的开始日期在A列,结束日期在B列。在C列计算差异。
我在C列中使用B1-A1
公式,在C列中使用自定义格式"yy" years "dd" days "hh" hours "mm" minutes"
。如果开始年和结束年不同,它就可以正常工作。但如果相同,则C列报告的年份和日期不正确。(显示为99岁零30天)。
如何修复?
推荐答案
您的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屋!