excel
2013-04-02 14 views 9 likes 
9

Ich muss eine "if" -Anweisung in Excel basierend auf Text in zwei verschiedenen Zellen schreiben.Mehrere IF AND-Anweisungen Excel

If E2 ='in play' and F2 ='closed'  output 3 
If E2= 'in play' and F2 ='suspended' output 2 
If E2 ='In Play' and F2 ='Null'  output 1 
If E2 ='Pre-Play' and F2 ='Null'  output -1 
If E2 ='Completed' and F2 ='Closed'  output 2 
If E2 ='Suspended' and F2 ='Null'  output 3 
If anything else output -2 

wo Null kein Wert in der Zelle ist

Ich habe versucht, dies unten mit dem Code zu tun, aber ich kann nicht zu bekommen zwei oder mehr scheint IF und Aussagen zusammen arbeiten. Wie kann ich dieses Problem lösen?

Antwort

16

Bedenken Sie, dass Sie mehr "Tests", zum Beispiel haben,

  1. Wenn E2 = 'im Spiel' und F2 = 'geschlossen', Ausgabe 3
  2. Wenn E2 = 'im Spiel' und F2 = 'ausgesetzt', Ausgabe 2
  3. etc.

Was Sie wirklich tun müssen, ist aufeinanderfolgende Tests im False Argument setzen. Sie versuchen derzeit, jeden Test durch ein Komma zu trennen, und das wird nicht funktionieren.

Ihre ersten drei Tests können alle wie in einem Ausdruck verbunden werden:

=IF(E2="In Play",IF(F2="Closed",3,IF(F2="suspended",2,IF(F2="Null",1))))

Daran erinnernd, dass jeder nachfolgende Test die verschachtelte FALSCH Argument des vorhergehenden Test sein muss, können Sie dies tun:

=IF(E2="In Play",IF(F2="Closed",3,IF(F2="suspended",2,IF(F2="Null",1))),IF(AND(E2="Pre-Play",F2="Null"),-1,IF(AND(E2="completed",F2="closed"),2,IF(AND(E2="suspended",F2="Null"),3,-2))))

+0

+1 David kommunizieren, verwirrte ich die Klammern auf meine - ich erkannte, dass, wenn ich Ihre Version gesehen haben! Jetzt bearbeitet ...... –

+0

keine Sorgen, ich posten meins nur um zu sehen, dass Sie mich dazu schlagen :) –

8

Mit Ihren ANDs sollten Sie keinen FALSE-Wert -2 haben, bis direkt am Ende, z. mit nur 2 ANDs

=IF(AND(E2="In Play",F2="Closed"),3,IF(AND(E2="In Play",F2=" Suspended"),3,-2))

obwohl es mit einer Kombination von verschachtelten IFs und ANDs besser sein könnte - versuchen, wie dies für die volle Formel: [Bearbeitet - dank David]

=IF(E2="In Play",IF(F2="Closed",3,IF(F2="Suspended",2,IF(F2="Null",1))),IF(AND(E2="Pre-play",F2="Null"),-1,IF(AND(E2="Completed",F2="Closed"),2,IF(AND(E2="Pre-play",F2="Null"),3,-2))))

Um eine lange Formel wie oben zu vermeiden, können Sie eine Tabelle mit allen E2 Möglichkeiten in einer Spalte wie K2: K5 und alle F2 Möglichkeiten in einer Zeile wie L1: N1 erstellen. Tragen Sie dann die gewünschten Ergebnisse in L2: N5 ein und verwenden Sie diese Formel

=INDEX($L$2:$N$5,MATCH(E2,$K$2:$K$5,0),MATCH(F2,$L$1:$N$1,0))

1

Versuchen Sie folgendes:

=IF(OR(E2="in play",E2="pre play",E2="complete",E2="suspended"), 
IF(E2="in play",IF(F2="closed",3,IF(F2="suspended",2,IF(ISBLANK(F2),1,-2))), 
IF(E2="pre play",IF(ISBLANK(F2),-1,-2),IF(E2="completed",IF(F2="closed",2,-2), 
IF(E2="suspended",IF(ISBLANK(F2),3,-2))))),-2) 
-1

machen diese 2

=IF(OR(AND(MID(K27,6,1)="N",(MID(K27,6,1)="C"),(MID(K27,6,1)="H"),(MID(K27,6,1)="I"),(MID(K27,6,1)="B"),(MID(K27,6,1)="F"),(MID(K27,6,1)="L"),(MID(K27,6,1)="M"),(MID(K27,6,1)="P"),(MID(K27,6,1)="R"),(MID(K27,6,1)="P"),ISTEXT(G27)="61"),AND(RIGHT(K27,2)=G27)),"Good","Review") 

=IF(AND(RIGHT(K27,2)=G27),"Good","Review") 
Verwandte Themen