27.12.2020, 20:26
COMBIN.LIST(Vektor;k-Zugriffe;Wiederholer)
Beschreibung:
Gibt die Liste der Excel-Funktion =KOMBINATIONEN(n;k) aus. Holt sich anstelle der Zuweisung der Zahl n entsprechend alphanum. Elemente aus einem Vektor, um sie darstellen zu können.
Argumente:
Vektor: Ein Bereich vom Umfang n in einer Zeile oder Spalte, der die zu kombinierenden Elemente enthält
k-Zugriffe: Auswahlanzahl der Kombination, also z.B. eine 2er oder eine 5er
Wiederholer: Falls 1, können Elemente wiederholt gezogen werden. Dann n^k Zeilen. Bei 0 (ohne Wiederholer) oder leer: n!/(n-k)!/(k!) oder gesprochen "n über k" Zeilen
Beispiele:
=COMBIN.LIST({1.2.3."q".5};3;)
=COMBIN.LIST({-2.-1.1.9.3.4.7};4;)
Besonderheit: Die -2 und die -1 im Vektor steuern die Liste so, dass sie nicht nur die
(5 über 4 = 05) 4er-Kombis ausgibt, sondern auch die beiden vorherigen (daher -2 und -1), nämlich
(5 über 3 = 10) 3er und die
(5 über 2 = 10) 2er aus der Menge von n=5 (nicht etwa: n=7!); somit also 25 Einträge. Die Nullen können über die benutzerdefinierte Formatierung ausgeblendet werden.
Code:
=LAMBDA(Arr;k;Repeat;LET(
n;ANZAHL2(Arr);
y;SEQUENZ(n^k);
u;INDEX(Arr;REST((y-1)/n^(k-SEQUENZ(;k));n)+1);
q;WENN(ISTZAHL(u);WENNFEHLER(EXP(LN(u)););u);
EINDEUTIG(WENN(Repeat;q;FILTER(q;
WENNFEHLER(INDEX(u;y;1)<INDEX(u;y;2);1)*
WENNFEHLER(INDEX(u;y;2)<INDEX(u;y;3);1)*
WENNFEHLER(INDEX(u;y;3)<INDEX(u;y;4);1)*
WENNFEHLER(INDEX(u;y;4)<INDEX(u;y;5);1)*
WENNFEHLER(INDEX(u;y;5)<INDEX(u;y;6);1)*
WENNFEHLER(INDEX(u;y;6)<INDEX(u;y;7);1)*
WENNFEHLER(INDEX(u;y;7)<INDEX(u;y;8);1)*
WENNFEHLER(INDEX(u;y;8)<INDEX(u;y;9);1))))))
Anmerkungen:
Wie schon bei SORTBY.KEYRANGE und UNIQUE.PARTIAL werden maximal 9 Keys (hier sind es 9er-Kombinationen) zugelassen. Excel lässt im Arbeitsblatt nur 2 Dimensionen zu, so dass die obigen 8 Vergleiche zwischen den 9 Spalten nicht zusammengefasst werden können. Wer noch mehr als 9 benötigt, kann natürlich entsprechend verlängern.
Beschreibung:
Gibt die Liste der Excel-Funktion =KOMBINATIONEN(n;k) aus. Holt sich anstelle der Zuweisung der Zahl n entsprechend alphanum. Elemente aus einem Vektor, um sie darstellen zu können.
Argumente:
Vektor: Ein Bereich vom Umfang n in einer Zeile oder Spalte, der die zu kombinierenden Elemente enthält
k-Zugriffe: Auswahlanzahl der Kombination, also z.B. eine 2er oder eine 5er
Wiederholer: Falls 1, können Elemente wiederholt gezogen werden. Dann n^k Zeilen. Bei 0 (ohne Wiederholer) oder leer: n!/(n-k)!/(k!) oder gesprochen "n über k" Zeilen
Beispiele:
=COMBIN.LIST({1.2.3."q".5};3;)
Code:
1 2 3
1 2 q
1 2 5
1 3 q
1 3 5
1 5 q
2 3 q
2 3 5
2 5 q
3 5 q
=COMBIN.LIST({-2.-1.1.9.3.4.7};4;)
Code:
0 0 1 9
0 0 1 3
0 0 1 4
0 0 1 7
0 0 3 9
0 0 3 4
0 0 3 7
0 0 4 9
0 0 4 7
0 0 7 9
0 1 3 9
0 1 3 4
0 1 3 7
0 1 4 9
0 1 4 7
0 1 7 9
0 3 4 9
0 3 4 7
0 3 7 9
0 4 7 9
1 3 4 9
1 3 4 7
1 3 7 9
1 4 7 9
3 4 7 9
(5 über 4 = 05) 4er-Kombis ausgibt, sondern auch die beiden vorherigen (daher -2 und -1), nämlich
(5 über 3 = 10) 3er und die
(5 über 2 = 10) 2er aus der Menge von n=5 (nicht etwa: n=7!); somit also 25 Einträge. Die Nullen können über die benutzerdefinierte Formatierung ausgeblendet werden.
Code:
=LAMBDA(Arr;k;Repeat;LET(
n;ANZAHL2(Arr);
y;SEQUENZ(n^k);
u;INDEX(Arr;REST((y-1)/n^(k-SEQUENZ(;k));n)+1);
q;WENN(ISTZAHL(u);WENNFEHLER(EXP(LN(u)););u);
EINDEUTIG(WENN(Repeat;q;FILTER(q;
WENNFEHLER(INDEX(u;y;1)<INDEX(u;y;2);1)*
WENNFEHLER(INDEX(u;y;2)<INDEX(u;y;3);1)*
WENNFEHLER(INDEX(u;y;3)<INDEX(u;y;4);1)*
WENNFEHLER(INDEX(u;y;4)<INDEX(u;y;5);1)*
WENNFEHLER(INDEX(u;y;5)<INDEX(u;y;6);1)*
WENNFEHLER(INDEX(u;y;6)<INDEX(u;y;7);1)*
WENNFEHLER(INDEX(u;y;7)<INDEX(u;y;8);1)*
WENNFEHLER(INDEX(u;y;8)<INDEX(u;y;9);1))))))
Anmerkungen:
Wie schon bei SORTBY.KEYRANGE und UNIQUE.PARTIAL werden maximal 9 Keys (hier sind es 9er-Kombinationen) zugelassen. Excel lässt im Arbeitsblatt nur 2 Dimensionen zu, so dass die obigen 8 Vergleiche zwischen den 9 Spalten nicht zusammengefasst werden können. Wer noch mehr als 9 benötigt, kann natürlich entsprechend verlängern.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel).