Excel公式在某些单元格上返回false

我有一个嵌套的IF语句在excel中的某些单元格返回FALSE的几列。

=IF(DATEDIF(B2,C2,"y")<5,3.077,IF(AND(DATEDIF(B2,C2,"y")>5,DATEDIF(B2,C2,"y")<10),3.5385,IF(AND(DATEDIF(B2,C2,"y")>10,DATEDIF(B2,C2,"y")<15),3.846,IF(AND(DATEDIF(B2,C2,"y")>15,DATEDIF(B2,C2,"y")<20),4.308,IF(AND(DATEDIF(B2,C2,"y")>20),4.615))))) 

这些工作:

B2 – 2/3/95,C2 – =今天()

B2 – 2/21/08,C2 – =今天()

B2 – 9/1/99,C2 – =今天()

这些不是:

B2 – 2/6/12,C2 – 今天()

B2 – 3/1/07,C2 – 今天()

B2 – 12/8/11,C2 – 今天()

B2 – 3/31/97,C2 – 今天()

任何帮助将不胜感激。

你的问题是,你已经创造了一个“口袋”,其中年差不低于5或大于5; 换句话说,5.你可以通过给他们中的一个添加一个等号来解决这个问题。 例如<= 5或> = 5。

但是,您也可能希望使用IF语句的逻辑并大幅减less公式。 一旦你testingless于5你知道任何继续在该IF的FALSE处理部分将是5或更大。 你不必为此testing。

 =IF(DATEDIF(B2,C2,"y")<5, 3.077, IF(DATEDIF(B2,C2,"y")<10, 3.5385, IF(DATEDIF(B2,C2,"y")<15, 3.846, IF(DATEDIF(B2,C2,"y")<20, 4.308, 4.615)))) 

这也可以写成一个LOOKUP函数。

 =LOOKUP(DATEDIF(B2,C2,"y"), {0,5,10,15,20}, {3.077,3.5385,3.846,4.308,4.615})