Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1560to1564
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
Inhaltsverzeichnis

Zufällige Verteilung von Probanden auf 2 Gruppen

Zufällige Verteilung von Probanden auf 2 Gruppen
24.05.2017 11:51:34
Probanden
Hallo zusammen,
ich möchte ca 50 Probanden komplett zufällig auf zwei Gruppen verteilen, die Gruppengröße soll also ungleich sein
Die Idee ist: ich trage den Namen des Probanden in Spalte A ein, durch zufällige Berechnung steht dann in Spalte B, ob der Proband Gruppe A oder Gruppe B zugeordnet wurde.
Wichtig ist mir, dass diese Zuteilung direkt erscheint und bestehen bleiben soll, egal wie viele weitere Probanden ich danach hinzufüge. Daran scheitert es bisher immer bei mir.
Kann mir jemand einen Tipp geben, wie ich das unkompliziert umsetze?

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zufällige Verteilung von Probanden auf 2 Gruppen
24.05.2017 12:02:32
Probanden
Hallo Kai,
diesen Code in "Tabelle1" einfügen:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Zahl = Rnd(1)
If Zahl > 0.5 Then
Target.Offset(, 1) = "A"
Else
Target.Offset(, 1) = "B"
End If
Application.EnableEvents = True
End Sub
Egal welche Zelle zu änderst, rechts davon wird "A" oder "B" angezeigt.
Gruß,
Rainer
AW: Zufällige Verteilung von Probanden auf 2 Gruppen
24.05.2017 12:03:12
Probanden
Hallo,
als erste Idee:
Der Zufallsgenerator von xl erzeugt gleichverteilte Zahlen, es sollte also reichen die Funktion "=rnd()" zu nutzen und Gruppe 1 0,5 zu definieren.
Sofern neue PRobanden hinzukommen, kann der Ansatz nur für diese neu gerechnet werden.
mfg
Anzeige
AW: erledigt owT
24.05.2017 12:04:02
Fennek
AW: erledigt owT
24.05.2017 12:33:12
Kai
Hallo Fennek,
ich kenne mich leider weder mit Makros noch mit Visual Basic aus, deshalb komme ich auch mit euren Antworten leider noch nicht weiter.
Ich kann leider, warum auch immer, keine Dateien hochladen, deshalb beschreibe ich es kurz:
Spalte A: die Namen der Probanden, die ich schrittweise ergänzen möchte.
Spalte B: mit Zufallsbereich(1;1000) erzeuge ich nach Anlegen des Probanden eine Zufallszahl für ihn
Spalte C: hier soll stehen: wenn Zelle B2 größer/gleich 501, dann Gruppe B. Wenn Zelle B2 kleiner/gleich 500, dann Gruppe A.
im Moment habe ich zwei Probleme:
erstens, wenn immer ich ein neues Feld fülle, also bspw einen neuen Probanden hinzufüge, ändert Excel die Zufallszahlen für alle bisherigen Zufallszahlen auch.
zweitens: die Formatierung von Spalte C mit der WennDann Formulierung gelingt mir nicht.
Anzeige
AW: copy/paste value
24.05.2017 12:40:30
Fennek
Hallo,
ein Zwischenschritt fehlt noch: nach der Zuordnung der Gruppen muss der Bereich kopiert und als Wert eingefügt werden.
mfg
AW: erledigt owT
24.05.2017 12:42:29
Kai
Also die Gruppenzuteilung habe ich jetzt mit =WENN(C3>=500;"Gruppe B";"Gruppe A") gelöst. Bleibt das Problem, dass Excel mir meine Zahlen jedes mal neu berechnet. Ich weiß, dass es die Umgehung gibt, die Funktion Zufallszahl nach Ausführung zu löschen und einfach den Wert in die Zelle zu schreiben. Aber gibt es auch eine "saubere Lösung"?
Grüße
Kai
AW: Teste mal so...
24.05.2017 13:03:04
Michael
Hallo!
Kleine Bsp-Datei mit Makros: https://www.herber.de/bbs/user/113773.xlsm
Für die ersten Probanden die erste Schaltfläche; sobald neue Namen/Probanden hinzukommen die zweite Schaltfläche...
Lg
Michael
Anzeige
AW: Teste mal so...
24.05.2017 13:06:18
Kai
Geht leider nicht. Excel für Mac. Version 15.31 (170216)
Laufzeitfehler "429".:
Objekterstellung durch ActiveX-Komponente nicht möglich.
Grüße
Kai
Dass Du auf einem MAC arbeitest....
24.05.2017 13:17:20
Michael
...kann ich mir nicht aus den Fingern saugen.
In Mac-Umgebungen kenn ich mich nicht aus, bin daher raus.
LG
Michael
AW: Dass Du auf einem MAC arbeitest....
24.05.2017 13:19:25
Kai
sorry, arbeite extra mit Excel und nicht mit Numbers, weil ich dachte, dass ich solche Probleme dann nicht habe...
Danke für die Mühe!
AW: erledigt owT
24.05.2017 13:03:19
Daniel
HI
ich mach das so:
in eine Hilfsspalte neben die Personen kommt die Funktion =Zufallszahl()
dann sortierst du die Liste nach der Zufallszahl und hast so eine Zufällige Reihenfolge.
die ersten x Personen dieser Liste gehören zur Gruppe A, die restlichen dann zur Gruppe B.
die Liste ist dann solange stabil, biss du sie neu sortierst.
Gruß Daniel
Anzeige
AW: Zufällige Verteilung von Probanden auf 2 Gruppen
24.05.2017 12:55:56
Probanden
Hallo
- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- Diesen Code dort reinkopieren
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Z
    If Not Intersect(Range("A:A"), Target) Is Nothing Then
        If Target.Row > 1 Then
            For Each Z In Target
                Randomize
                Application.EnableEvents = False
                Z.Offset(0, 1) = "Gruppe " & _
                    Chr(WorksheetFunction.RandBetween(65, 66))
            Next
        End If
    End If
