需要帮助我看起来似乎不对的复杂公式:
数据如下所示:
A B C D E
1 2014 2015 2016
2 5/1/2014 7/1/2016 8 12 7
公式需要根据开始和结束日期A2 / B2计算C1-E1中给定年份的月数。
所以在2014年的开始年份,总共有8个月(5月 - 12月),2015年为12个月,因为开始和结束日期跨越2015年和2016年,因为结束日期结束于那一年,距离多少个月年初到结束日期。
我可以得到答案的一部分,但不能完全理解。请救救我! :)
答案 0 :(得分:1)
我假设您的示例中2016年的7是正确的,因为您将一个月的任何部分计为一个月,在这种情况下,您可以在C2中使用此公式,如果需要,可以反复复制
=IFERROR(MIN(DATEDIF(MAX($A2-DAY($A2)+1,DATE(C$1,1,1)),MIN($B2,DATE(C$1+1,1,0)),"m")+1,12),0)
答案 1 :(得分:0)
此代码将通过一些假设来实现您的目标:
将以下代码粘贴到C2
并将其拖至C2:E2
:
=IF(YEAR($A$2)<C$1,IF(YEAR($B$2)<C$1,0,IF(YEAR($B$2)>C$1,12,MONTH($B$2)-1)),IF(YEAR($A$2)>C$1,0,IF(YEAR($B$2)<C$1,0,IF(YEAR($B$2)>C$1,13-MONTH($A$2),MONTH($B$2)-MONTH($A$2)))))
答案 2 :(得分:0)
使用您提供的示例,使工作表如下所示:
在单元格C2中,右侧复制的是以下公式:
=IF(YEAR($A2)=C$1,13-MONTH($A2),IF(YEAR($B2)=C$1,MONTH($B2),IF(OR(YEAR($A2)>C$1,YEAR($B2)<C$1),0,12)))