So verwenden Sie die Excel-Switch-Funktion zum Vergleichen mit Wertebereichen

So verwenden Sie die Excel-Switch-Funktion zum Vergleichen mit Wertebereichen

Ich möchte die SWITCH-Funktion verwenden, um festzustellen, ob eine Zahl zwischen zwei anderen Zahlen liegt, wenn nicht, den nächsten Zahlenbereich testen und so weiter.

Das Ziel besteht darin, eine einzellige Antwort zu erhalten und dann die Formel in eine Spalte (in diesem Beispiel mit Datumsangaben) zu kopieren.

Ich habe Folgendes versucht:

=SWITCH(MONTH(44562);{1;2;3};"T1";{4;5;6};"T2";{7;8;9};"T3";{10;11;12};"T4")

Aber die Funktion wird für jedes Element des Arrays ausgeführt und der Vergleich wird auf Array-Ebene durchgeführt:

Ich könnte dies umgehen, indem ich eine IFS-Funktion verwende, aber dazu müsste ich für jedes Argumentenpaar den logischen Test schreiben (und auswerten) und das möchte ich vermeiden.

Vielleicht gehe ich das Problem aus dem falschen Blickwinkel an, aber ich würde trotzdem gerne wissen, ob diese Verwendung von SWITCH irgendwie möglich ist. Vielen Dank im Voraus.


Die Antworten :

Die Version von Reddy Lutonadio ist sehr flexibel, was Listen mit unterschiedlichen Werten angeht. Diese Version habe ich akzeptiert.

Das von Ron Rosenfeld ist sehr kompakt, effizient und kann mit reellen Zahlen arbeiten, aber die Listen müssen die gleiche Länge haben.

Meine Meinung: Verwenden Sie IFS für komplexere Situationen (und fügen Sie möglicherweise die LET-Funktion hinzu).

Antwort1

LETSie können eine Kombination der Funktionen , SWITCH, FILTER, NOTund ausprobieren, ISERRORwie in der folgenden Formel gezeigt

=LET(x,SWITCH(MONTH(F1),{1,2,3},"T1",{4,5,6},"T2",{7,8,9},"T3",{10,11,12},"T4"),FILTER(x,NOT(ISERROR(x))))
  • LET-Funktion: ermöglicht die Berechnung x(das ist die SWITCH-Formel) nur einmal.
  • NOT (ISERROR)-Funktionen: Gibt die Zeilen zurück, die keinen Fehler aufweisen.
  • FILTER-Funktion: Gibt den einzigen korrekten Wert zurück.

Bildbeschreibung hier eingeben

Antwort2

Simpler ist für Ihre Anforderungen möglicherweise nicht flexibel genug. Um jedoch dasselbe Ergebnis zu erhalten, verwenden Sie SWITCH:

=SWITCH(INT((MONTH(A1)-1)/3)+1,1,"T1",2,"T2",3,"T3",4,"T4")

Sie können das gleiche Ergebnis mit einer einfacheren Formel erzielen:

=TEXT(INT((MONTH(A1)-1)/3)+1,"\T0")    
=CHOOSE(INT((MONTH(A1)-1)/3)+1,"T1","T2","T3","T4")

verwandte Informationen