Fehler:
    Application.EnableEvents = True
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & vbLf & Err.Description: Err.Clear
End Sub

Bei Änderung in Spate A wird der Wert in B eingetragen
Es können auch mehrere Zellen gleichzeitig in A bearbeitet werden.
Gruß UweD
Anzeige
AW: Zufällige Verteilung von Probanden auf 2 Gruppen
24.05.2017 13:14:22
Probanden
Hallo UweD,
ich hab es versucht, aber kenne mich wie gesagt nicht mit dem VB-Editor aus... Kann weiterhin keinen Screenshot hochladen *argh* ich glaube dieses Forum mag meine Mac einfach nicht.
Also ich habe im VBA Editor ein oberes und ein unteres Eingabefeld. Ins obere kann ich das reinkopieren, ich finde aber keinerlei option da ganze zu speichern o.Ä. Darunter habe ich eine graue leiste mit den Optionen "Haltepunkt ein / aus"; "Programm ausführen" und "Beenden".
Beim klick auf "Programm ausführen" kriege ich einen Systemton, der darauf hinweist, das nichts passiert ist.
Was mache ich falsch?
Anzeige
AW: Zufällige Verteilung von Probanden auf 2 Gruppen
24.05.2017 13:31:21
Probanden
Hallo
- Rechtsclick in der Tabelle auf den Tablellenblattreiter (hier Tabelle1)
- Code anzeigen
- Der VBA Editor wird geöffnet
- rechts siehst du der Project explorer (hier ist dein Tabellenblatt ausgewählt)
- links fügst du dann den VBA Code ein
sieht dann so aus
Userbild
LG UweD
ich hatte den Code ja noch ein wenig geändert...
24.05.2017 13:33:26
UweD
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Z
    If Not Intersect(Range("A:A"), Target) Is Nothing Then
        If Target.Row > 1 Then
            Randomize
            For Each Z In Intersect(Range("A:A"), Target)
                Application.EnableEvents = False
                Z.Offset(0, 1) = "Gruppe " & _
                    Chr(WorksheetFunction.RandBetween(65, 66))
            Next
        End If
    End If
Fehler:
    Application.EnableEvents = True
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & vbLf & Err.Description: Err.Clear
End Sub

Anzeige
AW: Zufällige Verteilung von Probanden auf 2 Gruppen
24.05.2017 13:47:23
Probanden
Hallo zusammen,
ich habe das Problem jetzt über die Excel-Funktionen "Daten - Gültigkeit - Zulassen: Liste" gelöst, wobei die Liste dann eben als Quelle ein Feld mit einer sich ständig erneuernden Zufallszahl hat.
Ist zwar völlig anders als ich gedacht hatte aber funktioniert klasse. Und ich bin um VBA herumgekommen.
Danke allen die sich bemüht haben, wenn Zeit ist beschäftige ich mich dann mal mit VBA, dann aber auf Windows, damit nicht ständig alles anders aussieht..
Der Thread kann gerne geschlossen werden.
Grüße
Kai Becker
AW: Zufällige Verteilung von Probanden auf 2 Gruppen
24.05.2017 13:45:01
Probanden
Hallo Kai,
Bei einer geraden Anzahl von Probanden kann nicht garantiert werden, dass mit einer Zufallszahl die Gruppengrössen ungleich sind, weil Zufallszahlen normal verteilt sind!
Unter der Annahme, dass Namen in der Anzahl Zeichen gleichverteilt zwischen Geraden und Ungeraden sind, ist die einfachste Lösung in die Spalte 2 neben den Namen die Formel:
=REST(LÄNGE(A2);2)+1
(ab B2) zu schreiben. Das braucht kein VBA, keine Iteration und muss auch auf einem MAC laufen!
Gruess Hansueli
Anzeige
AW: Zufällige Verteilung von Probanden auf 2 Gruppen
24.05.2017 13:51:15
Probanden
Hallo Hansueli, hätte vielleicht "darf" statt "soll" schreiben sollen ;) mir geht es nur darum, dass die Gruppenzuteilung des einzelnen unabhängig von der zahl der anderen Teilnehmer erfolgen soll.
habe das problem jetzt über die Excel-Funktionen "Daten - Gültigkeit - Zulassen: Liste" gelöst, wobei die Liste dann eben als Quelle ein Feld mit einer sich ständig erneuernden Zufallszahl hat.
Grüße
Kai
oder wenns A oder B sein soll...
24.05.2017 13:50:48
EtoPHG
Kai,
In Spalte neben dem Namen:
=ZEICHEN(REST(LÄNGE(A2);2)+65)
Gruess Hansueli
oder wenns A oder B sein soll...
24.05.2017 13:50:50
EtoPHG
Kai,
In Spalte neben dem Namen:
=ZEICHEN(REST(LÄNGE(A2);2)+65)
Gruess Hansueli
Anzeige
AW: oder wenns A oder B sein soll...
25.05.2017 04:27:06
Rainer
Zum Abschluss noch eine Alternative:

=WENN(ISTGERADE((SUMME(WENNFEHLER(CODE(TEIL($A3;ZEILE($A$1:$A$100);1));0))));"A";"B")
Das ist eine {Matrixformel}.
Es wird geprüft ob die Summe der Codezahlen der einzelnen Buchstaben Gerade ("A") oder Ungerade ("B") ist.
Vermutlich etwas schwerer vorherzusehen als die Anzahl der Zeichen im Namen, für den Fall dass es etwas "geheimnisvoller" Anmuten soll. :-)
Gruß,
Rainer

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige