Bauen Sie eine Zeichenkette zufällig auf und wiederholen Sie nicht

441
tsbarker13

Ich kann keinen Weg finden, dies zu tun. Ich habe fünf Zellen in Excel. Ich möchte sie zufällig zu einer Zeichenkette verketten. Ich möchte jedes Zellenzeichen einmal in der Zeichenfolge verwenden, die ich baue, so dass am Ende eine fünfstellige Zeichenfolge entsteht, keine Wiederholungen. Angenommen, ich habe A1 = Y, B1 = u, C1 = 6, D1 =%, E1 = z. Ich möchte eine Zeichenfolge erstellen, die jedes Zeichen in einer zufälligen Reihenfolge enthält, uY6% z oder zY% u6 cetera)

Gibt es eine Möglichkeit, dies zu tun?

1

2 Antworten auf die Frage

0
Maarten Bodewes

Sie können eine Fisher-Yates-Mischung in VB für Anwendungen (VBA) durchführen, z. B. mit der hier angezeigten Algorithmusimplementierung .

Verwenden Sie einen guten Zufallszahlengenerator, falls erforderlich einen kryptografisch sicheren Generator. RandomizeWird nur von der Systemzeit ausgesät, also würde ich keine Lotterie damit betreiben.

0
ljwobker

This looks like it describes what you want?

https://www.extendoffice.com/documents/excel/2484-excel-random-number-no-duplicates-no-repeat.html

Once you get the no-duplicates list of numbers, you can use that to INDEX() into your values with CONCATENATE().

Dies bezieht sich nicht wirklich auf meine Situation. Ich generiere zufällige Zeichen, um in ein Passwort zu gelangen, also nicht alle Zahlen, ein Sonderzeichen, ein Großbuchstabe, ein Kleinbuchstabe, eine Zahl und eine, die eines der oben genannten sein kann. Der Link scheint über Zahlen und numerische Tests zu sprechen. tsbarker13 vor 7 Jahren 0