Excel 中的嵌套 If 和公式

Nested If And Formula in Excel

我有一份 excel 文档,A 列中的日期从 2014 年 4 月到 2017 年 4 月不等。

我需要根据月份和年份分配一个数字 - 2014 年 4 月是 23,以后每个月都会减少 1。所以 2014 年 5 月是 22,2014 年 6 月是 21,依此类推。一旦我到达 2016 年 3 月或 0,所有大于该日期的日期也为 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))

日期 (A2) 和日期 (2016,3,1) 之间的 Yearfrac 将为您提供两者之间的一年部分,您可以将其乘以 12 并四舍五入得到月份数。 if 语句处理三月之后的几个月。

试试这个:

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