Hilfstabelle mit einer Funktion erstellen
#11
So was in der Art?

Ist eher ungewöhnlich und vor allem unübersichtlich. Ich würde hier eher eine weitere Tabelle als Speiseplan von mir aus auch mit Wochenvermerk anlegen.
Dann per FILTER() für den Wochenspeiseplan eine Ausgabe  für Dropdown wo es passt hin packen mit der man dann für die Woche im Dropdown auswählen kann. Das sollte eigentlich fürs Handling ausreichend effizient sein und gibt eine vernünftige Auswertbarkeit ab.

Nur so eine kleine Anmerkung dazu: Es ist natürlich jeden selbst überlassen mit welchem Lösungsweg er sich wohl fühlt bzw. sich identifiziert.

Gruß Uwe
Antworten Top
#12
(21.01.2026, 12:11)slowboarder schrieb: Variante 1)
verzichte in der Mastertabelle auf die Leerzeile zwischen den Kunden und hänge die direkt aneinander
in der Formel musst du dann noch aus der 7 eine 6 machen.
PHP-Code:
=LET(
a;Mastertabelle!A.:.A;
b;Mastertabelle!B.:.B;
c;Mastertabelle!C.:.C;
x;SEQUENZ(ZEILEN(b));
aa;INDEX(a;UNTERGRENZE(x-1;6)+1);
HSTAPELN(b;aa;c))


Variante 2)
baue hier noch einen Filter ein:
PHP-Code:
=LET(
a;Mastertabelle!A.:.A;
b;Mastertabelle!B.:.B;
c;Mastertabelle!C.:.C;
x;SEQUENZ(ZEILEN(b));
aa;INDEX(a;UNTERGRENZE(x-1;7)+1);
FILTER(HSTAPELN(b;aa;c);b<>0))
Gruß Daniel

Vielen Dank Daniel,

Variante 2 funktioniert super, bei der Variante 1 stehen ab dem 2. Block keine Kundennamen mehr drin. 

Super wäre jetzt noch, wenn ich bei Variante 2 zwischen Sa und Mo eine Leerzeile generiert bekäme.

Dann wäre alles perfekt.

(21.01.2026, 14:21)GuJaNi schrieb: Vielen Dank Daniel,

Variante 2 funktioniert super, bei der Variante 1 stehen ab dem 2. Block keine Kundennamen mehr drin. 

Super wäre jetzt noch, wenn ich bei Variante 2 zwischen Sa und Mo eine Leerzeile generiert bekäme.

Dann wäre alles perfekt.


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#13
Wenn Variante 1 bei dir nicht funktioniert, dann hast du meine Angaben nicht vollständig befolgt.
entweder hast du die Leerzeilen zwischen den Kunden in der Mastertabelle nicht entfernt, oder du hast die 7 nicht durch 6 ersetzt.

für dein Wunschergebnis:
lass die Mastertabelle so wie du sie hast (mit den Leerzeilen zwischen den Kunden)
damit diese nicht als 0 im Formelergebnis erscheinen, verwende diese Formel:

PHP-Code:
=LET(
a;Mastertabelle!A.:.A&"";
b;Mastertabelle!B.:.B&"";
c;Mastertabelle!C.:.C&"";
x;SEQUENZ(ZEILEN(b));
aa;WENN(REST(x;7)=0;"";INDEX(a;UNTERGRENZE(x-1;7)+1));
HSTAPELN(b;aa;c))
Antworten Top
#14
(21.01.2026, 14:46)slowboarder schrieb: Wenn Variante 1 bei dir nicht funktioniert, dann hast du meine Angaben nicht vollständig befolgt.
entweder hast du die Leerzeilen zwischen den Kunden in der Mastertabelle nicht entfernt, oder du hast die 7 nicht durch 6 ersetzt.

für dein Wunschergebnis:
lass die Mastertabelle so wie du sie hast (mit den Leerzeilen zwischen den Kunden)
damit diese nicht als 0 im Formelergebnis erscheinen, verwende diese Formel:

PHP-Code:
=LET(
a;Mastertabelle!A.:.A&"";
b;Mastertabelle!B.:.B&"";
c;Mastertabelle!C.:.C&"";
x;SEQUENZ(ZEILEN(b));
aa;WENN(REST(x;7)=0;"";INDEX(a;UNTERGRENZE(x-1;7)+1));
HSTAPELN(b;aa;c))

Sorry, aber da ich noch Neuling bin, komme ich nicht wirklich weiter.

Wenn ich die Formel/Code jetzt in meiner originalen Datei einfüge, bekomme ich kein Ergebnis.

Ich weiß auch nicht, wie ich die Formeln umstellen muß, damit sie in meiner Datei funktionieren.

Ich habe mal das File mit dem tatsächlichen Aufbau der Masterliste beigefügt.

Bin über Eure Hilfe sehr Dankbar.


Angehängte Dateien
.xlsx   Testtabelle 2.xlsx (Größe: 22,84 KB / Downloads: 11)
Antworten Top
#15
mal ne blöde Frage:
warum zeigst du nicht gleich diese Datei sondern erst eine andere, veränderte?
WARUM?
du hast jetzt  noch eine zusätzliche Überschriftenzeile eingefügt. 
warum war die nicht schon in deiner ersten Anfrage drin?
was hat dich dazu beweget, die rauszulöschen?

