![]() |
||
![]() |
Vielfach verschachtelte Bedingung auswertenIch ben÷tige in Excel 97 eine neunfach verschachtelte Wenn-Funktion. Excel selbst erlaubt aber lediglich sieben verschachtelte Ebenen. Gibt es an dieser Stelle einen geheimen Trick oder eine L÷sung, um die Wenn-Funktion in Excel 97 neunfach zu verschachteln? Wie Sie richtig bemerkt haben, lΣsst sich die Funktion WENN in Excel lediglich ⁿber sieben Ebenen verschachteln, was in den meisten FΣllen auch ausreichend ist. Zur L÷sung Ihres Problems greifen Sie am besten auf die FΣhigkeiten von Visual Basic for Applications (VBA) zurⁿck und definieren dort eine eigene Funktion. Bereiten Sie zunΣchst Ihr Arbeitsblatt in Excel so weit vor, dass die ben÷tigten Eingabewerte fⁿr die verschachtelten Bedingungen zur Verfⁿgung stehen. Starten Sie anschlie▀end den Visual-Basic-Editor mit dem Befehl ╗Extras | Makro | Visual-Basic-Editor½. WΣhlen Sie dort den Befehl ╗Einfⁿgen | Modul½ und geben Sie danach einen Programm-Code zur Definition einer eigenen Funktion zum Beispiel folgenderma▀en ein: Function Entscheidung(W1, W2, ?? W3, W4, W5, W6, W7, W8, W9) Entscheidung = äW0ô If W1 > 0 Then Entscheidung = äW1ô If W2 > 0 Then Entscheidung = äW2ô If W3 > 0 Then Entscheidung = äW3ô If W4 > 0 Then Entscheidung = äW4ô If W5 > 0 Then Entscheidung = äW5ô If W6 > 0 Then Entscheidung = äW6ô If W7 > 0 Then Entscheidung = ? äW7ô If W8 > 0 Then Entscheidung = ? äW8ô If W9 > 0 Then Entscheidung ? ?????????????????????????????????????=ôW9ô End If End If End If End If End If End If End If End If End If End Function Der Aufbau des Programm-Codes dient an dieser Stelle lediglich als Beispiel fⁿr das Prinzip. Auf insgesamt neun Ebenen dienen auch neun verschiedene Werte jeweils als Vergleichsgr÷▀e in einer Bedingung. Diese Werte sind der Funktion als Argumente zu ⁿbergeben. AbhΣngig vom Ergebnis der einzelnen Bedingungen erhΣlt die Funktion einen Wert als Ergebnis zugewiesen. Das Beispiel prⁿft sukzessiv, ob die Eingabewerte positiv sind und informiert anschlie▀end mit einem Kⁿrzel, bis zu welchem Argument die Werte positiv sind. Sie k÷nnen die Bedingungen nach Belieben Σndern oder sie auch durch ╗Else½-Abschnitte ergΣnzen. Falls nur ein einzelner Wert in die Bedingungen eingeht, k÷nnen Sie den Aufbau mit der Funktion ╗Case Select½ ⁿbersichtlicher gestalten, etwa in folgender Form: Function Entscheidung2(Wert1, ? Wert2, Wert3) Select Case Wert1 Case 1 Entscheidung2 = Wert2 Case 2 Entscheidung2 = Wert3 Case 3 Entscheidung2 = Wert2 + ? Wert3 Case 4 Entscheidung2 = Wert2 * ? Wert3 Case 5 Entscheidung2 = Wert2 * ? Wert2 Case 6 Entscheidung2 = 3 * Wert2 Case 7 Entscheidung2 = Wert3 / 3 Case 8 Entscheidung2 = Wert3 * ? Wert3 Case 9 Entscheidung2 = Wert2 / ? Wert3 Case Else Entscheidung2 = 0 End Select End Function Dieses Beispiel entscheidet anhand der Variablen ╗Wert1½, welche Rechenoperationen mit den weiteren Argumenten der selbst definierten Funktion auszufⁿhren sind. Auch an dieser Stelle dient das Beispiel lediglich als Muster fⁿr eine Funktion, die Sie Ihren konkreten Anforderungen entsprechend festlegen mⁿssen. Auf der Heft-CD zu dieser Ausgabe finden Sie unter dem CHIP-Code VERSCHAC ein fertiges Beispiel. |
![]() |