Willekeurig sorteren is een snelle en gemakkelijke manier om ervoor te zorgen dat alle zaken met dezelfde waarschijnlijkheid verschijnen. In deze zelfstudie bespreken we hoe u in enkele stappen eenvoudig een lijst in Excel kunt randomiseren of in willekeurige volgorde kunt afspelen.
In dit gedeelte leer ik je hoe je een lijst met ingebouwde Excel-functies in willekeurige volgorde kunt weergeven.
Gebruikers van elke Excel-versie kunnen hun originele dataset willekeurig sorteren met behulp van de RAND functioneren met behulp van Sorteer functie, volg dan de onderstaande stappen.
Stap 1: Voer de RAND-formule in
Selecteer de cel naast de bovenste cel van de lijst die u willekeurig wilt maken, voer de onderstaande RAND-formule in en druk op Enter.
=RAND()
Stap 2: Vul de RAND-formule in voor andere cellen
Dubbelklik op de vulgreep (het kleine groene vierkantje in de rechterbenedenhoek) van de formulecel om de formule toe te passen op onderstaande cellen.
Stap 3: Sorteer de RAND-resultaten om de lijst door elkaar te schudden
1. kiezen B2: B8, de lijst die de RAND-formule bevat.
2. Klik op Sorteren en filteren > Sorteer kleinste naar grootste functie in het Bewerken groep op de home Tab.
3. In de pop-up Sorteer waarschuwing dialoogvenster, selecteer Breid de selectie uiten klik vervolgens op Sorteer.
Resultaat
Nu ben je helemaal klaar! De lijst is gerandomiseerd zoals hieronder weergegeven.
Als u gebruikers bent van nieuwere Excel-versies, bijvoorbeeld Excel voor Microsoft 365 of Excel 2021, of Excel voor het web, is de RANDARRAY, SORTEER OP en RIJEN formule helpt u snel een geschudde lijst te krijgen op de positie die u hebt opgegeven.
Stap 1: Voer de formule RANDARRAY, SORTBY en RIJEN in
Selecteer een lege cel waar u het gerandomiseerde resultaat wilt krijgen, typ de onderstaande formule in (houd er rekening mee dat u moet wijzigen A2: A8 in onderstaande formule naar de originele lijst die u wilt randomiseren) en druk op Enter.
=SORTBY(A2:A8,RANDARRAY(ROWS(A2:A8)))
(Optioneel) Stap 2: kopieer en plak het resultaat van de formule om het bewerkbaar te maken
Als je alleen een willekeurig resultaat wilt zien, kan dat sla deze stap over. Als u de willekeurig geschudde lijst wilt bewerken, kopieert u het resultaat van de formule en plakt u alleen de waarden:
1. Selecteer het resultaat van de formule en druk op CTRL + C om het te kopiëren.
2. Klik met de rechtermuisknop op een cel waarin u het gekopieerde resultaat wilt plakken. (U kunt de waarde ook op de oorspronkelijke locatie plakken.)
3. Selecteer de Alleen waarden plakken optie in het rechtsklikmenu.
Resultaat
Nu krijgt u een geschudde en bewerkbare lijst zoals hieronder weergegeven.
Als u het gebruik van formules beu bent en van plan bent de hulp van een invoegtoepassing te gebruiken, Kutools for Excel's Sorteer / selecteer bereik willekeurig functie kan u helpen een willekeurige sortering veel gemakkelijker uit te voeren met meer opties. Gelieve dit als volgt te doen:
Selecteer eerst de lijst die u in willekeurige volgorde wilt afspelen. En selecteer dan Kutools > Bereik > Sorteer / selecteer bereik willekeurig. In de pop-up Sorteer / selecteer bereik willekeurig dialoogvenster, selecteer Hele rijenen klik vervolgens op Ok.
Als u liever een lijst randomiseert met de VBA-methode, gaat u als volgt te werk.
Stap 1: Selecteer de lijst die u in willekeurige volgorde wilt afspelen
Stap 2: Kopieer de VBA-code naar het modulevenster
1. druk op Ctrl + F11 om de VBA-editor te openen en klik vervolgens op Invoegen > Module om een modulecodevenster te openen.
2. Kopieer en plak de onderstaande VBA-code in het geopende modulevenster.
VBA-code: willekeurig een lijst sorteren
Sub RandomSort()
'Update by ExtendOffice
Dim xRg As Range
Dim xNum, xF, xI As Integer
Dim xWSh, xAWSh As Worksheet
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xAWSh = Application.ActiveSheet
Set xRg = ActiveWindow.RangeSelection
Set xWSh = Worksheets.Add
xNum = xRg.Count
For xF = xNum To 1 Step -1
xI = WorksheetFunction.RandBetween(1, xF)
xWSh.Range("A1").Value = xRg.Item(xI)
xRg.Item(xI) = xRg.Item(xF)
xRg.Item(xF) = xWSh.Range("A1")
Next
xWSh.Delete
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Druk in het codevenster op F5 of klik op de knop om deze code uit te voeren.
Resultaat