Fallauswahl. Kann Access mehr als Excel?

Alexander Achenbach/ Access, Datenbank

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.

Share this Post