我有两列,一列表示开始日期,一列表示结束日期。我尝试自动计算两个日期之间的月份。但是,如果开始日期是 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)