Office: (Office 365) dyn. array in Let

Helfe beim Thema dyn. array in Let in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, was es mit den [ ] in deiner Lambda-Funktion auf sich hat. ein Parameter in einer LAMBDA-Funktion in eckigen Klammern bedeutet, dass es ein... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Roger977, 7. April 2023.

  1. Exl121150 Erfahrener User

    dyn. array in Let


    Hallo,

    ein Parameter in einer LAMBDA-Funktion in eckigen Klammern bedeutet, dass es ein optionaler Parameter ist im Gegensatz zu einem Pflichtparameter (diese sind nicht eingeklammert). Wird ein solcher Parameter weggelassen, setzt die Funktion einen bestimmten Default (=Standard)-Wert voraus. Will man diesen Default-Wert nicht, muss man explizit einen Wert angeben.
    Das ist zB. so wie bei der Excel-Funktion =LINKS(Text;[Anzahl_Zeichen]). Lässt man hier den 2.Parameter weg, so wird statt seiner eine 1 angenommen.
    Bei meinen LAMBDA-Funktionen "q" und "p" sind das das die Parameter "[a]" bzw. "[zz]". Lässt man diese weg, nimmt Excel für sie den Wert 0 an, wie man am folgenden LAMBDA-Auswertungsausdruck sehen kann. Ich hätte zusätzlich hier noch mit WENN(WURDEAUSGELASSEN(a);0;a) explizit abfragen können, was hier jedoch überflüssig war, weil Excel eh den gewünschten 0-Wert erzeugt.
    nein, leider nicht. Die Unterschiede liegen
    1) im fehlenden Strichpunkt LET(a;WERT1; b;WERT2;...
    2) in der zu viel vorhandenen Variablen V1 im LAMBDA-Auswertungsausdruck V1;WENNFEHLER(WAHL(f_1;fa;fb;fc);"V1 überprüfen"). Der letzte Ausdruck in der LAMBDA-Funktion (unmittelbar nach der Parameterliste) und auch der letzte Ausdruck in einer LET-Funktion darf keinem Parameter/Variablen zugewiesen werden, denn dieser Ausdruck liefert jeweils das Ergebnis von LAMBDA bzw. LET zurück.
    3) im LAMBDA-Funktionsaufruf =LAMBDA(1;2;3;2;2;1). Dieser ist so nicht möglich: Entweder man nimmt meine 1.Möglichkeit oder meine 2.Möglichkeit - eine Mixtur aus beiden Möglichkeiten ist nicht erlaubt.
    1.Möglichkeit:
    =LAMBDA(Param1;Param2;..;ParamN; Auswertungsausdruck(Param1;Param2;..;ParamN))(Wert1; Wert2;..;WertN).
    2.Möglichkeit: Man speichert "=LAMBDA(....)" mit einem "Funktionsnamen" im Namensmanager ab und ruft dann die Funktion mit "=Funktionsnamen(Wert1;Wert2;...;WertN)" auf.
    4) Nach dem letzten "V1 überprüfen") fehlen 2 schließende Klammern "V1 überprüfen")))
     
    Exl121150, 9. April 2023
    #16
    1 Person gefällt das.
  2. Roger977 hat Ahnung
    Hallo Exl121150,
    ok, mal abarbeiten. Ich versuche es zu komprimieren. Erst einmal super. Deine extrem ausgearbeiteten Antworten haben hier einen absoluten Seltenheitswert.
    Sie sind inhaltlich sicher 100% korrekt, aber teilweise recht anspruchsvoll. Egal, TOP!

    zu [ ] in LAMBDA. Verstanden, mir war nicht klar, dass das in Lamba ebenfalls geht.

    Zu den Fehlern in meiner Funktion: Gutes Auge. Wahrscheinlich ein Fehler aus einem Mix von copy&paste und handischen Nachschreibens. Zudem entstehen bei mir etliche Versuchszellen beim tüffteln. Kann sein, dass da was durcheinander geraten ist. Die Lambda-Funktion(en) mit Teilerfolgen im Namensmanager funktionieren jedenfalls einwandfrei.

    Dennoch driftet das Ganze immer mehr von der eigentlichen Frage ab.

    Ob nun durch LET oder später in LAMBDA gepackt ist erst einmal sekundär.
    Es geht hierbei darum, dass mehrere Variablen in Beziehungen stehen:
    Die Werte (ja, LAMBDA wird sicherlich verwendet): WERT1; WERT2; WERT3
    Die Formeln (die nicht geheim sind, aber irrelevant sind): f_1; f_2; f_3
    & die Matrixen, wo die Abfrage stattfindet: MzS_1; MzS_2; MzS_3 -> (zS)=ZUSPALTE(M_*)

    Da jeweils WERT1, f_1 & MzS_1 zusammen gehören, genau so wie WERT2, f_2 & MzS_2 u.s.w., gilt es eine Funktion zu schaffen, welche diese, je nach Eingabe richtig zuordnet. Wäre die Zuordnung immer gleich, könnte man bspw. wie von RPP63_neu vorgeschlagen vorgehen - natürlich entsprechend angepasst. In diesem Fall geht es aber darum, dass die Zuordnung erst nach der Eingabe der Lambda-Parameter berechnet werden muss.

    Vereinfachte Beispieldarstellung:
    =meinlambda(WERT1;f_1;Tabelle1;WERT2;f_2;Tabelle1;WERT3;f_3;Tabelle1)
    =meinlambda(2000;1;tab_1;"Uwe";2;tab_1;2010;3;tab_1.......)

    Das ganze ginge jetzt weiter mit sortiert, nicht sortiert u.s.w - aber auch nicht relevant.
    Die Schwierigkeit dabei: die einzige Konstante ist, dass die Reihenfolge der Parameter bekannt ist. Also der WERT "WERT1" eingesetzt in Formel "f_1" in Matrix "Tabelle1" gesucht wird.

    Es könnten aber auch ebenso nur 2 Werte mit ein und der gleichen Formel in zwei unterschiedlichen Matrizen gesucht werden. Und das ist die Knackwurst !

    Hier schließt sich der Kreis und ich bin wieder am Anfang meines Beitrages, da ich ein dyn. Array erstellen wollte, welches eine oder mehrere Formeln bündelt und versuchte es mit {} in Let. Wobei DL_ dann völlig richtig klarstellte, dass {} nur Werte und keine Parameter von Let akzeptiert.

    So. Allerdings bin ich aktuell dabei, dass mit Sequenz dennoch zu erreichen. Völlig anders, als von RPP63_neu vorgeschlagen, weil das eben voraussetzen würde, die Werte wären immer gleich, aber was soll's...
    Sequenz erlaubt es aber ein dynamisches Array zu erstellen und da habe ich erste Teilerfolge bereits erzielen können.
    Ok, zu viel Text. Lesen geht schneller als Text ausdenken. Sollte man auch dran denken. Schönen Tag noch...
     
    Roger977, 10. April 2023
    #17
  3. Roger977 hat Ahnung
    Nö, zu kompliziert. Ich versuch's jetzt mit Lambda in Lambda.
     
    Roger977, 10. April 2023
    #18
