Zufällig Paare bilden (Excel)?

5 Antworten

Mit einer Hilfsspalte ist es leicht:

Spalte E (oder eine andere, nicht gebrauchte Spalte) - alle benötigten Zeilen:

=ZUFALLSZAHL()

Zelle C1:

=B1&" - "&BEREICH.VERSCHIEBEN(E$1;RANG(E1;E:E)-1;0)

Zelle C1 so weit wie nötig runterziehen

Ohne Hilfsspalte ist schwierig - ich habe noch nicht raus, wie man einen Zufallsvektor für beide Argumente einer Funktion - hier namentlich RANG - angeben kann.

Wie wäre es wenn du mit ZUFALLSBEREICH() arbeitest?

Folgender Aufbau:

A1 = 1
A2 = 2
A3 = 3
A4 = 4

B1= Martin
B2=Markus
B3=Peter
B4=Lorenz

C1 = 1
C2 = 2
C3 = 3
C4 = 4

D1 = Martina
D2 = Petra
D3 = Magdalena
D4 = Lilli

So, in E1 schreibst du dann diese Formel:

=VERKETTEN(SVERWEIS(ZUFALLSBEREICH(1;4);A1:B4;2;0);" + ";SVERWEIS(ZUFALLSBEREICH(1;4);C1:D4;2;0)

Du generierst bei jedem erneuten Aufruf der Funktion eine Zufallszahl im Bereich von 1-4.

Diese Zahl wird mittels SVERWEIS()-Funktion dann in dem angegebenen Matrixfeld gesucht und dazu wird der dahinter stehende Name ausgegeben.

Dazu hast du die Funktion VERKETTEN(), welche an den 1. Namen den Frauen Name auf die gleiche Art ermittelt und dazu schreibt.

Liebe Grüße,


iMPerFekTioN

Woher ich das weiß:Berufserfahrung – Eigenständiges lernen während und nach meiner Ausbildung
augsburgchris  14.03.2017, 11:38

Verketten erreichst du auch über ein &-Zeichen. Und wozu der SVerweis, wenn die Zeilennummer ohnehin dem Zahlenbereich entspricht?

1
iMPerFekTioN  14.03.2017, 11:46
@augsburgchris

Wenn!

Er kann seine Tabelle auch verschoben haben und z.B. in A1 und B1Überschriften stehen haben wie Männer und Frauen.

Deswegen der SVERWEIS()

Schadet ja auch nicht ;) das mit dem & Zeichen stimmt natürlich.

Ich bin aber ein Fan davon, gerne die Vielfältigkeit von Excel in Form von den vorhandenen Funktionen zu zeigen :)

Wenn das gestattet ist .... :D

1
augsburgchris  14.03.2017, 11:50
@iMPerFekTioN

Manche Funktionen (Wie zum Beispiel verketten) sind nur total sinnlos, da ich hier nicht mal Bereiche angeben kann.

1
iMPerFekTioN  14.03.2017, 11:52
@augsburgchris

Ja, aber für meine Zwecke habe ich mit VERKETTEN schon viel erreicht, deswegen ist das für mich auch voll in Ordnung!

0
kbr19 
Fragesteller
 14.03.2017, 11:49

Erstmal vielen Dank für die schnelle Antwort, jedoch geht es nicht. Da steht jetzt #NV

1
iMPerFekTioN  14.03.2017, 11:52
@kbr19

Also, bei mir Funktioniert der oben genannte Aufbau ohne Probleme!

0
DeeDee07  14.03.2017, 12:22
@iMPerFekTioN

Der Aufbau funktioniert auch, allerdings nur für ein Paar (das in E1 erzeugte). Ich habe das allerdings so verstanden, dass kbr19 alle Paare ausgeben möchte (in der Frage steht D2:D20)

1

Ich hab das so gelöst: http://fs5.directupload.net/images/user/170314/7gdn9w4g.png

Dazu habe ich zwei Hilfsspalten F und G angelegt, wo in jeder Zelle
=ZUFALLSZAHL() steht. Diese Spalten können später auch ausgeblendet werden.

In D2 steht dann:

=INDEX($B$2:$B$7;VERGLEICH(KGRÖSSTE($F$2:$F$7;ZEILE(A1));$F$2:$F$7;0);1)
&" und "&
INDEX($C$2:$C$7;VERGLEICH(KGRÖSSTE($G$2:$G$7;ZEILE(A1));$G$2:$G$7;0);1)

Diese Formel in Spalte D runterkopieren.

Der Vorteil dieser Methode ist, dass jeder Mann und jede Frau genau einmal vorkommen.

Die Kunst ist es ja, dass keine Namen doppelt verwendet werden dürfen. Die Spalte B mit den Männern halten wir fest und suchen zufällig nach Frauen aus Spalte C und geben eine der nicht zugeordneten Frauen zufällig in Spalte D aus. In meinem Beispiel habe ich 5 Männer und 5 Frauen ab Zeile 1 beginnend (müsstest du für dich noch anpassen).

D1: =INDEX(C1:C5;ZUFALLSBEREICH(1;ANZAHL2(C1:C5)))
D2: =INDEX(C$1:C$5;KGRÖSSTE((ZÄHLENWENN($D$1:D1;$C$1:$C$5)=0)*ZEILE($C$1:$C$5);ZUFALLSBEREICH(1;ANZAHL2(C$1:C$5)-ZEILE()+1)))

D2 ziehst du bis D5 herunter.