Gibt es in Excel so etwas wie einen 3-Wege-Schalter?

Gibt es in Excel so etwas wie einen 3-Wege-Schalter?

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, Truewenn A1kleiner 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.

verwandte Informationen