通过Excel公式计算两个日期之间的月数

问题描述 投票:0回答:1

我需要计算 Excel 中两个日期之间的月数。

如果开始日期的天数小于 2,则本月计为 1。 如果开始日期的日期大于或等于 2,则本月不计算在内。

开始日期是用户指定的任何日期。结束日期始终为 31.12.2023

如果开始日期为 01.05.2023,则月数为 8(因为 5 月 1 日小于 2) 如果开始日期为 02.08.2023,则月数为 4(因为 8 月 02 日大于(或等于)2)。

公式:

=IF(DAY(A1)<2;  (IF(DAY("31.12.2023") >= DAY(A1); (YEAR("31.12.2023") - YEAR(A1)) * 12 + MONTH("31.12.2023") - MONTH(A1) + 1; (YEAR("31.12.2023") - YEAR(A1)) * 12 + MONTH("31.12.2023") - MONTH(A1))); IF(DAY("31.12.2023") >= DAY(A1); (YEAR("31.12.2023") - YEAR(A1)) * 12 + MONTH("31.12.2023") - MONTH(A1) + 1; (YEAR("31.12.2023") - YEAR(A1)) * 12 + MONTH("31.12.2023") - MONTH(A1))-1)

它有效,但是这个公式相当庞大。是否可以简化或使用更有效的方法? (我无法使用 DateDif,因为我们的 Office 版本支持此功能。我不能使用 VBA 宏。

excel date excel-formula
1个回答
0
投票

事实证明,大多数 Excel 版本都支持 DateDif。只是提示不显示。

DateDif的帮助下:

=IF(DAY(A1)<2; DATEDIF(A1; $E$1; "m")+1; DATEDIF(A1; $E$1; "m"))

其中 $E$1 设置为“31.12.2023”或任何其他日期。

© www.soinside.com 2019 - 2024. All rights reserved.