Excel" IF" "和"声明没有返回所需的结果

时间:2017-11-02 12:21:51

标签: excel if-statement excel-formula formula

我的excel语句应该标识我希望与之关联的日期。

  • 如果我在E栏中的日期小于2015年1月11日,则F栏读取2015
  • 如果E栏中的日期介于10/31/2015和2016年11月1日之间,则F栏读取2016
  • 如果E栏中的日期大于10/31/2016,则F栏为2017

然而,他们都在阅读2015年。

=IF(E2<"11/01/2015","2015",IF(AND(E2<"11/1/2016",E2>"10/31/2015"),"2016",IF(E2>"10/31/2016","2017")))

3 个答案:

答案 0 :(得分:3)

=IF(AND(E2<>"",NOT(ISNUMBER(E2))),"DATE IS TEXT",IF(E2<date(2015,11,1),2015,IF(E2>DATE(2016,19,31),2017,2016)))

此公式还将测试您在E中的日期是否实际上是excel的序列日期格式或TEXT中的日期。

答案 1 :(得分:2)

使用此:

=IFERROR(MIN(MAX(2015,YEAR(E2+61)),2017),"date is text")

答案 2 :(得分:2)

这也应该有效:

=INDEX({2015;2016;2017},MATCH(E2,{0;42309;42675},1),1)

我必须将日期转换为数字,以便04230942675是什么。可能有更好的方法让它们看起来像日期。

如果E2不是数字,则会引发错误。您可以使用IFERROR与Scott的答案一样来避免它:

=IFERROR(INDEX({2015;2016;2017},MATCH(E2,{0;42309;42675},1),1),"date is text")