Registriert seit: 23.08.2021
Version(en): Office 365
Hallo zusammen,
habt ihr eine Idee, wie ich in Excel eine Zahlenreihe ohne doppelte Ziffern erstellen kann?
Es stehen 10 Stellen pro Zahl zur Verfügung.
An jede Stelle der Zahl dürfen die Ziffern 0-9 eingesetzt werden.
Jede Ziffer darf in jeder Zahl nur 1 mal vorkommen.
Als Beispiel mal die drei ersten möglichen Zahlen, wenn man bei 0 beginnt:
- 0123456789
- 0123456798
- 0123456879
Vielen Dank schon einmal vorab!
Registriert seit: 16.08.2017
Version(en): 2007 / 2010 / Web
Hi
Also erzeugen kann man so eine Zahl z.B. so.
Code:
A1 =ZUFALLSBEREICH(0;9)
B1 {=KKLEINSTE(WENN(ZÄHLENWENN($A1:A1;ZEILE($A$1:$A$10)-1);"";ZEILE($A$1:$A$10)-1);ZUFALLSBEREICH(1;10-SPALTE(A1)))}
B1 nach rechts ziehen bis J1. Matrixformel.
Gruß Elex
Registriert seit: 12.08.2019
Version(en): Office 365
Hallo,
mit einem Makro könnte man das evtl. machen.
Aber wozu sollte das gut sein? Bei ca. 3,6 Mio. Möglichkeiten kannst du damit eh nichts anfangen.
Gruß Sigi
Registriert seit: 21.12.2017
Version(en): MS 365 Family (6 User x 5 Geräte für jeden) Insider-Beta
=LET(x;ZUFALLSMATRIX(10);TEXTKETTE(VERGLEICH(x;SORTIEREN(x);)-1))
Registriert seit: 23.08.2021
Version(en): Office 365
(23.08.2021, 13:57)LCohen schrieb: =LET(x;ZUFALLSMATRIX(10);TEXTKETTE(VERGLEICH(x;SORTIEREN(x);)-1))
Die Formel hilft mir weiter, vielen Dank!
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
Oder auch:
=TEXTKETTE(SORTIERENNACH(SEQUENZ(10;;0);ZUFALLSMATRIX(10)))
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 21.12.2017
Version(en): MS 365 Family (6 User x 5 Geräte für jeden) Insider-Beta
24.08.2021, 07:13
(Dieser Beitrag wurde zuletzt bearbeitet: 24.08.2021, 08:01 von LCohen.)
Danach hatte ich gesucht ;) fand es aber nicht. 1 Funktion weniger, 1 Bezug weniger, 1 Berechnung weniger, Größenordnungen schneller!
Ein Geniestreich von RPP63.
Hier der Beweis:
=LET(x;ZUFALLSMATRIX(10000);VERGLEICH(x;SORTIEREN(x);)-1)
ist mindestens 10mal langsamer als
=SORTIERENNACH(SEQUENZ(10000;;0);ZUFALLSMATRIX(10000))
Bei 100.000 steigt die Lösung mit dem Genau-VERGLEICH sogar ganz aus, während die reine SORTIERENNACH-Lösung weiterhin blitzschnell ist. Begründung: Exponenzielle Zunahme dort, weiterhin binäres Aufteilen hier.
Registriert seit: 08.05.2014
Version(en): Office 2010, Office 365, Office 365 Betakanal
24.08.2021, 08:52
(Dieser Beitrag wurde zuletzt bearbeitet: 24.08.2021, 08:53 von maninweb.)
Moin,
in meiner Sudoku-LAMBDA hatte ich u.a. folgende Formel, für den Fall hier angepasst...
PHP-Code:
=EINDEUTIG(ZUFALLSMATRIX(10^2;1;0;9;WAHR))
Das funktioniert auch, hat aber den Nachteil, dass es Fälle geben kann, wo die Liste weniger als 10 Einträge
aufweist, weshalb ich die damals rekursiv gemacht hatte. Mit der folgenden Formel von RPP63 gibt es das
Problem nicht mehr, soweit ich das sehe.
PHP-Code:
=SORTIERENNACH(SEQUENZ(10;;0);ZUFALLSMATRIX(10))
Danke auch von mir, RPP63.Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awardshttps://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
Registriert seit: 16.08.2017
Version(en): 2007 / 2010 / Web
So so.... @LCohen and @maninweb. Ab und zu auch mal wieder in die Excelhilfe schauen. Dort ist die Formel als Beispiel zu finden.
Nur Spaß. Ich hatte mich jetzt einfach mal zu den neuen Funktionen belesen, auch wenn ich sie bei mir nicht verwenden kann.
Gruß Elex
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
Moin Elex!
Hintergrund "meiner" Formel war, mich mit Lotto zu beschäftigen und die millionenfach zu findenden Lösungen einer per F9 anzustoßenden "Ziehung" mittels der neuen Funktionen zu simplifizieren.
Lotto
17 aus
98 wäre dann:
=INDEX(SORTIERENNACH(SEQUENZ(98);ZUFALLSMATRIX(98));SEQUENZ(17)) | A |
14 | 19 |
15 | 53 |
16 | 56 |
17 | 95 |
18 | 60 |
19 | 81 |
20 | 30 |
21 | 7 |
22 | 89 |
23 | 71 |
24 | 44 |
25 | 15 |
26 | 31 |
27 | 21 |
28 | 6 |
29 | 90 |
30 | 88 |
Formeln der Tabelle |
Zelle | Formel | A14 | =INDEX(SORTIERENNACH(SEQUENZ(98);ZUFALLSMATRIX(98));SEQUENZ(17)) |
|
Die Umsetzung auf das hiesige Problem war dann simpel.
Und ja!
Dass mich hier gleich 2 MVPs loben, ehrt mich, zumal es zumindest im deutschsprachigen Raum keine Entsprechung gibt.
Auch schon ein Jahr her:
https://www.clever-excel-forum.de/Thread...der-OnlineGruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)