Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
648to652
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
648to652
648to652
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zufallszahl

Zufallszahl
08.08.2005 01:16:36
Alex
Hallo Leute,
kann mir jemand mit der Funktion =ZUFALLSZAHL() helfen
ich möchte für Artikel Nummern 1-100 Zufallszahl von 1-100 vergeben
leider ist es immer so, dass EXEL manche Zahlen doppelt und manche
garnicht "rausspuckt" hat jemand eine Lösung
Ich danke jetzt schon mal
Gruss Alex

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zufallszahl
08.08.2005 01:27:30
Matthias G
Hallo Alex,
das ist halt Zufall ;-)
wie hast du denn die Formel gewählt?
1-100: =GANZZAHL(ZUFALLSZAHL()*100)+1
Gruß Matthias
AW: Zahlen zufällig anordnen
08.08.2005 01:42:23
Matthias G
Hallo Alex,
wenn du meinst, dass du in einem Bereich alle Zahlen von 1-... zufällig anordnen willst, dann vielleicht so:

Sub Zufallsliste()
Const Bereich = "A1:A100"
Dim i As Integer
Dim tmp As Integer
Dim z As Range
Dim MaxZahl As Integer
Application.Calculation = xlCalculationManual
MaxZahl = Range(Bereich).Count
Range(Bereich).ClearContents
Randomize
For Each z In Range(Bereich)
Do
tmp = Int(Rnd() * MaxZahl) + 1
Loop Until WorksheetFunction.CountIf(Range(Bereich), tmp) = 0
z.Value = tmp
Next z
Application.Calculation = xlCalculationAutomatic
End Sub

Das funktioniert jedoch ab 1000 Zahlen immer und immer langsamer...
Gruß Matthias
Anzeige
AW: Zahlen zufällig anordnen
08.08.2005 06:57:53
Erich G.
Hallo Alex und Matthias,
wenn es viele Zahlen sein sollen, geht das schnell mit

Sub Zufallsliste2()
Const Bereich = "C10:C20000"
'Schnelle Erzeugung einer zufälligen Anordnung der Zahlen ab 1
'in einem (fast) beliebig großen Zeilenbereich einer Spalte
'Die aktuelle Auswahl (ActiveCell, Selection) wird wieder hergestellt.
'Voraussetzung: Die letzten zwei Zeilen und drei Spalten der Tabelle sind frei.
Dim bb As Range, merkA As Range, merkS As Range
'                                aktuelle Auswahlen merken
Set merkA = ActiveCell
Set merkS = Selection
'                                Leerzellen um Bereich erzeugen (wg. Sort)
Set bb = Range(Bereich)
bb.Columns(1).Insert
bb.Columns(1).Offset(0, 1).Insert
Rows(bb.Cells(1, 1).Row + bb.Cells.Rows.Count).Insert
Rows(bb.Cells(1, 1).Row).Insert
'                                Zahlen und Zufallszahlen eintragen
bb.FormulaLocal = "=ZEILE()+1-" & bb.Row
bb.Copy
bb.PasteSpecial xlPasteValues, xlNone, False, False
bb.Columns(1).Insert
Randomize
Selection.FormulaLocal = "=ZUFALLSZAHL()"
Selection.Copy
Selection.PasteSpecial xlPasteValues, xlNone, False, False
'                                Sort nach Zufallszahlen
Selection.Cells(1, 1).Sort Key1:=Selection.Cells(1, 1), Order1:=xlAscending, _
Header:=xlNo, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
'                                Spalte mit Zufallszahlen löschen
bb.Offset(0, -1).Delete xlToLeft
'                                Leerzellen um Bereich wieder löschen
bb.Offset(0, -1).Delete xlToLeft
bb.Offset(0, 1).Delete xlToLeft
Rows(bb.Cells(1, 1).Row - 1).Delete
Rows(bb.Cells(1, 1).Row + bb.Cells.Rows.Count).Delete
'                                Auswahlen wiederherstellen
merkS.Select
merkA.Activate
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Zufallszahl / Lösung ohne VBA
08.08.2005 07:57:36
Klaus M.vdT.
Moin,
Schreib in A1 : =zufallszahl()
Schreib in B1 : =RANG(A1;A:A)+ZÄHLENWENN(A$1:A1;A1)-1
Kopier beides runter bis A100 und B100, markiere Spalte B, Kopieren und Werte einfügen, Spalte A löschen.
Anmerkung: in B1 würde auch =RANG(A1;A:A) vollkommen ausreichen, die Chance das eine zufallszahl() sich wiederholt ist etwa eins zu einer Quadrilliarde :) das Zählenwenn fängt aber genau diesen Fall ab - Sicherheit geht vor.
Gruß,
Klaus M.vdT.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige