Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

[LAMBDA] 4 Mengen-Funktionen LISTAND, LISTCOMPL, LISTOR, LISTXOR
#1
LISTAND, LISTCOMPL, LISTOR, LISTXOR

Beschreibung:
Gibt die zutreffenden Datensätze zu den Mengenbegriffen zweier Tabellen aus.

Syntax:
=LISTAND(a;b) (die anderen drei Funktionen genauso)

Beispiel:
Gegeben seien:
Einträge 1 2 3 8 5 6 7 in A2:A8
Einträge 5 6 7 4 9 1 in B2:B7
Daraus ergeben sich folgende Listen:
=LISTAND(A2:A8;B2:B7) ergibt 1 5 6 7 (Schnittmenge)
=LISTCOMPL(A2:A8;B2:B7) ergibt 2 3 8 (Restmenge A bzw. Komplement zu B)
=LISTCOMPL(B2:B7;A2:A8) ergibt 4 9 (Restmenge B bzw. Komplement zu A)
=LISTOR(A2:A8;B2:B7) ergibt 1 2 3 8 5 6 7 4 9 (Vereinigungsmenge)
=LISTXOR(A2:A8;B2:B7) ergibt 2 3 8 4 9 (Symmetrische Differenz bzw. exkl. Disjunktion)

Code LISTAND (Schnittmenge bzw. logische Konjunktion):
=LAMBDA(a;b;LET(
ArC;LAMBDA(a;b;LET(x;ZEILEN(a);y;SPALTEN(a);z;ZEILEN(b); k;SEQUENZ(x);m;SEQUENZ(x+z);n;SEQUENZ(;y); WENN(m<=x;INDEX(a;k;n);INDEX(b;m-x;n))));
x;ArC(a;b);EINDEUTIG(ArC(EINDEUTIG(x);EINDEUTIG(x;;1));;1)))


Code LISTCOMPL (Restmenge A bzw. Komplement zu B):
LAMBDA(a;b;LET(
ArC;LAMBDA(a;b;LET(x;ZEILEN(a);y;SPALTEN(a);z;ZEILEN(b); k;SEQUENZ(x);m;SEQUENZ(x+z);n;SEQUENZ(;y); WENN(m<=x;INDEX(a;k;n);INDEX(b;m-x;n))));
x;ArC(a;b);EINDEUTIG(ArC(a;EINDEUTIG(ArC(EINDEUTIG(x);EINDEUTIG(x;;1));;1));;1)))


Code LISTOR (Vereinigungsmenge bzw. logische Disjunktion):
=LAMBDA(a;b;LET(
ArC;LAMBDA(a;b;LET(x;ZEILEN(a);y;SPALTEN(a);z;ZEILEN(b); k;SEQUENZ(x);m;SEQUENZ(x+z);n;SEQUENZ(;y); WENN(m<=x;INDEX(a;k;n);INDEX(b;m-x;n))));
EINDEUTIG(ArC(a;b))))


Code LISTXOR (Symmetrische Differenz bzw. exklusive Disjunktion):
=LAMBDA(a;b;LET(
ArC;LAMBDA(a;b;LET(x;ZEILEN(a);y;SPALTEN(a);z;ZEILEN(b); k;SEQUENZ(x);m;SEQUENZ(x+z);n;SEQUENZ(;y); WENN(m<=x;INDEX(a;k;n);INDEX(b;m-x;n))));
EINDEUTIG(ArC(a;b);;1)))


Anmerkungen:
Die 4 Funktionen enthalten ARRAY.COMBINE in der Kurzform ArC und sind daher allein funktionsfähig.

Datei:
.xlsx   220218 Mengenermittlung mit ARRAY.COMBINE_2.xlsx (Größe: 11,47 KB / Downloads: 0)
Antworten Top


Gehe zu:


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