logging3列以上的最新值

我想在Excel中创build一个函数,它只会从四个不同的列(第1天到第4列)取最新的值。 直到第3天,它logging正​​确,但第四天没有任何事情发生。 尽pipe一天有新的价值,总数仍然logging了最近的第三天的价值。 这是我的function

=IF(AND(E3=I3,I3=M3,M3=Q3),Q3, IF(Q3="Passed",Q3, IF(M3="Passed",M3, IF(I3="Passed",I3, IF(E3="Passed",E3, IF(Q3="Failed",Q3, IF(M3="Failed",M3, IF(I3="Failed",I3, IF(E3="Failed",E3, IF(Q3="No Run",Q3, IF(M3="No Run",M3, IF(I3="No Run",I3, IF(E3="No Run",E3,"N/A"))))))))))))) 

你的公式对我来说似乎可以工作,但它可以简化为:

 =IF(OR(E3="Passed",I3="Passed",M3="Passed",Q3="Passed"),"Passed", IF(OR(E3="Failed",I3="Failed",M3="Failed",Q3="Failed"),"Failed", IF(OR(E3="No Run",I3="No Run",M3="No Run",Q3="No Run"),"No Run", "N/A"))) 

(简单的唯一的问题是,如果所有的单元格都是空的,它将返回"N/A"而不是0 ,如果这是个问题,你可以添加额外的IF(AND(E3=I3,I3=M3,M3=Q3),Q3条件再次向前。)


如果你的问题是,如果你想要Q3的值是非空白的,否则取非M3的值,如果非空白,否则取值为I3,否则取值的E3,如果它是非空的,否则使用“N / A”,那么你的公式应该是

 =IF(Q3<>"",Q3,IF(M3<>"",M3,IF(I3<>"",I3,IF(E3<>"",E3,"N/A"))))