Kurz gesagt, wenn man einen IF-Schalter machen wollte
a) wenn A < 0,5 ... B = 10.
b) wenn A >= 0,5 ... B = 15.
c) wenn A > 1,0 ... B = 20.
Wie würde man dabei vorgehen?
Antwort1
Dies funktioniert als SWITCH-Funktion: -
=CHOOSE(IF(A1<0.5,1,IF(AND(A1>=0.5,A1<=1),2,3)),10,15,20)
Aber hier wird intern Nested IF ausgeführt.
Den Dreiwegeschalter verwenden Sie am besten wie folgt: -
=IF(A1<0.5,10,IF(AND(A1>=0.5,A1<=1),15,20))
Antwort2
Sie können "if"-Ausdrücke wie folgt verschachteln:
=IF(A1<0.5,10,IF(AND(A1>=0.5,A1<=1),15,IF(A1>1,20,"Something else")))
(Ich habe A1<=1 hinzugefügt, da A>1,0 impliziert, dass auch A >= 0,5 ist)
Antwort3
Dies ist der einfachste Weg, dies zu tun.
Eine flexiblere Berechnungsmethode besteht darin, die Verwendung von True=1 in Excel auszunutzen. Angenommen, der Wert befindet sich in A1:
=((A1<0.5)*10)+((A1>=0.5)*15)+((A1>1)*20)
Dadurch können Sie eine beliebige Anzahl von Bedingungen hinzufügen und aus den verschachtelten WENN-Bedingungen herauskommen.
Dies funktioniert, weil in jeder Gruppierung die Auswertung eine logische Funktion ist, die „True“ oder „False“ zurückgibt, d. h. es (A1<0.5)
wird zurückgegeben, True
wenn A1
kleiner ist als 0.5
. Excel verwendet den Wert 1, wenn „True“ in einer arithmetischen Funktion verwendet wird.
Das obige Beispiel, das ich eingegeben habe, ist nicht ganz korrekt. Einige Zahlen generieren True für zwei verschiedene Gruppen. Die mittlere Gruppe bräuchte eine AND()
Funktion zur Begrenzung wie:
AND(A1>=0.5,A1<=1)
Antwort4
Die kürzeste Lösung sollte sein:
=IF(A1<0.5,10,IF(A1<=1,15,20))
Aufgrund des ersten Teils ist das UND im zweiten Teil unnötig.