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.

Zahlenreihe ohne doppelte Ziffern
#1
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!
Antworten Top
#2
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
Antworten Top
#3
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
Antworten Top
#4
=LET(x;ZUFALLSMATRIX(10);TEXTKETTE(VERGLEICH(x;SORTIEREN(x);)-1))
Antworten Top
#5
(23.08.2021, 12:57)LCohen schrieb: =LET(x;ZUFALLSMATRIX(10);TEXTKETTE(VERGLEICH(x;SORTIEREN(x);)-1))

Die Formel hilft mir weiter, vielen Dank!
Antworten Top
#6
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)
Antworten Top
#7
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.
Antworten Top
#8
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 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
Antworten Top
#9
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
Antworten Top
#10
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
1419
1553
1656
1795
1860
1981
2030
217
2289
2371
2444
2515
2631
2721
286
2990
3088
Formeln der Tabelle
ZelleFormel
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-Online

Gruß 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)
Antworten Top


Gehe zu:


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