Fallauswahl. Kann Access mehr als Excel?
Das ist natürlich grundsätzlich eine etwas provokante Frage, da Access nun einmal für ganz andere Dinge gemacht ist, als Excel.
Gemeint sind komplizierte Wenn-Dann-Sonst-Wenn-Verschachtelungen. So etwas wie folgende Zuordnung:
Wenn( mwst="A" ; 0,19 ; Wenn( mwst="B" ; 0,07 ; Wenn( mwst="C"; 0,16 ; 0 ) ) )
OK. In Access würde dies etwas unschöner aussehen:
Wenn( mwst="A" ; 0,19 ; Wenn( mwst="B" ; 0,07 ; Wenn( mwst="C"; 0,16 ; 0 )))
Dies sind eben drei ineinander verschachtelte Wenn-Funktionen. Dies bedeutet zunächst nichts anderes als:
A=19%
B=7%
C=16%
ansonsten = 0%
Es ist ein sehr simples Beispiel, aber man merkt, wie schnell etwas simples kompliziert werden kann. In Access kann man alternativ die Fallauswahl mit der Schalter()-Funktion nutzen.
Schalter( Frage1 ; Ergebnis1 ; Frage2 ; Ergebnis2 ; ... Frage n Ergebnis n )
Die Funktion ist einfach: Ist Frage 1 wahr, wird Ergebnis 1 zurück geliefert, wenn nicht, gehen wir zu Frage 2 über und so weiter, bis eine Frage wahr ist.
Schalter( mwst="A" ; 0,19 ; mwst="B" ; 0,07 ; mwst="C"; 0,16 ; wahr ; 0 )
Das letzte Frage-Ergebnis-Paar dient als „andernfalls 0%“. Wenn vorher keine andere Frage wahr ergeben hat, ist die letzte Frage auf jeden Fall wahr.
Als Ehrenrettung von Excel: Seit Excel 365 gibt es die Funktion WENNS(), die quasi genau so, wie die Schalter()-Funktion arbeitet.