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; Tach gesagt, Mit =HEUTE()+{-1;0;1} wird das Datum "gestern", "heute", "morgen" ausgegeben. Jetzt bei einer Let-Funktion das gleiche: Beispiel:... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Roger977, 7. April 2023.

  1. Roger977 hat Ahnung

    dyn. array in Let


    Tach gesagt,

    Mit =HEUTE()+{-1;0;1} wird das Datum "gestern", "heute", "morgen" ausgegeben.
    Jetzt bei einer Let-Funktion das gleiche:

    Beispiel:
    =LET(H_1;-1; H_2;0; H_3;1; HEUTE()+{H_1;H_2;H_3}

    Macht Excel zum verrecken nicht. Warum?
     
    Roger977, 7. April 2023
    #1
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    warum nicht Heute()-1, Du möchtest ja keine Zeit haben.

    dyn. array in Let Grußformeldyn. array in Let Homepage
     
    Hajo_Zi, 7. April 2023
    #2
  3. DL_
    DL_ PowerQuery Guru
    Moin Roger

    Aufzählungen in {} können nur Werte sein. Keine Bezüge. Keine Namen.
     
  4. Exl121150 Erfahrener User

    dyn. array in Let

    Hallo,
    du kannst den LET-Ausdruck so formulieren:
    =LET(a;{-1;0;1}; HEUTE()+a)
    dann funktioniert's.
     
    Exl121150, 7. April 2023
    #4
  5. RPP63_neu hat Ahnung
    Oder einfacher:
    =SEQUENZ(3;;HEUTE()-1)
     
    RPP63_neu, 7. April 2023
    #5
  6. DL_
    DL_ PowerQuery Guru
    Moin Ralf

    Da fehlt aber LET().
     
  7. RPP63_neu hat Ahnung
    Kein Problem:
    =LET(s;SEQUENZ(3;;HEUTE()-1);s)
    dyn. array in Let *;)*
     
    RPP63_neu, 7. April 2023
    #7
  8. Roger977 hat Ahnung

    dyn. array in Let

    Guten Morgen.
    Vielen Dank an alle Helfer.
    Erst einmal wach werden, gleich mal testen.
    Und ja, so wie DL_ richtig erkannt hat: Es geht in erster Linie darum, die Werte aus Let übernehmen zu können. Das mit Heute() war lediglich ein Beispiel.
     
    Roger977, 8. April 2023
    #8
  9. Roger977 hat Ahnung
    Habe ich mir fast schon gedacht. Danke für die Bestätigung.
     
    Roger977, 8. April 2023
    #9
  10. Roger977 hat Ahnung
    Auch gute Idee, aber bringt mich in diesem Fall nicht weiter, da die Werte in {} durch eine LAMBDA-Funktion erst festgelegt werden.
     
    Roger977, 8. April 2023
    #10
  11. Roger977 hat Ahnung
    Ok, vllt. war meine Fragestellung auch irreführend. Ich wollte mich kurz fassen.
    Durch eine Lambda-Funktion werden Werte gegeben. Durch "Let" diese integriert.
    Veranschaulichung:
    =LAMBDA(WERT1;WERT2;WERT3;FUNKTION1;FUNKTION2;FUNKTION3;
    LET(a;WERT1 b;WERT2; c;WERT3; f_1;FUNKTION1; f_2;FUNKTION2; f_3;FUNKTION3;
    fa;Formel1;
    fb;Formel2;
    fc;Formel3;
    V1;WENNFEHLER(WAHL(f_1;fa;fb;fc);"V1 überprüfen");
    a steht in Beziehung zu f_1, b zu f_2 und c zu f_3
    Für alle f_*, die den Wert 2 haben sollen nun alle in Beziehung stehendenen WERTE mit der Formel2 ausgewertet werden.
    Beispiel für Lambda Eingabe: =LAMBDA(1;2;3;2;2;1)
    Somit soll WERT1 (1) und WERT2 (2) jeweils mit der Formel2 berechnet werden und WERT3 (3) mit Formel1.
    Dies wollte ich mit {} erzielen und klappte nicht. Es hätte ja sein können, dass es nur an der Schreibweise lag, also Sonderzeichen davor fehlte oder sonst was. Darum habe ich die Lambda-Funktion nicht zuvor erwähnt. Es steht eben nur Text zur Verfügung, da ist es manchmal halt schwierig. Tabelle bringt auch nix, da es ja nur um eine Funktion in einer Zelle geht. Völlig neue Ausgangslage, mein Fehler.
     
    Zuletzt bearbeitet: 8. April 2023
    Roger977, 8. April 2023
    #11
  12. Exl121150 Erfahrener User
    Hallo,

    ist deine LAMBDA-Funktion so streng geheim, dass du uns deine konkrete Funktion nicht mitteilen kannst?
    Zu deiner Formel kann man nur sagen, soweit man das erkennen kann, dass ihre Definition formal falsch ist. Ferner ist auch ihr Aufruf (ihre Verwendung) falsch.

    Es gibt vom Prinzip her 3 Möglichkeiten, eine LAMBDA-Funktion einzusetzen:
    1.Möglichkeit ist ihre Direktverwendung in einer Formel, zB.:
    =LAMBDA(WERT1;WERT2;WERT3;FUNKTION1;FUNKTION2;FUNKTION3;
    LET(a;WERT1; b;WERT2; c;WERT3; f_1;FUNKTION1; f_2;FUNKTION2; f_3;FUNKTION3;
    fa;"Der Text fa";
    fb;"Der Text fb";
    fc;"Der Text fc";
    WENNFEHLER(WAHL(f_1;fa;fb;fc);"V1 überprüfen"))
    )(1;2;3;2;2;1)
    In diesem Fall sind die aktuellen Parameter zwingend an die LAMBDA-Funktion anzufügen, so wie vorhin gezeigt.
    Das Resultat wäre in diesem Fall "Der Text fb".

    2.Möglichkeit ist ihre Speicherung im Namensmanager unter einem Namen, zB. unter "MeineFunktion":
    =LAMBDA(WERT1;WERT2;WERT3;FUNKTION1;FUNKTION2;FUNKTION3;
    LET(a;WERT1; b;WERT2; c;WERT3; f_1;FUNKTION1; f_2;FUNKTION2; f_3;FUNKTION3;
    fa;"Der Text fa";
    fb;"Der Text fb";
    fc;"Der Text fc";
    WENNFEHLER(WAHL(f_1;fa;fb;fc);"V1 überprüfen")))

    Dabei sind die aktuellen Parameter (bei deiner Funktion die Klammerwerte (1;2;3;2;2;1)) wegzulassen.
    Diese so gespeicherte Funktion kann dann als neue benutzerdef. Funktion in einer Zelle verwendet werden, zB.
    =MeineFunktion(1;2;3;2;2;1)
    wobei diese dann auch wieder als Ergebnis "Der Text fb" zurückgibt.

    3.Möglichkeit: Innerhalb einer LAMBDA-Funktion eine Funktionsvariable mittels einer LAMBDA-Funktion zu definieren, zB.
    PHP:
    LAMBDA(j;
        
    LET(
            
    qLAMBDA(zn; [a]; GANZZAHL(z/n)+a);
            
    pLAMBDA(zn; [zz]; z-REST(z+zz;n));
            
    jhq(j1001);      sgq(3*jh;4;-2);   mgq(8*jh+5;25;-2);   wtq(5*j;4;-sg);
            
    gzREST(j19) + 1;   vmREST(19*gz+sg-mg-4;30);  vkq(28*vm-gz/11;29;1);    psp(vk;7;wt);
            
    WENN(j<1900;   TEXT(ps+88;"T.M.")&j;   DATUM(j;3;28)+ps  )
        )
    )
    wobei p und q zwei LAMBDA-Funktionen mit je 2-3 aktuellen Parametern sind.
    Speichert man vorgenannte Funktion unter dem Namen "Ostern" im Namensmanager ab, erhält man eine gültige gregor.Osterformel (theoretisch gültig für die Jahre 1583-9999).
    Diese kann verwendet werden, zB. =Ostern(2023) oder =Ostern(1583) oder =Ostern(4590)
     
    Exl121150, 8. April 2023
    #12
  13. Roger977 hat Ahnung

    dyn. array in Let

    1. Du fragst & ich antworte ehrlich & direkt: Jein. Ich möchte Hilfe und ich gebe Hilfe, wenn ich kann. Allerdings konnte ich erst neulich bei google eine Arbeitsmappe von mir finden, an der ich Monate gesessen habe. Ob es aus Unwissenheit so lange gedauert hat oder nicht, spielt dabei für mich keine Rolle (Ich gehe von den Bots hier aus). Ich würde z.B. niemals erwarten, dass jemand für mich eine komplette Arbeitsmappe mit zig Extras erstellt. Warum auch? Tüffelt jemand an einer Formel, um dies, jenes zu erreichen, ist das ok. Aber einen Aufsatz zu verfassen, was der-, diejenige gerne hätte und dann sagt: "Kann ich aber nicht, mach' du mal.", geht dann zu weit. Ich finde, dass das eine gesunde Einstellung ist.

    2. Wurde mir x-mal Schwafelei vorgeworfen. Wie man's macht, ist es falsch. Ich habe das mit "formel" abgekürzt, weil es für die Aufgabenstellung keine Rolle spielt und es somit kürzer war. Das Alles meine ich ganz sachlich.

    Nun zu deiner Hilfe: Erst einmal danke dafür. Ich habe bei mir die zweite Variante eingesetzt, heißt, diese so aus dem Namensmanger kopiert und gekürzt mit "formel". Aber, und das ist das schwierige bei Text-Erklärungen (Sender/Empfänger) verstehe ich
    1. nicht, warum meine Verwendung falsch sein sollte. Deine 2. Variante ist doch mit meiner gleich ?
    und mit einem Wert funktioniert sie auch. Aber die Frage war, wie ich die verschiedenen Werte gleichzeitig auswerten kann, bzw. sie entsprechend zugeordnet werden können, so das eben

    2. nicht "nur" der Text fb das Ergebnis wäre. Dazu: Die Formeln beinhalten Filter, welche Matrizen durchsuchen. Alle angegebenen Filter werden dann je nach optionalen Wege ausgegeben. Das ginge zwar mit WENN(f_1=2; ....würde aber die Funktion aufblasen. Daher wollte ich das mit {}, was scheinbar nicht der Weg ist.

    Zu guter Letzt: Deine Oster-Formel.
    Der Hammer. Habe ich auch mal gemacht, allerdings war meine Formel dazu etwa einen Kilometer lang und war ganz stolz darauf...nun nicht mehr dyn. array in Let :eek:
    und ja, ich hab' schon wieder zu viel geschrieben...
     
    Roger977, 8. April 2023
    #13
  14. Roger977 hat Ahnung
    Vielleicht ist das besser. Notiz zur Funktion:
    "MATRIXEN-VERGLEICHS-OPERATOR":
    #1 FILTERANGABEN -> F ; [WERT]
    #2 VERGLEICHSOPERATOREN -> VO ; [1: <] [2: =] [3: >] [4: ="*"] [Eigene Formel]
    #3 MATRIXEN -> [BEREICH]
    #4 VERGLEICHSGRUNDLAGE -> VG ; [1: EINZELAUSWERTUNG] [2: VERBUNDAUSWERTUNG]
    #5 AUSGABE ["*": EINZELN] [2: ZEILE] [3: SPALTE]
    #6 SORTIERUNG ["*": nach WERT] [2: nach ADRESSE]
    #7 BEZUGSFORM ["*": WERT] [2: ADRESSE]

    =MVO(F_1; VO_1; MATRIX_1; F_2; VO_2; MATRIX_2; F_3; VO_3; MATRIX_3; VERGLEICHSGRUNDLAGE; AUSGABE; SORTIERUNG; BEZUGSFORM)

    Im Grunde klappt alles, aber eben nur mit einem Wert. Das Problem es mit mehreren Werten berechnen zu lassen.
     
    Roger977, 8. April 2023
    #14
  15. Roger977 hat Ahnung
    Frohe Ostern an alle.
    Exl121150, mich würde mal interessieren, was es mit den [ ] in deiner Lambda-Funktion auf sich hat.
    Einen Parameter so verwendet, bewirkt was?
     
    Roger977, 9. April 2023
    #15
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