在Excel中嵌套如果和公式

从2014年4月到2017年4月,我有一个列A中的各种date的Excel文档。

我需要根据月份和年份分配一个数字 – 2014年4月是23,每月下降1。 所以2014年5月22日,2014年6月21日等等。 一旦我到了2016年3月,或者0,所有比这更大的date也是0.我的问题是,excel是治疗2014年4月和2015年4月相同 – 他们都返回值23。

这是我的代码:

=IF(AND(MONTH(A2)=4,YEAR(A2=2014)),"23",IF(AND(MONTH(A2)=5,YEAR(A2=2014)),"22",IF(AND(MONTH(A2)=6,YEAR(A2=2014)),"21",IF(AND(MONTH(A2)=7,YEAR(A2=2014)),"20",IF(AND(MONTH(A2)=8,YEAR(A2=2014)),"19",IF(AND(MONTH(A2)=9,YEAR(A2=2014)),"18",IF(AND(MONTH(A2)=10,YEAR(A2=2014)),"17",IF(AND(MONTH(A2)=11,YEAR(A2=2014)),"16",IF(AND(MONTH(A2)=12,YEAR(A2=2014)),"15",IF(AND(MONTH(A2)=1,YEAR(A2=2015)),"14",IF(AND(MONTH(A2)=2,YEAR(A2=2015)),"13",IF(AND(MONTH(A2)=3,YEAR(A2=2015)),"12",IF(AND(MONTH(A2)=4,YEAR(A2=2015)),"11",IF(AND(MONTH(A2)=5,YEAR(A2=2015)),"10",IF(AND(MONTH(A2)=6,YEAR(A2=2015)),"9",IF(AND(MONTH(A2)=7,YEAR(A2=2015)),"8",IF(AND(MONTH(A2)=8,YEAR(A2=2015)),"7",IF(AND(MONTH(A2)=9,YEAR(A2=2015)),"6",IF(AND(MONTH(A2)=10,YEAR(A2=2015)),"5",IF(AND(MONTH(A2)=11,YEAR(A2=2015)),"4",IF(AND(MONTH(A2)=12,YEAR(A2=2015)),"3",IF(AND(MONTH(A2)=1,YEAR(A2=2016)),"2",IF(AND(MONTH(A2)=2,YEAR(A2=2016)),"1",IF(AND(MONTH(A2)=3,YEAR(A2=2016)),"0",IF(AND(MONTH(A2)>3,YEAR(A2=2016)),"0","0"))))))))))))))))))))))))) 

任何帮助是极大的赞赏!

我会用yearfrac来代替。

  =IF(A2>DATE(2016,3,1),0,ROUND(YEARFRAC(DATE(YEAR(A2),MONTH(A2),1),DATE(2016,3,1))*12,0)) 

在你的date(A2)和date(2016,3,1)之间的Yearfrac会给你一两年之间的一部分,你可以乘以12和一轮来获得月份编号。 if语句将在3月份之后处理几个月。

尝试这个:

 =IF(A2<Date(2016,3,1),DATEDIF(A2,DATE(2016,3,1),"m"),0)