我有一张包含以下内容的表格:
- 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” - 任何顶级链接都对此提供了非常好的解释。