du musst jetzt die Formel anpassen, weil ich die Formel natürlich für die Datei geschriebenhabe, die du mir gezeigt hast.
das ist jetzt zusätzliche unnötige Arbeit.

=LET(
a;Mastertabelle!A3.:.A9999&"";
b;Mastertabelle!B3.:.B9999&"";
c;Mastertabelle!C3.:.C9999&"";
x;SEQUENZ(ZEILEN(b));
aa;WENN(REST(x;7)=0;"";INDEX(a;UNTERGRENZE(x-1;7)+1));
HSTAPELN(b;aa;c))
[-] Folgende(r) 1 Nutzer sagt Danke an slowboarder für diesen Beitrag:
  • GuJaNi
Antworten Top
#16
Hallo,

so wie ich das in deiner neuen Datei sehe und dies mit deinen Anmerkungen in #7 vergleiche ist das längst nicht die Alltagsversion.
Trage einfach mal in die Datei anonymisiert aber ungeschönt alles so ein, wie du die Sache gebrauchst.

Gruß Uwe
Antworten Top
#17
Hallo,

in der beiliegenden Datei habe ich in den Namensmanager die benutzerdefinierte Funktion "EssenTage(WoTag; [Spalten])" eingefügt:
PHP-Code:
EssenTage = LAMBDA(WoTag; [Spalten];
    LET(
        Sp; WENN(WURDEAUSGELASSEN(Spalten); {2. 4. 3}; Spalten);
        mn; Mastertabelle!$A$3:.$C$9999;
        ma; FILTER(mn; (INDEX(mn;0;1)<>"")+(INDEX(mn;0;2)<>""));
            im; SEQUENZ(ZEILEN(ma));
            ik; FILTER(im; REGEXTESTEN(INDEX(ma; im; 1); "^Kunde\s"));
            iKr;REDUCE(0; SEQUENZ(ZEILEN(ik));
                LAMBDA(Akk; i;  LET(
                    ilfd; INDEX(ik; i; 1);
                    inxt; WENNFEHLER(INDEX(ik; i + 1; 1); ZEILEN(ma) + 1);
                    VSTAPELN(Akk; ERWEITERN(ilfd; inxt - ilfd; 1; ilfd))
                )));
        iKu;WEGLASSEN(iKr;1);
        mm; HSTAPELN(ma; TEXTNACH(INDEX(ma; iKu; 1);" "); INDEX(ma; iKu + 1; 1);INDEX(ma; iKu + 2; 1));
        dat;VSTAPELN({"Na_Adr". "WoTag". "Essen". "Name". "Straße"."Ort"};
            FILTER(mm; INDEX(mm; 0; 2) = WoTag));
        SPALTENWAHL(dat; Sp)
    )
);;
Wie sie aufgerufen wird, ist im Arbeitsblatt "Tagesbestellung" in den Zellen A2, D2, G2, A13, D13, G13 zu sehen.

In Zelle K8 ist zu sehen, welche Rückgabewerte die Funktion unterstützt. Wird kein Spalten-Array als 2. Argument übergeben, wird defaultmäßig das Array {2.4.3} zur Spaltenanzeige verwendet.

Wichtig ist weiters, dass, um die Kundenzeilen im Arbeitsblatt "Mastertabelle" zu ermitteln, das Wort "Kunde " gefolgt vom Kundennamen in Spalte A enthalten sein muss.


Angehängte Dateien
.xlsx   GuJaNi_Testtabelle 2.xlsx (Größe: 28,42 KB / Downloads: 2)
Gruß Anton.

Windows 11 64bit
Microsoft365 Insider 64bit
Antworten Top
#18
Hallo,

hier noch meine ursprüngliche LAMBDA eingebaut auf Teilstringsuche umgebaut in die aktuelle Datei eingebaut.
Die braucht natürlich die Hilfstabelle nicht.


Gruß Uwe


Angehängte Dateien
.xlsx   Testtabelle 2.xlsx (Größe: 22,36 KB / Downloads: 0)
Antworten Top
#19
(21.01.2026, 18:03)slowboarder schrieb: mal ne blöde Frage:
warum zeigst du nicht gleich diese Datei sondern erst eine andere, veränderte?
WARUM?
du hast jetzt  noch eine zusätzliche Überschriftenzeile eingefügt. 
warum war die nicht schon in deiner ersten Anfrage drin?
was hat dich dazu beweget, die rauszulöschen?

du musst jetzt die Formel anpassen, weil ich die Formel natürlich für die Datei geschriebenhabe, die du mir gezeigt hast.
das ist jetzt zusätzliche unnötige Arbeit.

=LET(
a;Mastertabelle!A3.:.A9999&"";
b;Mastertabelle!B3.:.B9999&"";
c;Mastertabelle!C3.:.C9999&"";
x;SEQUENZ(ZEILEN(b));
aa;WENN(REST(x;7)=0;"";INDEX(a;UNTERGRENZE(x-1;7)+1));
HSTAPELN(b;aa;c))

Vielen DANK.

Mit der Formel klappt es Wunderbar.
Antworten Top
#20
Da war noch eine Fehler in meiner LAMDA drin.

.xlsx   Testtabelle 2.xlsx (Größe: 22,4 KB / Downloads: 3)

Gruß Uwe
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste