Excel-Funktion RANDARRAY - schnelle Möglichkeit zur Erzeugung von Zufallszahlen

  • Teile Das
Michael Brown

Das Tutorial zeigt, wie man mit einer neuen dynamischen Array-Funktion - RANDARRAY - Zufallszahlen generiert, eine Liste zufällig sortiert, eine zufällige Auswahl trifft und Daten zufällig einer Gruppe zuordnet.

Wie Sie wahrscheinlich wissen, verfügt Microsoft Excel bereits über einige Zufallsfunktionen - RAND und RANDBETWEEN. Warum ist es sinnvoll, eine weitere Funktion einzuführen? Kurz gesagt, weil sie viel leistungsfähiger ist und die beiden älteren Funktionen ersetzen kann. Neben der Festlegung eigener Höchst- und Mindestwerte können Sie angeben, wie viele Zeilen und Spalten gefüllt werden sollen und ob zufällige Dezimalzahlen oderZusammen mit anderen Funktionen kann RANDARRAY sogar Daten mischen und eine Zufallsstichprobe ziehen.

    Excel-Funktion RANDARRAY

    Die Funktion RANDARRAY in Excel gibt ein Array mit Zufallszahlen zwischen zwei beliebigen Zahlen zurück, die Sie angeben.

    Sie ist eine der sechs neuen dynamischen Array-Funktionen, die in Microsoft Excel 365 eingeführt wurden. Das Ergebnis ist ein dynamisches Array, das sich automatisch in die angegebene Anzahl von Zeilen und Spalten erstreckt.

    Die Funktion hat die folgende Syntax, wobei alle Argumente optional sind:

    RANDARRAY([Zeilen], [Spalten], [min], [max], [whole_number])

    Wo:

    Zeilen (optional) - legt fest, wie viele Zeilen gefüllt werden sollen; wird nichts angegeben, ist der Standardwert 1 Zeile.

    Rubriken (optional) - legt fest, wie viele Spalten gefüllt werden sollen; wird nichts angegeben, wird standardmäßig 1 Spalte verwendet.

    Min (optional) - die kleinste zu erzeugende Zufallszahl; wenn nicht angegeben, wird der Standardwert 0 verwendet.

    Max (optional) - die größte zu erstellende Zufallszahl; wenn nicht angegeben, wird der Standardwert 1 verwendet.

    Ganze_Zahl (optional) - legt fest, welche Art von Werten zurückgegeben werden soll:

    • TRUE - ganze Zahlen
    • FALSE oder weggelassen (Standard) - Dezimalzahlen

    Die Funktion RANDARRAY - was zu beachten ist

    Um Zufallszahlen in Ihren Excel-Arbeitsblättern effizient zu generieren, sind 6 wichtige Punkte zu beachten:

    • Die Funktion RANDARRAY ist nur in Excel für Microsoft 365 und Excel 2021 verfügbar. In Excel 2019, Excel 2016 und früheren Versionen ist die Funktion RANDARRAY nicht verfügbar.
    • Wenn das von RANDARRAY zurückgegebene Array das Endergebnis ist (Ausgabe in einer Zelle und nicht an eine andere Funktion übergeben), erstellt Excel automatisch einen dynamischen Spill-Bereich und füllt ihn mit den Zufallszahlen auf. Stellen Sie also sicher, dass Sie genügend leere Zellen unterhalb und/oder rechts von der Zelle haben, in die Sie die Formel eingeben, sonst tritt ein #SPILL-Fehler auf.
    • Wenn keines der Argumente angegeben wird, gibt eine RANDARRAY()-Formel eine einzelne Dezimalzahl zwischen 0 und 1 zurück.
    • Wenn die Zeilen oder/und Spalten Argumente durch Dezimalzahlen dargestellt werden, werden sie auf die ganze Zahl vor dem Dezimalpunkt abgeschnitten (z. B. wird 5,9 als 5 behandelt).
    • Wenn die min oder max Argument nicht definiert ist, ist RANDARRAY standardmäßig 0 bzw. 1.
    • Wie andere Zufallsfunktionen auch, ist Excel RANDARRAY flüchtig Um dies zu verhindern, können Sie Formeln durch Werte ersetzen, indem Sie die Excel-Funktion Einfügen Spezial > Werte Funktion.

    Grundlegende Excel RANDARRAY-Formel

    Und nun möchte ich Ihnen eine beliebige Excel-Formel in ihrer einfachsten Form zeigen.

    Angenommen, Sie wollen einen Bereich, der aus 5 Zeilen und 3 Spalten besteht, mit beliebigen Zufallszahlen füllen, dann müssen Sie die ersten beiden Argumente wie folgt formulieren:

    • Zeilen ist 5, da wir die Ergebnisse in 5 Zeilen haben wollen.
    • Rubriken ist 3, da wir die Ergebnisse in 3 Spalten haben wollen.

    Alle anderen Argumente belassen wir auf ihren Standardwerten und erhalten die folgende Formel:

    =RANDARRAY(5, 3)

    Geben Sie sie in die linke obere Zelle des Zielbereichs (in unserem Fall A2) ein, drücken Sie die Eingabetaste, und die Ergebnisse werden auf die angegebene Anzahl von Zeilen und Spalten verteilt.

    Wie Sie im obigen Screenshot sehen können, füllt diese einfache RANDARRAY-Formel den Bereich mit zufälligen Dezimalzahlen von 0 bis 1. Wenn Sie lieber ganze Zahlen innerhalb eines bestimmten Bereichs erhalten möchten, konfigurieren Sie die letzten drei Argumente wie in den weiteren Beispielen gezeigt.

    Wie man in Excel randomisiert - RANDARRAY-Formelbeispiele

    Im Folgenden finden Sie einige fortgeschrittene Formeln, die typische Randomisierungsszenarien in Excel abdecken.

    Erzeugen von Zufallszahlen zwischen zwei Zahlen

    Um eine Liste von Zufallszahlen innerhalb eines bestimmten Bereichs zu erstellen, geben Sie im 3. Argument den Mindestwert und im 4. Argument den Höchstwert an. Je nachdem, ob Sie ganze Zahlen oder Dezimalzahlen benötigen, setzen Sie das 5. Argument auf TRUE bzw. FALSE.

    Als Beispiel wollen wir einen Bereich von 6 Zeilen und 4 Spalten mit zufälligen ganzen Zahlen von 1 bis 100 füllen. Dazu stellen wir die folgenden Argumente der Funktion RANDARRAY ein:

    • Zeilen ist 6, da wir die Ergebnisse in 6 Zeilen haben wollen.
    • Rubriken ist 4, da wir die Ergebnisse in 4 Spalten haben wollen.
    • Min ist 1, das ist der Mindestwert, den wir haben wollen.
    • Max ist 100, das ist der maximale Wert, der erzeugt werden kann.
    • Ganze_Zahl ist TRUE, weil wir ganze Zahlen brauchen.

    Setzt man die Argumente zusammen, erhält man diese Formel:

    =RANDARRAY(6, 4, 1, 100, TRUE)

    Dies führt zu folgendem Ergebnis:

    Erzeugen eines Zufallsdatums zwischen zwei Daten

    Wenn Sie einen Zufallsgenerator für das Datum in Excel suchen, ist die Funktion RANDARRAY eine einfache Lösung! Sie müssen nur das frühere Datum (Datum 1) und das spätere Datum (Datum 2) in vordefinierte Zellen eingeben und dann in Ihrer Formel auf diese Zellen verweisen:

    RANDARRAY(rows, columns, Datum1 , Datum2 , TRUE)

    Für dieses Beispiel haben wir mit dieser Formel eine Liste von Zufallsdaten zwischen den Daten in D1 und D2 erstellt:

    =RANDARRAY(10, 1, D1, D2, TRUE)

    Natürlich können Sie das Minimal- und das Maximal-Datum auch direkt in die Formel eingeben, aber achten Sie darauf, dass Sie sie in einem Format eingeben, das Excel versteht:

    =RANDARRAY(10, 1, "1/1/2020", "12/31/2020", TRUE)

    Um Fehler zu vermeiden, können Sie die Funktion DATE für die Eingabe von Daten verwenden:

    =RANDARRAY(10, 1, DATE(2020,1,1), DATE(2020,12,31), TRUE)

    Hinweis: Excel speichert intern Datumsangaben als fortlaufende Nummern, so dass die Formelergebnisse höchstwahrscheinlich als Zahlen angezeigt werden. Um die Ergebnisse korrekt anzuzeigen, wenden Sie die Datum Format für alle Zellen im Überlaufbereich.

    Zufällige Arbeitstage in Excel generieren

    Um zufällige Arbeitstage zu erzeugen, betten Sie die Funktion RANDARRAY wie folgt in das erste Argument von WORKDAY ein:

    WORKDAY(RANDARRAY(rows, columns, Datum1 , Datum2 , TRUE), 1)

    RANDARRAY erstellt ein Array mit zufälligen Startdaten, zu denen die Funktion WORKDAY einen Arbeitstag hinzufügt und sicherstellt, dass alle zurückgegebenen Daten Arbeitstage sind.

    Mit dem Datum 1 in D1 und dem Datum 2 in D2 wird folgende Formel verwendet, um eine Liste von 10 Wochentagen zu erstellen:

    =ARBEITSTAG(RANDARRAY(10, 1, D1, D2, TRUE), 1)

    Wie im vorherigen Beispiel müssen Sie den Überlaufbereich wie folgt formatieren Datum damit die Ergebnisse korrekt angezeigt werden.

    Wie man Zufallszahlen ohne Duplikate erzeugt

    Obwohl modernes Excel 6 neue dynamische Array-Funktionen bietet, gibt es leider immer noch keine eingebaute Funktion, die Zufallszahlen ohne Duplikate zurückgibt.

    So bauen Sie Ihr eigenes einzigartiger Zufallszahlengenerator in Excel müssen Sie mehrere Funktionen wie unten gezeigt miteinander verknüpfen.

    Zufällige ganze Zahlen :

    INDEX(UNIQUE(RANDARRAY( n *2, 1, min , max , TRUE)), SEQUENCE( n ))

    Zufällige Dezimalzahlen :

    INDEX(UNIQUE(RANDARRAY( n *2, 1, min , max , FALSE)), SEQUENCE( n ))

    Wo:

    • N ist die Anzahl der Werte, die Sie erzeugen möchten.
    • Min ist der niedrigste Wert.
    • Max ist der höchste Wert.

    Um zum Beispiel 10 zufällige ganze Zahlen ohne Duplikate zu erzeugen, verwenden Sie diese Formel:

    =INDEX(UNIQUE(RANDARRAY(20, 1, 1, 100, TRUE)), SEQUENCE(10))

    So erstellen Sie eine Liste mit 10 eindeutigen zufällige Dezimalzahlen ändern Sie im letzten Argument der Funktion RANDARRAY TRUE in FALSE oder lassen Sie dieses Argument einfach weg:

    =INDEX(UNIQUE(RANDARRAY(20, 1, 1, 100, FALSE)), SEQUENCE(10))

    Tipps und Hinweise:

    • Eine ausführliche Erklärung der Formel finden Sie unter Wie man in Excel Zufallszahlen ohne Duplikate erzeugt.
    • In Excel 2019 und früher steht die Funktion RANDARRAY nicht zur Verfügung, bitte sehen Sie sich stattdessen diese Lösung an.

    Wie man in Excel zufällig sortiert

    Um Daten in Excel zu mischen, verwenden Sie RANDARRAY für das Feld "Sortieren nach" ( by_array Die Funktion ROWS zählt die Anzahl der Zeilen in Ihrem Datensatz und gibt an, wie viele Zufallszahlen erzeugt werden sollen:

    SORTBY( Daten , RANDARRAY(ROWS( Daten )))

    Mit diesem Ansatz können Sie eine Liste zufällig sortieren in Excel, unabhängig davon, ob es Zahlen, Daten oder Texteinträge enthält:

    =SORTBY(A2:A13, RANDARRAY(ROWS(A2:A13)))

    Außerdem können Sie auch Zeilen mischen ohne Ihre Daten zu vermischen:

    =SORTBY(A2:B10, RANDARRAY(ROWS(A2:B10)))

    Wie man in Excel eine Zufallsauswahl trifft

    Um eine Zufallsstichprobe aus einer Liste zu ziehen, können Sie die folgende allgemeine Formel verwenden:

    INDEX( Daten , RANDARRAY( n , 1, 1, ROWS( Daten ), TRUE))

    Wo n ist die Anzahl der zufälligen Einträge, die Sie extrahieren möchten.

    Um beispielsweise 3 Namen aus der Liste in A2:A10 zufällig auszuwählen, verwenden Sie diese Formel:

    =INDEX(A2:A10, RANDARRAY(3, 1, 1, ROWS(A2:A10), TRUE))

    Oder geben Sie den gewünschten Stichprobenumfang in eine Zelle ein, z. B. C2, und verweisen Sie auf diese Zelle:

    =INDEX(A2:A10, RANDARRAY(C2, 1, 1, ROWS(A2:A10), TRUE))

    Wie diese Formel funktioniert:

    Das Herzstück dieser Formel ist die Funktion RANDARRAY, die ein zufälliges Array von Ganzzahlen erzeugt, wobei der Wert in C2 die Anzahl der zu erzeugenden Werte festlegt. Die minimale Anzahl ist fest kodiert (1) und die maximale Anzahl entspricht der Anzahl der Zeilen in Ihrem Datensatz, die von der Funktion ROWS zurückgegeben wird.

    Das Array mit den zufälligen Ganzzahlen geht direkt in die zeilen_zahl Argument der INDEX-Funktion, das die Positionen der zurückzugebenden Elemente angibt. Für das Beispiel im obigen Screenshot lautet es:

    =INDEX(A2:A10, {8;7;4})

    Tipp: Wenn Sie eine große Stichprobe aus einem kleinen Datensatz auswählen, besteht die Möglichkeit, dass Ihre Zufallsauswahl mehr als ein Vorkommen desselben Eintrags enthält, da es keine Garantie dafür gibt, dass RANDARRAY nur eindeutige Zahlen produziert. Um dies zu verhindern, verwenden Sie eine duplikatfreie Version dieser Formel.

    Zufällige Zeilen in Excel auswählen

    Wenn Ihr Datensatz mehr als eine Spalte enthält, geben Sie an, welche Spalten in die Stichprobe einbezogen werden sollen. Geben Sie dazu eine Array-Konstante für das letzte Argument an ( spalte_num ) der Funktion INDEX, etwa so:

    =INDEX(A2:B10, RANDARRAY(D2, 1, 1, ROWS(A2:A10), TRUE), {1,2})

    Dabei sind A2:B10 die Quelldaten und D2 der Stichprobenumfang.

    Das Ergebnis ist, dass unsere Zufallsauswahl zwei Spalten mit Daten enthält:

    Tipp: Wie im vorherigen Beispiel kann auch diese Formel doppelte Datensätze liefern. Um sicherzustellen, dass Ihre Stichprobe keine Wiederholungen enthält, verwenden Sie einen etwas anderen Ansatz, der unter Wie man zufällige Zeilen ohne Duplikate auswählt beschrieben wird.

    Zufällige Zuordnung von Zahlen und Text in Excel

    Um eine Zufallszuweisung in Excel vorzunehmen, verwenden Sie RANDBETWEEN zusammen mit der Funktion CHOOSE auf diese Weise:

    WÄHLEN(RANDARRAY(ROWS( Daten ), 1, 1, n , TRUE), Wert1 , Wert2 ,...)

    Wo:

    • Daten ist ein Bereich Ihrer Quelldaten, dem Sie Zufallswerte zuweisen möchten.
    • N ist die Gesamtzahl der zuzuordnenden Werte.
    • Wert1 , Wert2 , Wert3 usw. sind die Werte, die nach dem Zufallsprinzip zugewiesen werden.

    Um zum Beispiel den Teilnehmern in A2:A13 Nummern von 1 bis 3 zuzuweisen, verwenden Sie diese Formel:

    =CHOOSE(RANDARRAY(ROWS(A2:A13), 1, 1, 3, TRUE), 1, 2, 3)

    Der Einfachheit halber können Sie die zuzuordnenden Werte in separate Zellen eingeben, z. B. von D2 bis D4, und auf diese Zellen in Ihrer Formel verweisen (einzeln, nicht als Bereich):

    =CHOOSE(RANDARRAY(ROWS(A2:A13), 1, 1, 3, TRUE), D2, D3, D4)

    Als Ergebnis können Sie beliebige Zahlen, Buchstaben, Texte, Daten und Zeiten mit derselben Formel zufällig zuordnen:

    Hinweis: Die Funktion RANDARRAY generiert bei jeder Änderung im Arbeitsblatt neue Zufallswerte, so dass jedes Mal neue Werte zugewiesen werden. Um die zugewiesenen Werte zu "fixieren", verwenden Sie die Funktionen Einfügen Spezial> Werte, um Formeln durch ihre berechneten Werte zu ersetzen.

    Wie diese Formel funktioniert

    Das Herzstück dieser Lösung ist wiederum die Funktion RANDARRAY, die ein Array von Zufallszahlen erzeugt, die auf den von Ihnen angegebenen Minimal- und Maximalwerten basieren (in unserem Fall von 1 bis 3). Die Funktion ROWS teilt RANDARRAY mit, wie viele Zufallszahlen erzeugt werden sollen. Dieses Array wird in die index_num Argument der CHOOSE-Funktion, zum Beispiel:

    =WÄHLEN({1;2;1;2;3;2;3;3;1;3;1;2}, D2, D3, D4)

    Index_num ist das Argument, das die Positionen der zurückzugebenden Werte bestimmt. Und da die Positionen zufällig sind, werden die Werte in D2:D4 in einer zufälligen Reihenfolge ausgewählt. Ja, so einfach ist das :)

    Wie man Daten nach dem Zufallsprinzip Gruppen zuordnet

    Wenn Ihre Aufgabe darin besteht, die Teilnehmer nach dem Zufallsprinzip den Gruppen zuzuweisen, ist die obige Formel möglicherweise nicht geeignet, da sie nicht kontrolliert, wie oft eine bestimmte Gruppe ausgewählt wird. 5 Personen könnten beispielsweise der Gruppe A zugewiesen werden, aber nur 2 Personen der Gruppe C. Um eine Zufallszuweisung durchzuführen gleichmäßig Damit jede Gruppe die gleiche Anzahl von Teilnehmern hat, brauchen Sie eine andere Lösung.

    Zunächst erzeugen Sie eine Liste von Zufallszahlen mit Hilfe dieser Formel:

    =RANDARRAY(ROWS(A2:A13))

    Wobei A2:A13 Ihre Quelldaten sind.

    Und dann ordnen Sie Gruppen (oder irgendetwas anderes) mit Hilfe dieser allgemeinen Formel zu:

    INDEX( werte_zu_weisen , AUFRUNDUNG(RANG( erste_zufällige_Zahl , zufällige_Zahlen_bereich )/ n , 0))

    Wo n ist die Gruppengröße, d. h. die Anzahl, wie oft jeder Wert zugewiesen werden soll.

    Um beispielsweise Personen nach dem Zufallsprinzip den in E2:E5 aufgeführten Gruppen zuzuordnen, so dass jede Gruppe 3 Teilnehmer hat, verwenden Sie diese Formel:

    =INDEX($E$2:$E$5, ROUNDUP(RANK(B2,$B$2:$B$13)/3,0))

    Bitte beachten Sie, dass es sich um eine reguläre Formel handelt (nicht um eine dynamische Array-Formel!), so dass Sie die Bereiche mit absoluten Referenzen wie in der obigen Formel sperren müssen.

    Geben Sie Ihre Formel in die oberste Zelle (in unserem Fall C2) ein und ziehen Sie sie dann nach unten in so viele Zellen wie nötig. Das Ergebnis sieht dann etwa so aus:

    Denken Sie daran, dass die Funktion RANDARRAY flüchtig ist. Um zu verhindern, dass bei jeder Änderung im Arbeitsblatt neue Zufallswerte generiert werden, ersetzen Sie Formeln durch ihre Werte, indem Sie die Funktion Einfügen Spezial Funktion.

    Wie diese Formel funktioniert:

    Die RANDARRAY-Formel in der Hilfsspalte ist sehr einfach und bedarf kaum einer Erläuterung, daher wollen wir uns auf die Formel in Spalte C konzentrieren.

    =INDEX($E$2:$E$5, ROUNDUP(RANK(B2,$B$2:$B$13)/3,0))

    Die Funktion RANK vergleicht den Wert in B2 mit der Reihe der Zufallszahlen in B2:B13. Das Ergebnis ist eine Zahl zwischen 1 und der Gesamtzahl der Teilnehmer (in unserem Fall 12).

    Der Rang wird durch die Gruppengröße (in unserem Beispiel 3) geteilt und mit der Funktion ROUNDUP auf die nächste Ganzzahl aufgerundet. Das Ergebnis dieser Operation ist eine Zahl zwischen 1 und der Gesamtzahl der Gruppen (in diesem Beispiel 4).

    Die ganze Zahl geht an den zeilen_zahl Argument der Funktion INDEX und zwingt sie, einen Wert aus der entsprechenden Zeile im Bereich E2:E5 zurückzugeben, der die zugewiesene Gruppe darstellt.

    Excel RANDARRAY-Funktion funktioniert nicht

    Wenn Ihre RANDARRAY-Formel einen Fehler zurückgibt, sind dies die offensichtlichsten Gründe für eine Überprüfung:

    #SPILL-Fehler

    Wie bei jeder anderen dynamischen Array-Funktion bedeutet ein #SPILL!-Fehler in den meisten Fällen, dass in dem vorgesehenen Überlaufbereich nicht genug Platz ist, um alle Ergebnisse anzuzeigen. Löschen Sie einfach alle Zellen in diesem Bereich, und Ihre Formel wird automatisch neu berechnet. Weitere Informationen finden Sie unter Excel #SPILL-Fehler - Ursachen und Lösungen.

    #VALUE-Fehler

    Unter diesen Umständen kann ein #VALUE!-Fehler auftreten:

    • Wenn ein max Wert kleiner ist als ein min Wert.
    • Wenn eines der Argumente nicht numerisch ist.

    #NAME-Fehler

    In den meisten Fällen weist ein #NAME!-Fehler auf einen der folgenden Punkte hin:

    • Der Name der Funktion ist falsch geschrieben.
    • Die Funktion ist in Ihrer Excel-Version nicht verfügbar.

    #CALC! Fehler

    Ein #CALC!-Fehler tritt auf, wenn die Zeilen oder Spalten Argument kleiner als 1 ist oder sich auf eine leere Zelle bezieht.

    So erstellen Sie einen Zufallszahlengenerator in Excel mit der neuen Funktion RANDARRAY. Ich danke Ihnen für die Lektüre und hoffe, Sie nächste Woche in unserem Blog begrüßen zu dürfen!

    Übungsheft zum Herunterladen

    RANDARRAY-Formelbeispiele (.xlsx-Datei)

    Michael Brown ist ein begeisterter Technologie-Enthusiast mit einer Leidenschaft für die Vereinfachung komplexer Prozesse mithilfe von Softwaretools. Mit mehr als einem Jahrzehnt Erfahrung in der Technologiebranche hat er seine Fähigkeiten in Microsoft Excel und Outlook sowie Google Sheets und Docs verfeinert. Michaels Blog widmet sich dem Teilen seines Wissens und seiner Expertise mit anderen und bietet leicht verständliche Tipps und Tutorials zur Verbesserung von Produktivität und Effizienz. Egal, ob Sie ein erfahrener Profi oder ein Anfänger sind, Michaels Blog bietet wertvolle Einblicke und praktische Ratschläge, wie Sie diese wichtigen Softwaretools optimal nutzen können.