Bedingungen ohne VBA auswerten

Als Reaktion auf den Tipp äVielfach verschachtelte Bedingung auswertenä in der CHIP-Ausgabe 9/2000 erreichten die Redaktion mehrere Leserbriefe mit Vorschlägen, wie diese Aufgabe auch ohne VBA-Programmierung zu lösen ist. Dabei handelt es sich um verschiedene Spezialfälle des auszuwertenden Bedingungsgeflechts, bei denen diese einfacheren Methoden anwendbar sind. CHIP erläutert deshalb noch einmal, welche Typen verschachtelter Bedingungen auftreten können und wie diese jeweils am einfachsten auszuwerten sind.

Das Bild unten zeigt symbolisch drei verschiedene Typen, wie verschachtelte Bedingungen zusammenhängen können. Im ersten Typ eines hierarchisch aufgebauten Entscheidungsbaumes sind je nach Ergebnis einer Bedingung in der nächsten Ebene verschiedene neue Bedingungen auszuwerten.

Im zweiten Typ hierarchisch voneinander abhängiger Entscheidungen resultiert aus einer erfüllten Bedingung ein konkretes Ergebnis. Nur bei Nichterfüllung der Bedingung sind in der nächsten Ebene weitere Bedingungen auszuwerten.

Der dritte Typ ist keine echte verschachtelte Bedingung, sondern eine umschriebene Alternativentscheidung. Die verschachtelte Bedingung dient hier nur zur aufeinander folgenden Auswertung einer einzelnen Bedingung, die viele verschiedene Resultate liefern kann.

Für den dritten Typ benötigen Sie nicht die VBA-Lösung. Sie können die »WENN«-Funktionen entsprechend Ihrer Aufgabenstellung mit dem Operator »&« verknüpfen wie zum Beispiel



=WENN(A1=1;1;)&WENN(A1=2;2;)&...



Alternativ kommen Sie auch mit Hilfe der Matrixfunktion »SVERWEIS« zum Ergebnis.

Wenn Ihre Problemstellung dem zweiten Typ entspricht, können Sie noch immer auf die VBA-Programmierung verzichten. Beginnen Sie die Eingabe der Funktion ganz normal, als ob es keine Beschränkung gäbe. Spätestens in der siebten Ebene der Verschachtelung geben Sie als »sonst« auszuführende Operation keine weitere »WENN«-Funktion ein, sondern die Adresse einer anderen Zelle. In dieser Zelle können Sie dann von Neuem »WENN«-Funktionen eingeben, um noch alle weiteren Bedingungen auszuwerten:



Formel in B1: =WENN(A1=1;1;WENN(A1=2;2;B2))

Formel in B2: =WENN(A1=3;3;)



Eine ähnliche Variante ohne VBA-Programmierung ist zwar prinzipiell auch für eine Problemstellung des ersten Typs denkbar. In diesem Fall können Sie die Bedingungen jedoch nicht erst nach der siebten Ebene trennen, sondern Sie müssen jede einzelne Ebene durch Zellverweise zu weiteren Hilfszellen in Ihrer Tabelle nachbilden. Dabei verlieren Sie schnell die Übersicht und können die Tabelle nicht wunschgemäß gestalten. In diesem Fall bleibt Ihnen sinnvollerweise nur noch die bereits in Ausgabe 9/2000 vorgestellte VBA-Programmierung.