Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
460to464
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
460to464
460to464
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ZufallsBuchstabe als Funktion?

ZufallsBuchstabe als Funktion?
02.08.2004 14:00:32
NIke
Hi,
wie kann ich eine Zufallszeichenkette aus zwei Zeichen
per Funktion erzeugen, die alle Buchstaben zwischen A - Z und 0 - 9
als Basis hat.
Infos Tips, waeren nett...
Bye
Nike

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ZufallsBuchstabe als Funktion?
02.08.2004 14:20:17
Nepumuk
Hallo Nike,
z.B. so:


Public Function Zufall() As String
    Dim strArray(1 To 36) As String
    Dim intIndex As Integer, intCounter As Integer
    Application.Volatile
    Randomize Timer
    For intIndex = 48 To 90
        If intIndex = 58 Then intIndex = 65
        intCounter = intCounter + 1
        strArray(intCounter) = Chr(intIndex)
    Next
    Zufall = strArray(36 * rnd + 1) & strArray(36 * rnd + 1)
End Function


Gruß
Nepumuk
Anzeige
AW: ZufallsBuchstabe als Funktion?
Nike
Hi,
ok, ich der VBA Spezi hab vergessen zu erwaehnen,
das ich es dieses Mal ausnahmsweise mal als Tabellenblattfunktion braeuchte :-)
Sorry, aber Danke fuer den Ansatz.
Bye
Nike
Formellösung
IngoG
Hallo Nike,
um eine gleichverteilung zwischen allen 35 möglichen ausprägungen zu erhalten bin ich folgendermaßen vorgegangen:
=WENN(GANZZAHL(ZUFALLSZAHL()*35)&lt=10;ZEICHEN(GANZZAHL(ZUFALLSZAHL()*10)+48);ZEICHEN(GANZZAHL(ZUFALLSZAHL()*25)+65))&WENN(GANZZAHL(ZUFALLSZAHL()*35)&lt=10;ZEICHEN(GANZZAHL(ZUFALLSZAHL()*10)+48);ZEICHEN(GANZZAHL(ZUFALLSZAHL()*25)+65))
Gruß Ingo
Anzeige
AW: ZufallsBuchstabe als Funktion?
02.08.2004 14:20:20
Otto
Hallo Nike,
Meine Testumgebung: Excel 9.0 SR-1, Multilingual unter Windows 2000 SP-4
was hältst Du von

Bild
von Otto an Nike
 AB
49 Formel in Spalte A
5013=ABRUNDEN(ZUFALLSZAHL()*(26+10);0)
511=ABRUNDEN(ZUFALLSZAHL()*(26+10);0)
52D1=WENN(A50&lt10;A50;ZEICHEN(A50+55)) & WENN(A51&lt10;A51;ZEICHEN(A51+55))

Gruß Otto
Anzeige
AW: ZufallsBuchstabe als Funktion?
Nike
Hi,
das kommt schon in die Richtung,
Braeuchte es nur moeglichst alles in einer Zeile ;-)
Bin hier in nem englischen System, muss mir jetzt nur noch die Funktionen 'uebersetzen' ;-)
Danke auf jeden Fall.
Bye
Nike
AW: das hier funkt noch nicht:
Nike
Hi,
das hier war mein Versuch, nur leider kommen da immer ein paar Fehler bei rueber:
=CHAR(IF(ABS(RAND()*90)&lt48,ABS(RAND()*90)+48,IF(AND(ABS(RAND()*90)&gt58,ABS(RAND()*90)&lt65),ABS(RAND()*90)+7,ABS(RAND()*90))))
Ich brauch nur Werte von 48 - 57 und 65 - 90
Any advice?
Bye
Nike
AW: das hier funkt noch nicht:
02.08.2004 15:06:21
Otto
Hallo Nike,
Meine Testumgebung: Excel 9.0 SR-1, Multilingual unter Windows 2000 SP-4
Das kann in einer einzigen Formel IMHO nicht funtionieren, da die Funktion RAND() oder auch ZUFALLSZAHL mit jedem Aufruf einen neuen Wert liefert. Deshalb sind nur zwei RAND-Aufrufe erlaubt, pro Zeichen einer.
Eine Lösung nur mit einer Formel würde, ähnlich wie in Nepumuks Ansatz eine Tabelle mit 36 Einträgen brauchen die die Abbildung der Zufallszahl auf den Alphanumerischen Wert liefert. Noch eine andere Alternative wäre das Benutzen eines Zeichensatzes in dem die Ziffern und die Buchstaben direkt hintereinander liegen.
Gruß Otto
Anzeige
AW: das hier funkt noch nicht:
Nike
Hi,
ok, dann generiere ich die zwei Zeichen in zwei separaten Zellen.
Leider komme ich bei menier Loesung immer noch auf Werte,
die ausserhalb meines eigentlichen Wertebereichs liegen,
wo hab ich denn meinen Fehler versteckt?
Hilfe waere echt nett, ich seh grad nur Baeume und keinen Wald ;-)
Bye
Nike
AW: das hier funkt noch nicht:
02.08.2004 15:25:42
Otto
Hallo Nike,
Meine Testumgebung: Excel 9.0 SR-1, Multilingual unter Windows 2000 SP-4
eine Lösung mit einer einzigen Formel und einem benamsten Bereich in Anlehnung an Nepumuk
Ich habe folgenden Bereich mit dem schönen Namen Nike belegt:

