Micorsoft Excel 2010 if 公式用于计算两个日期之间的

Micorsoft Excel 2010 if 公式用于计算两个日期之间的

我有两列,一列表示开始日期,一列表示结束日期。我尝试自动计算两个日期之间的月份。但是,如果开始日期是 15 日或之后,则算作下个月(例如 01/15/16 将算作二月)。

我在想一个 if 公式,如果开始日期是第 1 天:14

IF(D6<14,(year(e6)-year(d6))*12+month(e6)-month(d6),(year(e6)-year(d6))*12+month(e6)-month(d6)+1). 但我无法让它工作。

在此处输入图片描述

还有其他建议吗?

答案1

您可以使用DATEDIF函数在 IF 语句中执行此操作。

使用F6语句IF检查“开始日期为 15 日或之后",其结果将修改DATEDIF计算。

=IF(DAY(D6)>=15, DATEDIF(D6,E6, "m")-1, DATEDIF(D6,E6, "m"))

这将检查开始日期是否大于 15。如果是,则使用该DATEDIF函数计算月份,减去 1 个月。

在此处输入图片描述

如果天数不超过15,则使用标准DATEDIF计算。

在此处输入图片描述

注意:我的图像使用不同的单元格。

答案2

有一个非常简单的方法:

=(E6-D6)/30.4375

结果将告诉您两个日期之间相隔了多少个月。除以该数字得到的是 4 年内一年的平均天数(包括 1 个闰年)。

这是因为 Excel 存储日期的方式。它实际上是以自 1900 年 1 月 1 日以来的天数来存储的,因此算术运算是有效的。

请注意,如果您将数字类型设置为不显示小数,则会将 16 天四舍五入为整月。如果您想避免这种情况,只需将其向下舍入,然后结果将是经过的整月数:

=INT((E6-D6)/30.4375)

相关内容