2017-03-15 64 views
0

我想在excel中創建一個函數,它只會從四個不同的列(第1天到第4列)取最新的值。直到第3天它記錄正確,但第四天沒有發生任何事情。即使日期有新的價值,總數仍然記錄了最近的第3天的價值。這是我的funtion記錄超過3列的最新值

=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"))))))))))))) 

回答

2

您的公式似乎爲我工作確定,但它可以簡化爲:

=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"))))