首页 > 解决方案 > 表示为年、月、日的两个日期之间的差异(在一列中)

问题描述

我在 Google 表格中设置了一组列,使用该DATEDIF函数显示两个日期之间的差异:

=DATEDIF (AS2, TODAY(), "D") 

(从某个日期到今天过去的天数)

=DATEDIF (AR11, AS11, "D")

(两个特定日期之间经过的天数)

这些值表示为(天)数。这对于较短的持续时间很好,但对于像 987 天这样的时间,我想将值显示为更直观的东西,例如:

| 2 Years, 8 months, 17 days | 

如果这在同一列中是不可能的,我至少希望有一组三列,以三种不同的值类型显示此持续时间:

| 2 Years | 8 months | 17 days |

只需更改每列的值类型(例如从几天到几个月)就足够简单了,但我不确定如何继续保持显示的值相互关联(而不仅仅是让在不同的持续时间类型中显示相同的值)。

请问有什么建议吗?

标签: dategoogle-sheetsformattinggoogle-sheets-formulaarray-formulas

解决方案


=IF(DATEDIF(A1, B1, "D")>365, QUOTIENT(DATEDIF(A1, B1, "D"), 365)&" year(s) "&
                          QUOTIENT(MOD(DATEDIF(A1, B1, "D"), 365), 30)&" month(s) "&
                      MOD(QUOTIENT(MOD(DATEDIF(A1, B1, "D"), 365), 30), 30)&" day(s)",
 IF(DATEDIF(A1, B1, "D")>30,  QUOTIENT(DATEDIF(A1, B1, "D"), 30)&" month(s) "&
                                   MOD(DATEDIF(A1, B1, "D"), 30)&" day(s)", 
                                       DATEDIF(A1, B1, "D")&" day(s)"))

0


推荐阅读