Hallo,
folgend an dem Beispiel zu NACHZEILE, wie sich eine erwartete LAMBDA-Funktion insoweit parametrisieren lässt, dass eine bestimmte
Excel-Funktion aufgerufen wird. Beispielsweise SUMME oder MITTELWERT.
Angenommen wir haben im Bereich A1:B2 die Zahlen 1 bis 6 stehen, erzeugt durch SEQUENZ(3;2). Das sieht dann so aus:
Möchte ich nun NACHZEILE anwenden, kann ich bspw. folgende Formeln verwenden. Als Array ist dann hier jeweils eine
einzelne Zeile des Bereichs zu sehen.
Das kann ich aber auch umformen in:
Da die Funktionen jetzt jeweils in einer LAMBDA-Funktion verpackt sind, können wir diese schon mal zusammenführen, was dann ergibt:
Parametrisieren wir nun die 1 in WAHL und übergeben die 1 als Argument:
Die Funktion NACHZEILE nimmt in ihrer LAMBDA-Funktion an, dass das erstes Argument das Array bzw. der an NACHZEILE übergebene Bereich ist.
Nichts hindert uns jedoch daran, über eine LAMBDA-Funktion wiederum eine LAMBDA-Funktion zurückzugeben, die die passenden Argumente hat.
Insofern können wir das nun umdrehen:
Somit lässt sich nun im Namensmanager folgende LAMBDA-Funktion anlegen:
Und das war's auch schon. Jetzt lässt sich NACHZEILE wie folgt verwenden:
Gruß
folgend an dem Beispiel zu NACHZEILE, wie sich eine erwartete LAMBDA-Funktion insoweit parametrisieren lässt, dass eine bestimmte
Excel-Funktion aufgerufen wird. Beispielsweise SUMME oder MITTELWERT.
Angenommen wir haben im Bereich A1:B2 die Zahlen 1 bis 6 stehen, erzeugt durch SEQUENZ(3;2). Das sieht dann so aus:
Code:
| A | B |
1 | 1 | 2 |
2 | 3 | 4 |
3 | 5 | 6 |
Möchte ich nun NACHZEILE anwenden, kann ich bspw. folgende Formeln verwenden. Als Array ist dann hier jeweils eine
einzelne Zeile des Bereichs zu sehen.
Code:
Summe : =NACHZEILE($A$1:$B$3;LAMBDA(Array;SUMME(Array)))
Mittelwert : =NACHZEILE($A$1:$B$3;LAMBDA(Array;MITTELWERT(Array)))
Min : =NACHZEILE($A$1:$B$3;LAMBDA(Array;MIN(Array)))
Max : =NACHZEILE($A$1:$B$3;LAMBDA(Array;MAX(Array)))
Das kann ich aber auch umformen in:
Code:
Summe : =NACHZEILE($A$1:$B$3;LAMBDA(Array;LAMBDA(SUMME(Array))()))
Mittelwert : =NACHZEILE($A$1:$B$3;LAMBDA(Array;LAMBDA(MITTELWERT(Array))()))
Min : =NACHZEILE($A$1:$B$3;LAMBDA(Array;LAMBDA(MIN(Array))()))
Max : =NACHZEILE($A$1:$B$3;LAMBDA(Array;LAMBDA(MAX(Array))()))
Da die Funktionen jetzt jeweils in einer LAMBDA-Funktion verpackt sind, können wir diese schon mal zusammenführen, was dann ergibt:
Code:
=NACHZEILE($A$1:$B$3;LAMBDA(Array;LAMBDA(WAHL(1;SUMME(Array);MITTELWERT(Array);MIN(Array);MAX(Array)))()))
Parametrisieren wir nun die 1 in WAHL und übergeben die 1 als Argument:
Code:
=NACHZEILE($A$1:$B$3;LAMBDA(Array;LAMBDA(Function;WAHL(Function;SUMME(Array);MITTELWERT(Array);MIN(Array);MAX(Array)))(1)))
Die Funktion NACHZEILE nimmt in ihrer LAMBDA-Funktion an, dass das erstes Argument das Array bzw. der an NACHZEILE übergebene Bereich ist.
Nichts hindert uns jedoch daran, über eine LAMBDA-Funktion wiederum eine LAMBDA-Funktion zurückzugeben, die die passenden Argumente hat.
Insofern können wir das nun umdrehen:
Code:
=NACHZEILE($A$1:$B$3;LAMBDA(Function;LAMBDA(Array;WAHL(Function;SUMME(Array);MITTELWERT(Array);MIN(Array);MAX(Array))))(1))
Somit lässt sich nun im Namensmanager folgende LAMBDA-Funktion anlegen:
Code:
Funktion=LAMBDA(Function;LAMBDA(Array;WAHL(Function;SUMME(Array);MITTELWERT(Array);MIN(Array);MAX(Array))))
Und das war's auch schon. Jetzt lässt sich NACHZEILE wie folgt verwenden:
Code:
=NACHZEILE($A$1:$B$3;Funktion(1)) mit 1 = SUMME, 2 = MITTELWERT, usw.
Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner