在excel中使用嵌套的IF语句

时间:2017-09-08 12:50:29

标签: excel excel-formula

ID   Height   Phase   Corrected_Height  
1    0        A       0                
2    3.5      A       3.5              
3    1.6      A       NA               
4    11.2     A       11.6               
5    10.1     A       NA                
6    13.2     A       13.1               
7    14.7     A       14.7
8    34.5     A       34.5
9    34.2     A       NA
10   33       A       33
11   40       A       40                 
..
300  237.5    P       237.5             
301  231.7    D       231.7             
302  233.3    D       NA
303  232.1    D       232.1
304  231.7    D       231.7
305  232.1    D       NA
306  234.5    D       234.5 
307  230.1    D       230.1            

555  1.0      D       1.0   

这是working with Nested IF statement in excel的后续问题。我创建了一个Corrected_height列,它是用公式

计算的
=IF(AND(B3="A"; A3>=C2);A3;
 IF(AND(B3="A";C2 = "NA");A3;
 IF(AND(B3="D";A3<=C2);A3;
 IF(AND(B3="D";C2 = "NA");B3;
 IF(AND(B3="P");A3;"NA"))))) 

。它在某种程度上起作用,但例如从ID 8-11开始,我希望ID 10为NA,因为它处于A阶段。类似地,ID 306也是NA,因为它处于D阶段。在公式中它只是比较以前的值,因此它似乎没有帮助。 correct_height列需要看起来像13.1 14.7 34.5 NA NA 40 .....231.7 NA NA 231.7 NA NA 230.1

1 个答案:

答案 0 :(得分:2)

让我们简化IF,因为你只需要两个输出; NA或B列中的数字。

然后让我们使用MIN和MAX检查值以确保正确移动:

=IF(OR(AND(C3="A";B3<MAX($B$2:B2));AND(C3="D";B3>MIN(INDEX(B:B;MATCH("P";C:C;0)):B2)));"NA";B3)

enter image description here