Kā programmā Excel ģenerēt nejaušus skaitļus bez atkārtojumiem

  • Dalīties Ar Šo
Michael Brown

Šajā rakstā mēs aplūkosim dažas dažādas formulas, lai programmā Excel veiktu nejaušības izlasi, neatkārtojot skaitļus. Mēs arī parādīsim universālu nejaušības ģeneratoru, kas var izveidot nejaušu skaitļu, datumu un virkņu sarakstu bez atkārtošanās.

Kā droši vien zināt, Microsoft Excel ir vairākas nejaušo skaitļu ģenerēšanas funkcijas, piemēram, RAND, RANDBETWEEN un RANDARRAY. Tomēr nav garantijas, ka jebkuras funkcijas rezultāts būs bez dublēšanās.

Šajā pamācībā ir izskaidrotas dažas formulas unikālu nejaušo skaitļu saraksta izveidei. Lūdzu, pievērsiet uzmanību tam, ka dažas formulas darbojas tikai jaunākajā Excel 365 un 2021 versijā, bet citas var izmantot jebkurā Excel 2019, Excel 2016, Excel 2013 un agrākā versijā.

    Unikālu nejaušo skaitļu saraksta iegūšana ar iepriekš noteiktu soli

    Darbojas tikai programmās Excel 365 un Excel 2021, kas atbalsta dinamiskos masīvus.

    Ja jums ir jaunākā Excel versija, visvienkāršākais veids, kā iegūt unikālu nejaušo skaitļu saraksts ir apvienot 3 jaunas dinamisko masīvu funkcijas: SORTBY, SEQUENCE un RANDARRAY:

    SORTBY(SECĪBA( n ), RANDARRAY( n ))

    Kur n ir izlases vērtību skaits, ko vēlaties iegūt.

    Piemēram, lai izveidotu sarakstu ar 5 nejauši izvēlētiem skaitļiem, izmantojiet 5. n :

    =SORTBY(SECENCE(5), RANDARRAY(5))

    Ievadiet formulu augšējā šūnā, nospiediet taustiņu Enter, un rezultāti automātiski izklāsies pa norādīto šūnu skaitu.

    Kā redzams zemāk redzamajā ekrānšāviņas attēlā, šī formula faktiski sakārto skaitļus no 1 līdz 5 nejaušā secībā. Ja jums ir nepieciešams klasisks nejaušo skaitļu ģenerators bez atkārtojumiem, lūdzu, aplūkojiet arī citus zemāk redzamos piemērus.

    Iepriekš minētajā formulā jūs tikai definējat, cik rindas aizpildīt. Visiem pārējiem argumentiem tiek atstātas noklusējuma vērtības, kas nozīmē, ka saraksts sāksies ar 1 un tiks palielināts par 1. Ja vēlaties citu pirmo skaitli un palielinājumu, tad iestatiet savas vērtības 3. ( sākt ) un 4. ( solis ) SEQUENCE funkcijas argumenti.

    Piemēram, lai sāktu no 100 un palielinātu par 10, izmantojiet šo formulu:

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

    Kā šī formula darbojas:

    Formula darbojas no iekšpuses uz āru, un šeit ir aprakstīts, kā to dara:

    • SEQUENCE funkcija izveido secīgu skaitļu masīvu, pamatojoties uz norādīto vai noklusējuma sākuma vērtību un pieaugošo soļa lielumu. Šī secība nonāk līdz masīvs SORTBY arguments.
    • RANDARRAY funkcija izveido nejaušo skaitļu masīvu, kura lielums ir vienāds ar sekvences lielumu (mūsu gadījumā 5 rindas, 1 sleja). Minimālajai un maksimālajai vērtībai nav nozīmes, tāpēc mēs varam atstāt tās noklusējuma vērtības. by_array SORTBY arguments.
    • Funkcija SORTBY sakārto secīgos skaitļus, ko ģenerē funkcija SEQUENCE, izmantojot ar funkciju RANDARRAY ģenerēto nejaušo skaitļu masīvu.

    Lūdzu, paturiet prātā, ka šī vienkāršā formula izveido neatkārtojamu nejaušo skaitļu sarakstu ar. iepriekš noteikts solis Lai apietu šo ierobežojumu, izmantojiet tālāk aprakstīto formulas uzlaboto versiju.

    Izlases numuru saraksta ģenerēšana bez dubultskaitļiem

    Darbojas tikai programmās Excel 365 un Excel 2021, kas atbalsta dinamiskos masīvus.

    Lai programmā Excel ģenerētu nejaušus skaitļus bez dublikātiem, izmantojiet kādu no tālāk minētajām vispārīgajām formulām.

    Nejauši veseli skaitļi :

    INDEKSS(UNIQUE(RANDARRAY( n ^2, 1, min , max , TRUE)), SECĪBA( n ))

    Gadījuma decimāldaļas :

    INDEKSS(UNIQUE(RANDARRAY( n ^2, 1, min , max , FALSE)), SECĪBA( n ))

    Kur:

    • N ir ģenerējamo vērtību skaits.
    • Min ir minimālā vērtība.
    • Max ir maksimālā vērtība.

    Piemēram, lai izveidotu sarakstu ar 5 nejauši veseli skaitļi no 1 līdz 100 bez atkārtojumiem, izmantojiet šo formulu:

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

    Lai ģenerētu 5 unikālus nejaušus decimālskaitļi , RANDARRAY pēdējā argumentā ierakstiet FALSE vai izlaidiet šo argumentu:

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

    Kā šī formula darbojas:

    No pirmā acu uzmetiena formula var šķist nedaudz sarežģīta, taču, aplūkojot to tuvāk, tās loģika ir ļoti vienkārša:

    • RANDARRAY funkcija izveido nejaušo skaitļu masīvu, pamatojoties uz jūsu norādītajām minimālajām un maksimālajām vērtībām. Lai noteiktu, cik daudz vērtību jāģenerē, palieliniet vēlamo unikālo vērtību skaitu līdz 2 lielumam. Tā kā iegūtajā masīvā var būt nezin cik dublikātu, jums ir jānodrošina pietiekams vērtību masīvs, no kura UNIQUE var izvēlēties. Šajā piemērā mums ir nepieciešami tikai 5 unikālie skaitļi.nejaušus skaitļus, bet mēs uzdodam RANDARRAY izveidot 25 (5^2).
    • Funkcija UNIQUE noņem visus dubultniekus un "piegādā" INDEX masīvu bez dubultniekiem.
    • No masīva, kas nodots ar UNIQUE, INDEX funkcija iegūst pirmo n vērtības, kā norādīts SEQUENCE (mūsu gadījumā - 5 skaitļi). Tā kā vērtības jau ir sakārtotas nejaušā secībā, nav nozīmes, kuras no tām izdzīvo.

    Piezīme. Ļoti lieliem masīviem šī formula var būt nedaudz lēna. Piemēram, lai galarezultātā iegūtu 1000 unikālu numuru sarakstu, RANDARRAY būtu iekšēji jāģenerē 1 000 000 nejaušo numuru masīvs (1000^2). Šādās situācijās, tā vietā, lai palielinātu līdz varai, varat reizināt. n piemēram, par 10 vai 20. Tikai, lūdzu, paturiet prātā, ka, jo mazāks masīvs tiek nodots funkcijai UNIQUE (mazs attiecībā pret vēlamo unikālo nejaušo vērtību skaitu), jo lielāka iespēja, ka ne visas šūnas izplūdes diapazonā tiks aizpildītas ar rezultātiem.

    Neatkārtojamu nejaušo skaitļu diapazona izveide programmā Excel

    Darbojas tikai programmās Excel 365 un Excel 2021, kas atbalsta dinamiskos masīvus.

    Lai ģenerētu nejaušo skaitļu virkni bez atkārtojumiem, varat izmantot šo formulu:

    INDEKSS(UNIQUE(RANDARRAY( n ^2, 1, min , max )), SEQUENCE( rindas , kolonnas ))

    Kur:

    • n Lai izvairītos no manuāliem aprēķiniem, to var norādīt kā (rindu skaits * kolonnu skaits). Piemēram, lai aizpildītu 10 rindas un 5 kolonnas, izmantojiet 50^2 vai (10*5)^2.
    • Rindas ir aizpildāmo rindu skaits.
    • Kolonnas ir aizpildāmo kolonnu skaits.
    • Min ir mazākā vērtība.
    • Max ir lielākā vērtība.

    Kā var pamanīt, formula būtībā ir tāda pati kā iepriekšējā piemērā. Vienīgā atšķirība ir SEQUENCE funkcija, kas šajā gadījumā nosaka gan rindu, gan kolonnu skaitu.

    Piemēram, lai 10 rindu un 3 kolonnu diapazonu aizpildītu ar unikāliem nejaušiem skaitļiem no 1 līdz 100, izmantojiet šo formulu:

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

    Un tas izveidos nejaušu decimāldaļu masīvu bez atkārtojošiem skaitļiem:

    Ja jums ir nepieciešami veseli skaitļi, iestatiet RANDARRAY pēdējo argumentu uz TRUE:

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

    Kā ģenerēt unikālus izlases numurus programmā Excel 2019, 2016 un agrāk

    Tā kā neviena versija, izņemot Excel 365 un 2021, neatbalsta dinamiskos masīvus, neviens no iepriekš minētajiem risinājumiem nedarbojas iepriekšējās Excel versijās. Tomēr tas nenozīmē, ka nav nekāda risinājuma, tikai būs jāveic vēl daži soļi:

    1. Izveidojiet nejaušo skaitļu sarakstu. Atkarībā no vajadzībām izmantojiet:
      • RAND funkcija, lai ģenerētu nejaušus decimālskaitļus no 0 līdz 1, vai
      • RANDBETWEEN funkcija, lai radītu nejaušus veselos skaitļus norādītajā diapazonā.

      Noteikti ģenerējiet vairāk vērtību, nekā patiesībā nepieciešams, jo dažas vērtības dublēsies un vēlāk tās tiks dzēstas.

      Šajā piemērā mēs izveidosim sarakstu ar 10 nejauši izvēlētiem veseliem skaitļiem no 1 līdz 20, izmantojot tālāk norādīto formulu:

      =RANDBETWEEN(1,20)

      Lai ievadītu formulu vairākās šūnās vienā reizē, atlasiet visas šūnas (mūsu piemērā A2:A15), ierakstiet formulu formulas joslā un nospiediet Ctrl + Enter . Vai arī varat ievadīt formulu pirmajā šūnā kā parasti un pēc tam vilkt to uz leju uz tik daudzām šūnām, cik nepieciešams.

      Rezultāts izskatās apmēram šādi:

      Kā pamanījāt, formulu esam ievadījuši 14 šūnās, lai gan galu galā mums ir nepieciešami tikai 10 unikāli nejauši skaitļi.

    2. Mainīt formulas uz vērtībām. Tā kā gan RAND, gan RANDBETWEEN pārrēķina ar katru izmaiņu darblapā, jūsu nejaušo skaitļu saraksts nepārtraukti mainīsies. Lai to novērstu, izmantojiet Īpašais ielīmēt> Vērtības lai pārvērstu formulas vērtībās, kā paskaidrots sadaļā Kā pārtraukt izlases skaitļu pārrēķināšanu.

      Lai pārliecinātos, ka tas ir izdarīts pareizi, atlasiet jebkuru skaitli un aplūkojiet formulas joslu. Tagad tajā jāparādās vērtībai, nevis formulai:

    3. Dzēst dublikātus. Lai to izdarītu, atlasiet visus numurus, dodieties uz Dati cilne> Datu rīki grupu un noklikšķiniet uz Divkāršojumu noņemšana . In Divkāršojumu noņemšana dialoglodziņā, kas tiek parādīts, vienkārši noklikšķiniet uz Labi, neko nemainot. Sīkāku informāciju skatiet sadaļā Kā noņemt dublikātus programmā Excel.

    Gatavs! Visi dubultie numuri ir noņemti, un tagad varat dzēst liekos numurus.

    Padoms. Excel iebūvētā rīka vietā varat izmantot mūsu uzlaboto Excel dublēšanas novēršanas rīku.

    Kā apturēt nejaušo skaitļu maiņu

    Visas Excel programmā Excel esošās nejaušības funkcijas, tostarp RAND, RANDBETWEEN un RANDARRAY, ir nepastāvīgas, t. i., tās pārrēķina katru reizi, kad tiek mainīta izklājlapa. Rezultātā ar katru izmaiņu tiek radītas jaunas nejaušības vērtības. Lai novērstu automātisku jaunu skaitļu ģenerēšanu, izmantojiet funkciju Paste Special> Values, lai aizvietotu formulas ar statiskām vērtībām. Lūk, kā:

    1. Atlasiet visas šūnas ar izlases formulu un nospiediet Ctrl + C, lai tās kopētu.
    2. Ar peles labo pogu noklikšķiniet uz atlasītā diapazona un noklikšķiniet uz Īpašais ielīmēšanas veids > Vērtības Varat arī nospiest Shift + F10 un pēc tam V , kas ir šīs opcijas saīsne.

    Sīkāku informāciju skatiet sadaļā Kā Excel programmā Excel mainīt formulas uz vērtībām.

    Nejaušo skaitļu ģenerators programmai Excel bez atkārtojumiem

    Mūsu Ultimate Suite lietotājiem nav nepieciešams neviens no iepriekš minētajiem risinājumiem, jo viņiem jau ir universāls nejaušības ģenerators programmā Excel. Ar šo rīku var viegli izveidot neatkārtojamu veselu skaitļu, decimālciparu skaitļu, datumu un unikālu paroļu sarakstu. Lūk, kā:

    1. Par Ablebits rīki noklikšķiniet uz cilnes Randomizēt > Gadījuma ģenerators .
    2. Atlasiet diapazonu, kas tiks aizpildīts ar nejaušiem skaitļiem.
    3. Par Gadījuma ģenerators panelī veiciet šādus darbības:
      • Izvēlieties vēlamo vērtības veidu: vesels skaitlis, reāls skaitlis, datums, booleāns, pielāgots saraksts vai virkne (ideāli piemērots spēcīgu unikālu paroļu ģenerēšanai!).
      • Iestatiet No un Uz vērtības.
      • Izvēlieties Unikālās vērtības izvēles rūtiņu.
      • Noklikšķiniet uz Izveidot .

    Tas ir viss! Izvēlētais diapazons uzreiz tiek aizpildīts ar neatkārtojamiem nejaušiem skaitļiem:

    Ja vēlaties izmēģināt šo rīku un izpētīt citas aizraujošas funkcijas, kas iekļautas mūsu Ultimate Suite komplektā, varat lejupielādēt izmēģinājuma versiju.

    Lūk, kā programmā Excel nejauši atlasīt skaitļus bez dublēšanās. Paldies, ka izlasījāt, un ceru, ka nākamnedēļ tiksimies mūsu emuārā!

    Prakses darba burtnīca lejupielādei

    Unikālu izlases numuru ģenerēšana programmā Excel (.xlsx failā)

    Maikls Brauns ir īpašs tehnoloģiju entuziasts, kura aizraušanās ir sarežģītu procesu vienkāršošana, izmantojot programmatūras rīkus. Ar vairāk nekā desmit gadu pieredzi tehnoloģiju nozarē viņš ir pilnveidojis savas prasmes programmās Microsoft Excel un Outlook, kā arī Google izklājlapās un dokumentos. Maikla emuārs ir veltīts tam, lai dalītos savās zināšanās un pieredzē ar citiem, sniedzot viegli izpildāmus padomus un pamācības produktivitātes un efektivitātes uzlabošanai. Neatkarīgi no tā, vai esat pieredzējis profesionālis vai iesācējs, Maikla emuārs piedāvā vērtīgas atziņas un praktiskus padomus, kā maksimāli izmantot šos būtiskos programmatūras rīkus.