Thema:

dyn. array in Let

Die Seite wird geladen...
  1. dyn. array in Let - Similar Threads - dyn array Let

  2. Zählenwenn Ergebnis als dyn. Array

    in Microsoft Excel Hilfe
    Zählenwenn Ergebnis als dyn. Array: Hallo, In beiliegender Tabelle soll ein dyn. Array ausgegeben werden, welches die Ergebnisse wie in Spalte C beinhaltet. Das Array darf dabei nicht kürzer sein, als die Tabelle1 selbst. Also nicht...
  3. VBA dyn. Zellen kopieren und am ende der Liste einfügen

    in Microsoft Excel Hilfe
    VBA dyn. Zellen kopieren und am ende der Liste einfügen: Guten Morgen zusammen, ich hoffe ihr könnt mir helfen, da ich mich zwar mit Excel auskenne aber mit Makros nichts zu tun habe. Ich habe folgendes Problem: Ich möchte einen Zelleneinträge...
  4. Dyn. Dropdown funktioniert/funktioniert nicht

    in Microsoft Excel Hilfe
    Dyn. Dropdown funktioniert/funktioniert nicht: Hallo, aus der Aufgabenstellung eines anderen Beitrags, ergab sich die Anforderung einer dynamischen Dropdownliste, die aus der Gesamtliste immer nur noch die Einträge als auswählbar zeigt, die...
  5. Dyn. VERGLEICHS-Bereiche innerhalb der INDEX-Funktion für die Matrizenmultiplikation

    in Microsoft Excel Hilfe
    Dyn. VERGLEICHS-Bereiche innerhalb der INDEX-Funktion für die Matrizenmultiplikation: Hallo Experten, Vor wenigen Wochen noch, wusste ich gar nicht, dass es so etwas gibt, geschweige denn, wie ich es anwenden könnte. Aber dank dieses Forums habe ich nun innerhalb einer...
  6. Entpivotisierung dyn. Kreuztab. mittels FILTER(), SEQUENZ() und BEREICH.VERSCHIEBEN()

    in Microsoft Excel Tutorials
    Entpivotisierung dyn. Kreuztab. mittels FILTER(), SEQUENZ() und BEREICH.VERSCHIEBEN(): Eine Kreuztabelle ist zwar keine geeignete Grundlage für eine flexible Auswertung der enthaltenen Daten über Pivot-Tabellen oder andere Instrumente. Wohl aber erleichtert sie sehr oft die Eingabe...
  7. VBA - Textbox in UF mit Inhalt eines dyn. Bereiches füllen

    in Microsoft Excel Hilfe
    VBA - Textbox in UF mit Inhalt eines dyn. Bereiches füllen: Hallo, meine Frage bezieht sich auf eine sehr umfangreiche Firmendatei, weshalb ich leider "nicht mal eben" ein Beispiel posten kann. Aber da ich nur eine bestimmte Schreibweise in VBA suche,...
  8. dyn. Dropdown mit Info erstellen?!

    in Microsoft Excel Hilfe
    dyn. Dropdown mit Info erstellen?!: Nach 4 stündigem in Tuts rumlesen und experimentieren etc. melde ich mich nochmal bei euch! Ich würde gerne ein(mehrere) Dropdown menü(s) erstellen die dann ein zweites DD fühlen bzw. nicht...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden