Archiv des LibreOffice- und OpenOffice.org-Wiki

[ÜberSicht] [TitelIndex] [WortIndex] [SeiteFinden

Eine WENN-Verschachtelung ist zu vergleichen mit den IF-Sequenzen eines Programmes, aber ohne die Möglichkeit, Kommentare einzufügen. Und auch wenn der FunktionsAutopilot eine strukturierte Darstellung erlaubt, werden verschachtelte WENN-Formeln schnell unübersichtlich und Fehler in der Logik werden leicht übersehen.

Im folgenden wird eine Vorgehensweise beschrieben, mit der auch tief verschachtelte WENN-Formeln beherrschbar werden.



1. Beschreibung des Beispiels

WENNx.gif

In einer Tabelle werden Arbeitszeiten durch Eintragung einer Anfangs- und einer Ende-Zeit erfasst. Dabei kann das Arbeitsende nach Mitternacht liegen. Es soll die Anzahl Stunden ermittelt werden, die auf einen Feiertag fallen.

2. Vorbereitung

Bevor man anfängt, die Formel zu tippen, sollte man eine vollständige Auflistung der zu unterscheidenden Fälle erstellen und die Reihenfolge festlegen, in der die WENN's aufeinanderfolgen.

Meine Erfahrung ergab, dass sich Calc sehr gut für eine Baumskizze eignet, einerseits, weil man nicht auf eine bestimmte Seitenbreite beschränkt ist und andererseits, weil sich Spalten und Zeilen einfach einfügen lassen und ganze Zweige verschoben und/oder kopiert werden können.

Im vorliegenden Beispiel gibt es folgende Fragen zu beantworten:

Daraus wurde die folgende Skizze erstellt:

WENN0.gif

Anhand dieser Skizze kann man nun die einzelnen Zweige verfolgen, auf Vollständigkeit überprüfen und sich auch versichern, ob z.B. bei grösser-als- und kleiner-als-Bedingungen auch der Grenzwert gleich richtig berücksichtigt wurde.

3. Die Formel aufbauen

Damit sich beim Aufbau der Formel kein Fehler einschleicht, empfiehlt sich ein schrittweises Vorgehen mit Hilfe des FunktionsAutopiloten, bei dem man die Skizze vor sich hat und jeden Zweig einzeln bearbeitet.

So könnte die Erstfassung der Formel aussehen:

=WENN(ISTNV(SVERWEIS(A3;Feiertage;1;0));"heute kein Feiertag";"heute Feiertag")

WENN3.gif

Diese Zeile kopiert man nun (so bleibt die Vorgänger-Fassung jeweils erhalten und man kann bei Bedarf darauf zurückkommen).

In der kopierten Zeile enscheidet man sich, ob man zuerst den Dann-Fall oder den SONST-Fall ausarbeiten will. Im jeweils anderen Feld lässt man den Text stehen. Unser nächster Schritt ist die Frage, ob die Arbeitszeit sich auf heute beschränkt oder bis nach Mitternacht dauert.

=WENN(ISTNV(SVERWEIS(A4;Feiertage;1;0));WENN(E4<D4;"Arbeitsende erst morgen";0);"heute Feiertag")

WENN4.gif

usw.

Dadurch, dass man im grade nicht bearbeiteten Zweig einen Text stehen hat, ist es leicht, wieder an der richtigen Stelle anzusetzen, nachdem man einen Zweig fertiggestellt hat.

4. Teilformeln benennen

Eine weitere Möglichkeit, die Les- und Bearbeitbarkeit von verschachtelten WENN-Formeln zu verbessern, ist die Definition von NamenFürFormeln.

5. Download

Das beschriebene Beispiel kann als Calc-Datei heruntergeladen werden: Feiertage.sxc


KategorieCalc


LizenzBedingungen | AnbieterKennzeichnung | DatenschutzErklärung | Stand: 2013-04-28