Kuidas genereerida juhuslikke numbreid Excelis ilma kordusteta

  • Jaga Seda
Michael Brown

Selles artiklis arutame mõningaid erinevaid valemeid, millega saab Excelis numbreid kordusteta juhuslikuks muuta. Samuti näitame teile universaalset juhusliku generaatori, mis suudab toota juhuslike numbrite, kuupäevade ja stringide loendi ilma kordusteta.

Nagu te ilmselt teate, on Microsoft Excelil mitu funktsiooni juhuslike arvude genereerimiseks, näiteks RAND, RANDBETWEEN ja RANDARRAY. Siiski ei ole mingit garantiid, et ühegi funktsiooni tulemus on dubleerimisvaba.

Selles õpetuses selgitatakse mõningaid valemeid unikaalsete juhuslike numbrite loendi loomiseks. Pöörake tähelepanu, et mõned valemid töötavad ainult Exceli uusimas versioonis 365 ja 2021, samas kui teisi saab kasutada mis tahes Excel 2019, Excel 2016, Excel 2013 ja varasemates versioonides.

    Saada nimekiri unikaalsetest juhuslikest numbritest, mille samm on eelnevalt määratud.

    Töötab ainult Excel 365 ja Excel 2021, mis toetavad dünaamilisi massiive.

    Kui teil on uusim Exceli versioon, on kõige lihtsam viis saada unikaalsete juhuslike numbrite nimekiri on kombineerida 3 uut dünaamilist massiivi funktsiooni: SORTBY, SEQUENCE ja RANDARRAY:

    SORTBY(SEQUENCE( n ), RANDARRAY( n ))

    Kus n on juhuslike väärtuste arv, mida soovite saada.

    Näiteks, et luua 5 juhusliku numbri nimekiri, kasutage 5 jaoks n :

    =SORTBY(SEQUENCE(5), RANDARRAY(5))

    Sisestage valem kõige ülemisse lahtrisse, vajutage klahvi Enter ja tulemused valguvad automaatselt üle määratud arvu lahtrite.

    Nagu näete alloleval ekraanipildil, on see valem tegelikult sorteerib numbreid 1 kuni 5 juhuslikus järjekorras Kui teil on vaja klassikalist juhusliku numbri generaatorit, mis ei kordu, siis vaadake teisi allpool olevaid näiteid.

    Ülaltoodud valemis määratled sa ainult selle, mitu rida täita. Kõik teised argumendid jäetakse vaikimisi väärtustele, mis tähendab, et nimekiri algab 1-st ja seda suurendatakse 1 võrra. Kui soovid teistsugust esimest arvu ja suurendamist, siis määra oma väärtused 3. numbrile ( start ) ja 4. ( samm ) argumendid funktsioonis SEQUENCE.

    Näiteks, et alustada 100-st ja suurendada 10 võrra, kasutage seda valemit:

    =SORTBY(SEQUENCE(5, , 100, 10), RANDARRAY(5))

    Kuidas see valem töötab:

    Töötades seestpoolt välja, on valem järgmine:

    • Funktsioon SEQUENCE loob järjestikuste numbrite massiivi, mis põhineb määratud või vaikimisi algväärtusel ja kasvava sammu suurusel. See järjestus läheb aadressile massiivi SORTBY argument.
    • Funktsioon RANDARRAY loob juhuslike arvude massiivi, mis on sama suur kui jada (meie puhul 5 rida, 1 veerg). Min ja max väärtus ei ole tegelikult oluline, seega võime jätta need vaikimisi. See massiivi läheb aadressile by_array SORTBY argument.
    • Funktsioon SORTBY sorteerib SEQUENCE abil genereeritud järjestikused numbrid, kasutades RANDARRAY abil genereeritud juhuslike numbrite massiivi.

    Pidage meeles, et see lihtne valem loob nimekirja mittekorduvatest juhuslikest numbritest koos ettemääratud samm Selle piirangu vältimiseks kasutage allpool kirjeldatud valemi täiustatud versiooni.

    Genereerib juhuslike numbrite nimekirja, kus ei ole duplikaate

    Töötab ainult Excel 365 ja Excel 2021, mis toetavad dünaamilisi massiive.

    Juhuslike numbrite genereerimiseks Excelis ilma duplikaatideta kasutage ühte allpool esitatud üldistest valemitest.

    Juhuslikud täisarvud :

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

    Juhuslikud kümnendmurrud :

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

    Kus:

    • N on genereeritavate väärtuste arv.
    • Min on minimaalne väärtus.
    • Max on maksimaalne väärtus.

    Näiteks, et luua nimekiri 5 juhuslikud täisarvud alates 1 kuni 100 ilma kordusteta, kasutage seda valemit:

    =INDEX(UNIQUE(RANDARRAY(5^2, 1, 1, 1, 100, TRUE)), SEQUENCE(5))

    Et luua 5 unikaalset juhuslikku kümnendarvud panna RANDARRAY viimaseks argumendiks FALSE või jätta see argument välja:

    =INDEX(UNIQUE(RANDARRAY(5^2, 1, 1, 1, 100)), SEQUENCE(5))

    Kuidas see valem töötab:

    Esmapilgul võib valem tunduda veidi keeruline, kuid lähemal vaatlusel on selle loogika väga lihtne:

    • Funktsioon RANDARRAY loob juhuslike arvude massiivi, mis põhineb teie poolt määratud min ja max väärtustel. Selleks, et määrata, kui palju väärtusi genereerida, tõstate soovitud unikaalsete arvude arvu potentsile 2. Kuna saadud massiivil võib olla teadagi mitu duplikaati, peate andma UNIQUE'ile piisava hulga väärtusi, mille hulgast valida. Selles näites vajame ainult 5 unikaalsetjuhuslikke numbreid, kuid me anname RANDARRAY-le korralduse toota 25 (5^2).
    • Funktsioon UNIQUE eemaldab kõik duplikaadid ja "toidab" duplikaadivaba massiivi INDEXi.
    • Funktsioon INDEX tõmbab UNIQUE'i abil edastatud massiivi esimesed n väärtused, nagu on määratud SEQUENCE'iga (meie puhul 5 numbrit). Kuna väärtused on juba juhuslikus järjekorras, ei ole tegelikult oluline, millised neist jäävad ellu.

    Märkus. Väga suurte massiivide puhul võib see valem olla veidi aeglane. Näiteks, et saada lõpptulemusena 1000 unikaalse numbri nimekiri, peaks RANDARRAY sisemiselt genereerima 1 000 000 juhusliku numbri (1000^2) massiivi. Sellistes olukordades võib võimsaks tõstmise asemel korrutada n näiteks 10 või 20. Pidage palun meeles, et mida väiksem massiivi antakse funktsioonile UNIQUE (väike soovitud unikaalsete juhuväärtuste arvu suhtes), seda suurem on võimalus, et kõik lahtrid väljavoolualas ei täitu tulemustega.

    Looge Excelis mittekorduvate juhuslike numbrite vahemik

    Töötab ainult Excel 365 ja Excel 2021, mis toetavad dünaamilisi massiive.

    Et genereerida juhuslike numbrite vahemik ilma kordusteta, võite kasutada seda valemit:

    INDEX(UNIQUE(RANDARRAY( n ^2, 1, min , max )), SEQUENCE( read , veerud ))

    Kus:

    • n on täidetavate lahtrite arv. Et vältida käsitsi arvutusi, võite selle esitada kujul (ridade arv * veergude arv). Näiteks 10 rea ja 5 veeru täitmiseks kasutage 50^2 või (10*5)^2.
    • Rid on täidetavate ridade arv.
    • Veerud on täidetavate veergude arv.
    • Min on madalaim väärtus.
    • Max on suurim väärtus.

    Nagu võite märgata, on valem põhimõtteliselt sama, mis eelmises näites. Ainus erinevus on funktsioon SEQUENCE, mis antud juhul määrab nii ridade kui ka veergude arvu.

    Näiteks 10 reast ja 3 veerust koosneva vahemiku täitmiseks unikaalsete juhuslike numbritega vahemikus 1 kuni 100 kasutage seda valemit:

    =INDEX(UNIQUE(RANDARRAY(30^2, 1, 1, 1, 100)), SEQUENCE(10, 3))

    Ja see tekitab juhuslike kümnendkohtade massiivi ilma korduvate numbriteta:

    Kui vajate täisarvusid, siis seadke RANDARRAY viimaseks argumendiks TRUE:

    =INDEX(UNIQUE(RANDARRAY(30^2, 1, 1, 1, 100, TRUE)), SEQUENCE(10,3))

    Kuidas luua unikaalseid juhuslikke numbreid Excel 2019, 2016 ja varem

    Kuna ükski versioon peale Exceli 365 ja 2021 ei toeta dünaamilisi massiive, ei tööta ükski ülaltoodud lahendustest Exceli varasemates versioonides. See ei tähenda siiski, et lahendust poleks üldse olemas, tuleb lihtsalt teha veel mõned sammud:

    1. Koostage juhuslike numbrite nimekiri. Kasutage vastavalt oma vajadustele kas:
      • Funktsioon RAND, et genereerida juhuslikke kümnendmärke vahemikus 0 ja 1, või
      • Funktsioon RANDBETWEEN, et toota juhuslikke täisarvusid teie poolt määratud vahemikus.

      Kindlasti genereeri rohkem väärtusi, kui sul tegelikult vaja on, sest mõned neist on duplikaadid ja sa kustutad need hiljem.

      Selles näites loome alljärgneva valemi abil 10 juhusliku täisarvu vahemikus 1-20:

      =RANDBETWEEN(1,20)

      Valemi sisestamiseks mitmesse lahtrisse korraga valige kõik lahtrid (meie näites A2:A15), sisestage valem valemiribale ja vajutage Ctrl + Enter . Või sisestage valem esimesse lahtrisse nagu tavaliselt ja lohistage see seejärel nii paljudesse lahtritesse kui vaja.

      Igatahes näeb tulemus välja umbes nii:

      Nagu võite märgata, oleme sisestanud valemi 14 lahtrisse, kuigi lõpuks vajame ainult 10 unikaalset juhuslikku numbrit.

    2. Muutke valemid väärtusteks. Kuna nii RAND kui ka RANDBETWEEN arvutavad iga muutusega töölehel uuesti, muutub teie juhuslike numbrite nimekiri pidevalt. Selle vältimiseks kasutage funktsiooni Paste Special> väärtused valemite teisendamiseks väärtusteks, nagu on selgitatud peatükis Kuidas peatada juhuslike numbrite ümberarvutamist.

      Et veenduda, et olete seda õigesti teinud, valige mõni number ja vaadake valemiriba. See peaks nüüd näitama väärtust, mitte valemit:

    3. Kustuta duplikaadid. Selleks vali kõik numbrid, mine valikusse Andmed tab> Andmetöötlusvahendid rühma ja klõpsake Duplikaatide eemaldamine . aastal Duplikaatide eemaldamine ilmuvas dialoogiboksis klõpsake lihtsalt OK, ilma midagi muutmata. Üksikasjalikud sammud leiate jaotisest Kuidas eemaldada duplikaate Excelis.

    Valmis! Kõik duplikaadid on kadunud ja nüüd saate liigsed numbrid kustutada.

    Vihje. Exceli sisseehitatud tööriista asemel saate kasutada meie täiustatud Duplicate Remover for Excel'i.

    Kuidas peatada juhuslike numbrite muutumine

    Kõik Exceli juhuslikud funktsioonid, sealhulgas RAND, RANDBETWEEN ja RANDARRAY, on volatiilsed, mis tähendab, et nad arvutavad iga kord, kui arvutustabeli muudetakse. Selle tulemusena tekivad iga muudatusega uued juhuslikud väärtused. Et vältida uute numbrite automaatset genereerimist, kasutage funktsiooni Paste Special> Values, et asendada valemid staatiliste väärtustega. Järgnevalt on kirjeldatud, kuidas:

    1. Valige kõik lahtrid oma juhusliku valemiga ja vajutage Ctrl + C, et neid kopeerida.
    2. Tehke valitud vahemikul paremklõps ja klõpsake Paste Special > Väärtused Teise võimalusena võite vajutada Shift + F10 ja seejärel V , mis on selle valiku otsetee.

    Üksikasjalikud sammud leiate jaotisest Kuidas muuta valemeid väärtusteks Excelis.

    Juhuslik numbrigeneraator Exceli jaoks ilma kordusteta

    Meie Ultimate Suite'i kasutajad ei vaja tegelikult ühtegi ülaltoodud lahendust, sest neil on Excelis juba olemas universaalne juhusgeneraator. See tööriist suudab hõlpsasti toota nimekirja kordumatutest täisarvudest, kümnendarvudest, kuupäevadest ja unikaalsetest paroolidest. Siin on, kuidas:

    1. On Ablebits tööriistad vahekaart, klõpsake Randomize > Juhuslik generaator .
    2. Valige vahemik, mille soovite täita juhuslike numbritega.
    3. On Juhuslik generaator paneelil tehke järgmist:
      • Valige soovitud väärtuse tüüp: täisarv, reaalarv, kuupäev, boolilik arv, kohandatud nimekiri või string (ideaalne tugevate unikaalsete paroolide genereerimiseks!).
      • Seadistage Alates ja aadressile väärtused.
      • Valige Unikaalsed väärtused märkeruut.
      • Klõpsake Genereeri .

    See ongi kõik! Valitud vahemik täidetakse korraga mittekorduvate juhuslike numbritega:

    Kui olete uudishimulik, et proovida seda tööriista ja uurida teisi meie Ultimate Suite'i põnevaid funktsioone, olete teretulnud alla laadima prooviversiooni.

    Nii saab Excelis numbreid ilma duplikaatideta juhuslikuks muuta. Tänan teid lugemise eest ja loodan, et näeme teid järgmisel nädalal meie blogis!

    Praktiline töövihik allalaadimiseks

    Exceli (.xlsx faili) unikaalsete juhuslike numbrite genereerimine

    Michael Brown on pühendunud tehnoloogia entusiast, kelle kirg on tarkvaratööriistade abil keerukate protsesside lihtsustamine. Rohkem kui kümneaastase kogemusega tehnoloogiatööstuses on ta lihvinud oma oskusi Microsoft Excelis ja Outlookis, samuti Google Sheetsis ja Docsis. Michaeli ajaveebi eesmärk on jagada oma teadmisi ja teadmisi teistega, pakkudes hõlpsasti järgitavaid näpunäiteid ja õpetusi tootlikkuse ja tõhususe parandamiseks. Olenemata sellest, kas olete kogenud professionaal või algaja, pakub Michaeli ajaveebi väärtuslikke teadmisi ja praktilisi nõuandeid nende oluliste tarkvaratööriistade maksimaalseks kasutamiseks.