如何计算两个日期之间的差值?

如何计算两个日期之间的差值?

我有一张包含以下内容的表格:

  • A 列:名称
  • B栏:入学日期
  • C栏:休假日期
  • D栏:死亡日期
  • Z 列:出生日期

(date of leave - date of admission)如果死亡日期为空,并且(date of leave - date of death)有死亡日期,我想计算停留时间。

我有这个计算年龄的公式:

=DATEDIF($Z5,TODAY(),"Y") & " Years, " & DATEDIF($Z5,TODAY(),"YM") & " Months, " & DATEDIF($Z5,TODAY(),"MD") & " Days"

可以修改它以满足我的需求吗,或者是否有其他公式可用?

答案1

以下公式将为您提供以天数表示的持续时间所需的结果。

=IF($D5='',$C5 - $B5, $C5 - $D5)

更新:如果您想按照问题中的逻辑来表达年、月、日的日期间隔,公式会更加冗长:

=IF($D5='', DATEDIF($B5, $C5, "Y") & " Years, " & DATEDIF($B5, $C5, "YM") & " Months, " & DATEDIF($B5, $C5, "MD") & " Days", DATEDIF($D5, $C5, "Y") & " Years, " & DATEDIF($D5, $C5, "YM") & " Months, " & DATEDIF($D5, $C5, "MD") & " Days")

如果您要在文档中更频繁地使用以年、月和日表示的日期间隔,则值得在相邻单元格中以较小的步骤进行计算或创建用户定义函数,这将有助于您进一步维护文档。只需谷歌搜索“用户定义函数 excel” - 任何顶级链接都对此提供了非常好的解释。

相关内容