Bild
von Otto an Nike
 A
20
31
42
53
64
75
86
97
108
119
12A
13B
14C
15D
16E
17F
18G
19H
20I
21J
22K
23L
24M
25N
26O
27P
28Q
29R
30S
31T
32U
33V
34W
35X
36Y
37Z
Dann funktioniert

Bild
von Otto an Nike
 CD
1 Formel in Spalte C
2FE=INDEX(Nike;ABRUNDEN(ZUFALLSZAHL()*(36);0);1) & INDEX(Nike;ABRUNDEN(ZUFALLSZAHL()*(36);0);1)
Der Bereich Nike kann natürlich auch in einem verborgenen Tabellenblatt liegen
Gruß Otto
Anzeige
AW: ZufallsBuchstabe als Funktion?
ChrisL
Hi Nike

Function Zufallswert() As String
Dim ZufallsZahl As Byte, i As Byte
Application.Volatile
For i = 1 To 2
ZufallsZahl = Int((36 * Rnd) + 1)
If ZufallsZahl > 26 Then
Zufallswert = Zufallswert & (ZufallsZahl - 27)
Else
Zufallswert = Zufallswert & Chr(ZufallsZahl + 64)
End If
Next i
End Function

Gruss
Chris
AW: ZufallsBuchstabe als Funktion?
Nike
Hi,
danke, aber ich haette es dieses Mal als Tabllenblattformel gebraucht.
Sorry.
Bye
Nike
AW: ZufallsBuchstabe als Funktion?
ChrisL
Hi Nike
Schreibe in die Zelle...
=Zufallswert()
...und schon hast du eine Tabellenformel.
Gruss
Chris
Anzeige
ZufallsAlphanumerisches als Funktion!
02.08.2004 16:24:25
Otto
Hallo Nike,
Meine Testumgebung: Excel 9.0 SR-1, Multilingual unter Windows 2000 SP-4
am Einfachsten ist:
=TEIL("1234567890QWERTZUIOPASDFGHJKLYXCVBNM";ABRUNDEN(ZUFALLSZAHL()*36;0);1) & TEIL("1234567890QWERTZUIOPASDFGHJKLYXCVBNM";ABRUNDEN(ZUFALLSZAHL()*36;0);1)
Gruß Otto
AW: ZufallsAlphanumerisches als Funktion!
ingoG
Hallo Otto,
sehr schöne Lösung und vor allem sofort einleuchtend...
Gruß ingo
AW: ZufallsAlphanumerisches als Funktion!
02.08.2004 16:50:59
Otto
Hallo Nike, Ingo,
Meine Testumgebung: Excel 9.0 SR-1, Multilingual unter Windows 2000 SP-4
und vorher Gehirn einschalten liefert:
=TEIL("1234567890QWERTZUIOPASDFGHJKLYXCVBNM";AUFRUNDEN(ZUFALLSZAHL()*36;0);1) & TEIL("1234567890QWERTZUIOPASDFGHJKLYXCVBNM";AUFRUNDEN(ZUFALLSZAHL()*36;0);1)
Gruß Otto
Anzeige
AW: ZufallsAlphanumerisches als Funktion!
Nike
Hi Otto,
danke, funkt.
Bye
Nike
Mit Beispiel
IngoG
Hallo Nike,
hab Dir noch mal eine Datei erzeugt, wo Du gleich die Verteilung sehen kannst...
Diesmal sogar mit Z ;-)
Die formel lautet mit allen Buchstaben:
=WENN(GANZZAHL(ZUFALLSZAHL()*36)&lt=10;ZEICHEN(GANZZAHL(ZUFALLSZAHL()*10)+48);ZEICHEN(GANZZAHL(ZUFALLSZAHL()*26)+65))&WENN(GANZZAHL(ZUFALLSZAHL()*36)&lt=10;ZEICHEN(GANZZAHL(ZUFALLSZAHL()*10)+48);ZEICHEN(GANZZAHL(ZUFALLSZAHL()*26)+65))
https://www.herber.de/bbs/user/9145.xls
Gruß Ingo

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige