home *** CD-ROM | disk | FTP | other *** search
-
- T&T_WENN-Abfrage
-
- (Dazu eine gleichnamige Tabelle, welche Sie z.B. nach TurboCalc:Tabellen
- kopieren sollten).
-
- SYNTAX der Funktion WENN (IF):
-
- WENN(Bedingung;Wert1;Wert2)
-
- Das Erstellen einer einfachen IF-Abfrage dürfte eigentlich keine
- Schwierigkeiten bereiten.
-
- Das ändert sich allerdings,
-
- wenn eine Vielzahl von Verschachtelungen den Durchblick trüben,
-
- WENN(Bedingung;Wert1;WENN(Bedingung;Wert2;WENN(Bedingung;Wert3;Wert4)))
-
- oder in den Verschachtelungen noch andere TurboCalc Funktionen als
- Parameter verwendet werden müssen.
-
- WENN(Bedingung;Funktion1;WENN(Funktion2;Funktion3;Funktion4))
-
-
- Dann gibt es ein paar ganz einfachen Tricks, um sich nicht rettungslos
- die Gehirnwindungen zu verknoten:
-
- Trick 1.
- Bauen Sie die Formel modulweise auf, Schritt für Schritt und
- überprüfen Sie diese jeweils, nach dem Hinzufügen eines neuen
- Moduls, mit WECHSELNDEN Operatoren und/oder Bedingungen.
-
- Der Wechsel der Operatoren/Bedingungen ist deshalb wichtig, weil dann
- nicht nur der "WAHR-Wert" seine Funktionsfähigkeit unter Beweis stellen
- muß, sondern auch der "FALSCH-Wert", denn NUR der FALSCH-Wert bringt ja
- die nächste "Schachtel" ins Spiel. Bedenken Sie dabei aber auch, daß
- der FALSCH-Wert nicht unbedingt der ZWEITE Wert sein muß, denn wenn Sie
- mittels NICHT (NOT) eine Umkehrung vorgenommen haben, ist Wert1 der
- "FALSCH-Wert", gel!
-
- WENN(NOT(Bedingung);Wert1;WENN(Bedingung;Wert2;Wert3))
-
- Eine Formel, welche nur soweit korrekt ist, daß der WAHR-Wert in Aktion
- tritt, aber im - oft erheblich langen - Rest völlig vermurkst ist, kann
- durchaus solange gut funktionieren, bis die WAHR-Aussage nicht mehr
- zutrifft.
-
- Nur dann, wenn der Syntax nicht stimmt, wird eine Formel SOFORT eine
- der Fehlermeldungen als Ergebnis liefern.
-
- Haben Sie also eine Formel produziert, so geben Sie sich beim Test
- nicht mit einem scheinbar korrekten Ergebnis zufrieden, prüfen Sie
- auch in "die andere Richtung".
-
- Beispiel 1 (siehe beiliegende Tabelle "T&T_WENN"):
-
- =IF(B9=B7;A2;ABS(B5:B11))
-
- Wenn hier B9 gleich B7 ist, wird diese Zelle den Wert der Zelle A2
- annehmen. Bei der Überprüfung werden Sie sagen: "Prima, funktioniert
- ja auf Anhieb".
-
- Das geht aber nur solange gut, als diese Bedingung WAHR ist. Wird
- jedoch eines schönen Tages eine der Zellen (B9 oder B7) ihren Wert
- ändern, so wird der FALSCH-Wert ("ABS(B5:B11)") garantiert seinem
- Namen Ehre machen und ein falsches Ergebnis liefern, weil nämlich die
- Funktion "ABS" aus einem Bereich nur den Inhalt der ERSTEN Zelle
- (hier also B5) als positiven Retourwert liefert (steht zwar nicht im
- Manual, stimmt aber dennoch!).
-
- Hätten Sie aber bei Erstellung der Formel, nach der Überprüfung des
- Ergebnisses mit "=", den Operator gewechselt und stattdessen "<>"
- und/oder "<" und/oder ">" verwendet...
- (NICHT >= oder <=, das brächte nämlich dasselbe Ergebnis!)
- ...dann währen Sie darauf gekommen, daß die Formel nur in EINEM
- Falle korrekt arbeitet.
-
- Sie hätten die Formel nämlich so eingeben müssen:
-
- =IF(B9=B7;A2;ABS(SUM(B5:B11)))
-
-
- Unsere obige Formel liefert also nun unter beiden Bedingungen
- korrekte Ergebnisse. Jetzt bauen wir ein weiteres "Modul" ein:
-
- Beispiel 2 (siehe beiliegende Tabelle "T&T_Funktionen002"):
-
- Wir wollen, daß, im Falle der FALSCH-Wert käme zum Zuge, nicht
- einfach der Absolutwert der Summe aus B5:B11 gezeigt wird,
- sondern,
- wenn dieser größer oder gleich "30" wäre, die Zelle den Wert "25"
- annehmen sollte, andernfalls aber den Wert "10".
-
- Ob die neue Formel besonders sinnvoll ist, steht auf einem anderen
- Blatt und ist hier nicht von Bedeutung!
-
- Der "Schwanz" unserer neuen Formel muß also so aussehen:
-
- >=30;25;10
-
- Den WAHR-Wert des ersten "Moduls" wollen wir zum Testen gleich
- unterdrücken, weil wir ja jetzt wissen, daß er korrekt arbeitet.
- Also ersetzen wir - bis zur endgültigen Fertigstellung - das "="
- durch ein "<>" und bringen damit sofort den FALSCH-Wert ins Spiel.
-
- So lautet der "Kopf" der neuen Formel also
-
- =IF(B9<>B7;A2; )
-
- Den FALSCH-Wert der alten Formel "ABS(SUM(B5:B11))" machen wir nun
- zur Bedingung der neuen IF-Abfrage, indem wir einfach ein "IF("
- davor stellen und die zugehörige End-Klammer hinten anhängen und
- erhalten so die neue Bedingung
-
- IF(ABS(SUM(B5:B11) )
-
- die wir als Teil der Vergleichs-Aussage an den "Kopf" anhängen.
-
- Das neue Formel-Fragment sieht nun so aus:
-
- =IF(B9<>B7;A2;IF(ABS(SUM(B5:B11) ))
-
- Fehlt als Abschluß noch der Operator und der Vergleichs-Wert zu
- "ABS...", sowie je ein neuer Wahr- und Falsch-Wert. Das haben wir
- schon definiert, es ist der "Schwanz" von weiter oben; der wird
- jetzt einfach hinten angekoppelt. Die neue Formel ist fertig...
-
- =IF(B9<>B7;A2;IF(ABS(SUM(B5:B11))>=30;25;10))
-
- ...und wir stellen mit erstaunten Blauaugen fest, daß alles, was ab
- dem zweiten "IF" steht (von der letzten Klammer abgesehen) eine
- vollständige, für sich alleine existenzfähige Formel ist:
-
- =IF(ABS(SUM(B5:B11))>=30;25;10)
-
- Und um Ihnen das zu sagen, habe ich so viele Worte gebraucht; es sieht
- also komplizierter aus, als es tatsächlich ist!
-
- Wenn Sie nun alles getestet haben, sollten Sie nicht vergessen den
- Originalzustand wieder herzustellen. Dummies durch originale Werte
- ersetzen, Operatoren richtigstellen usw..
-
- Auf diese Weise können Sie bis zu 400 Zeichen in eine einzige Formel
- quetschen. was eine große Zahl von weiteren IF-Abfragen ermöglicht.
-
- Sie könnten z.B. anstatt des Wahrwertes (hier "25") und/oder des
- Falsch-Wertes (hier "10") eine Funktion, eine Formel oder eben eine
- weitere IF-Bedingung definieren.
-
-
- Auf beiliegender Tabelle "T&T_Funktionen002" finden Sie eine nochmal
- erweiterte Formel als "Beispiel 3" . Kommentar dazu ist überflüssig.
-
-
-
- Trick 2.
- Ersetzen Sie (zu Testzwecken) in einer komplizierteren Formel die
- Parameter durch einfache, leicht überprüfbare Werte.
-
- Um bei obigem Beispiel zu bleiben:
-
- Wenn "ABS(SUM(B5:B11))" eine mehrstellige Zahl ergeben müßte, welche
- Sie nicht auf Anhieb als richtig oder falsch einschätzen können, dann
- ersetzen Sie die Inhalte der einzelnen Zellen des Bereiches durch
- einfache Zahlen, wie (1,2,3,4,5,6,7).
-
- Errechnet dann die Formel in der Zelle eine magere "7" , dann wird
- Sie das doch (hoffentlich) ins Grübeln bringen.
-
- Bei einem Ergebnis von "28" jedoch dürfen Sie zuversichtlich sein,
- daß die Formel funktioniert und Sie guten Gewissens diese "Dummies"
- wieder durch die echten Werte ersetzen können.
-
-
- Trick 3.
-
- Wenn Sie irgendwo stecken bleiben, liegt es oft an den Klammern.
-
- Die erste Regel ist abzählen; soviel offene - soviel geschlossene
- Klammern. Das alleine genügt natürlich noch nicht, weil es auch auf
- die richtige Position der Klammer ankommt, aber hilfreich ist es
- zunächst allemal.
-
- Denken Sie daran, daß (Ausnahmen wie "TODAY" bestätigen die Regel)
- JEDE Funktion, welche Parameter annimmt, ein Klammer PAAR erwartet,
- und sei es ein Leeres.
-
-
- Trick 4.
-
- ist eigentlich Keiner, sondern nur eine Anmerkung:
-
- Anstatt den WAHR-Wert mittels Änderung von Operatoren oder
- Bedingungen zu unterdrücken, können Sie das auch mit NOT erreichen;
- im Beispiel 1 würde das dann so aussehen...
-
- =IF(NOT(B9=B7);A2;ABS(SUM(B5:B11)))
-
-
- Viel Spaß beim Experimentieren!
-
- Günther Klug v. Biedermann, München (AC RUX)
- eMail : klugvbiedermann.muc@t-online.de
- HomePage : http://amiga-club.de/homepage/rux/ruxpage.htm
-
-
-
-
-