我有 2 个日期 2016 年 7 月 1 日和 2016 年 12 月 5 日,我需要计算 31 天月份的天数(31+31+31+4=98)。
我如何获得天数?
答案1
如何计算日期之间的差异?
当您想要计算两个日期之间的差值时,请使用 DATEDIF 函数。首先在一个单元格中输入开始日期,在另一个单元格中输入结束日期。然后输入如下公式之一。
在此示例中,开始日期在单元格 D9 中,结束日期在单元格 E9 中。公式在 F9 中。“d”返回两个日期之间的整天数。
答案2
使用 SUMPRODUCT 迭代所有日期,并计算出属于 31 天月份的日期总数:
=SUMPRODUCT(--(DAY(EOMONTH(ROW(INDEX(A:A,A1):INDEX(A:A,B1)),0))=31))
ROW(INDEX(A:A,A1):INDEX(A:A,B1))
创建一个从开始到结束的日期数组。
EOMONTH(...,0)
查找该月的最后日期。
DAY(...)
返回数字日期。
(...=31)
测试那一天是否是 31。如果是,则为 TRUE,否则为 FALSE。
--
将 TRUE/FALSE 分别变为 1/0。
SUMPRODUCT(...)
使公式遍历上述数组,依次测试每个日期并将 1 和 0 加在一起。