Excel–Zufällige Auswahl aus einer Liste

In den letzten drei Tagen habe ich mit ZUFALLSBEREICH gezeigt, wie Sie eine zufällige Zahlenliste, eine Datums- und eine Buchstabenliste erzeugen können. Heute geht es darum, aus einer vorgegebenen Liste von Namen oder Städten oder ähnlichem eine zufällige Auswahl zu treffen.

12.11.2017_0001Gegeben sind zwei Listen: eine Liste mit 23 verschiedenen Vornamen und eine mit 23 verschiedenen Städtenamen. Beide Listen sind bei mir gleich lang – das ist aber nur zufälligerweise so, das muss nicht sein! Ich könnte genauso 60 Vornamen und 35 Städte haben.

Beide Listen sind als formatierte Tabellen angelegt und jede hat einen Namen. Die Vornamenliste heißt tblVorname und die Städteliste tblStädte. Ich lege das deswegen als formatierte Tabelle an, damit ich die Listen jederzeit ergänzen kann und meine Formeln nicht an wachsenden Tabellen angepasst werden müssen. Wer noch keine Erfahrungen mit formatierten Tabellen hat, guckt hier.

Ich brauche zuerst eine zufällige Auswahl von fünf Namen – es darf der gleiche Vorname mehrfach vorkommen. Genauso brauche ich fünf zufällige Städtenamen – auch hier: Mehrfachnennungen dürfen sein.

 

Gebraucht werden zwei Funktionen: INDEX und ZUFALLSBEREICH. Und als Feinheit kommt noch als dritte Funktion ANZAHL2 hinzu.

Die Funktion INDEX erfordert im einfachsten Fall nur zwei Argumente: die Matrix und die Zeilenzahl. Also:
=INDEX(Matrix;Zeile)

Die Matrix für die Vornamen ist in der Tabelle tblVorname die Spalte Vorname. Die Zeilenzahl soll von Zeile 1 der Matrix bis Zeile 23 gehen – das gebe ich als Argument “Zeile” mit der Funktion ZUFALLSBEREICH an:
=INDEX(tblVorname[Vorname];ZUFALLSBEREICH(1;23))

Der Bezug “tblVorname[Vorname]” wird von Excel automatisch erzeugt, wenn Sie in der formatierten Tabelle den Inhalt der Spalte markieren – also von A2 bis A24. Das ist dann in der Tabelle tblVorname der Inhalt der Spalte Vorname.

Aber mit der Angabe Zeile 1 bis 23 lege ich mich fest. Was ist, wenn die Tabelle wächst? Das habe ich mir ja ausdrücklich vorbehalten und deswegen auch die formatierte Tabelle verwendet. Besser wäre es, wenn die maximale Anzahl flexibel wäre. Die maximale Anzahl der vorhandenen Einträge kann ich ermitteln mit ANZAHL2:

=INDEX(tblVorname[Vorname];ZUFALLSBEREICH(1;ANZAHL2(tblVorname[Vorname])))

12.11.2017_0003

Für die Städte lautet die Formel:

=INDEX(tblStädte[Städte];ZUFALLSBEREICH(1;ANZAHL2(tblStädte[Städte])))

Und wie in den letzten drei Tagen schon angemerkt: diese Funktion wird bei jeder Aktualisierung des Blattes neu berechnet. Sie können das Ergebnis wieder fixieren, wenn Sie den Bereich E2 bis F7 markieren, mit der rechten Mausten nach rechts und wieder zurückziehen und dann aus dem Kontextmenü den Befehl “Hierhin als Nur-Werte kopieren” wählen.

 

Hinterlasse jetzt einen Kommentar

Kommentar hinterlassen

E-Mail Adresse wird nicht veröffentlicht.


*