Cuprins
Pentru scopuri specifice (de exemplu, număr de telefon, loterie, eșantionare statistică), trebuie să generăm numere aleatoare fără repetiții. Cu toate acestea, este posibil să obțineți numere aleatoare repetitive dacă utilizați formulele generale din Excel. În acest articol, voi discuta cele 9 metode ca generator de numere aleatoare în Excel fără repetiții, împreună cu explicația corespunzătoare.
Descărcați caietul de practică
Generatoare de numere aleatoare fără repetiție.xlsx
9 Metode de implementare a generatorului de numere aleatorii în Excel fără repetiții
În primele 4 metode, veți vedea utilizarea funcțiilor de matrice recent lansate, introduse în Excel 365, pentru a genera numere aleatoare fără repetiție. Cu toate acestea, restul metodelor sunt potrivite pentru toate versiunile Excel, în special pentru cei care folosesc versiunile anterioare ale Excel. În concluzie, puteți utiliza cele 9 metode ca o generator de numere aleatoare în Excel fără repetiții.
Să trecem la metode.
1. Utilizarea funcției RANDARRAY
În primul rând, vom vedea cum se utilizează RANDARRAY pentru a genera numere aleatoare.
The RANDARRAY introdusă în Excel 365, produce o listă de numere aleatoare sub formă de matrice. Și putem folosi funcția pentru a obține numere aleatoare fără valori duplicate.
De exemplu, vreau să produc 20 de numere aleatoare fără repetiție de la 1 la 200.
În astfel de condiții, formula va fi după cum urmează.
=RANDARRAY(10,2,1,200,TRUE)
Aici, 10 este numărul de rânduri, 2 este numărul de coloane, 1 este valoarea minimă, 200 este valoarea maximă și, în cele din urmă, ADEVĂRAT este pentru numere întregi.
Cu toate acestea, această metodă va fi fructuoasă dacă doriți câteva numere dintr-un interval mare de numere (de exemplu, generarea a 10/20 numere de la 1 la 200/500). În caz contrar, va crea valori duplicate.
Citește mai mult: Formula Excel pentru a genera numere aleatorii (5 exemple)
2. Utilizarea funcțiilor UNIQUE & RANDARRAY
În al doilea rând, vom folosi aplicația de UNIC precum și funcția RANDARRAY funcție.
The UNIC disponibilă în versiunile Excel 365, Excel 2021, returnează o listă de valori unice dintr-un set de date sau un interval de celule dat. Așadar, putem utiliza două funcții pentru a produce numere aleatoare fără repetiție.
Formula combinată va fi-
=UNIQUE(RANDARRAY(10,2,1,100,TRUE))
Aici, 10 este numărul de rânduri, 2 este numărul de coloane, 1 este valoarea minimă, 200 este valoarea maximă și, în cele din urmă, ADEVĂRAT este pentru numere întregi.
⧬ În formula de mai sus, am folosit RANDARRAY(10,2,1,1,100,TRUE) ca o matrice pentru a genera 20 de numere aleatoare între 1 și 100. Ulterior, se va utiliza UNIC va returna valori unice din numerele aleatoare generate.
3. Aplicarea funcțiilor SORTBY & SEQUENCE pentru a genera numere aleatoare fără repetiții
În al treilea rând, putem utiliza combinația unor funcții de matrice dinamice.
The SECVENȚĂ funcție, accesibilă numai pentru versiunile Excel 365 & Excel 2021, produce o listă (array) de numere secvențiale.
Să presupunem că doriți să obțineți lista numerelor de la 1 la 10, trebuie să utilizați următoarea formulă.
=SEQUENCE(10)
Aici, 10 este numărul de rânduri.
În continuare, se va trece la SORTBY sortează un tablou de valori pe baza unui alt tablou de valori în ordine crescătoare sau descrescătoare. Prin urmare, putem utiliza funcția împreună cu funcția SECVENȚĂ & RANDARRAY pentru a crea 10 numere aleatoare fără repetiție.
=SORTBY(SEQUENCE(10),RANDARRAY(10))
⧬ În timp ce explicăm formula, putem spune că RANDARRAY(10) produce o listă de 10 numere aleatoare. SEQUENCE(10) generează o listă de 10 numere (secvențiale). Și SEQUENCE(10) și RANDARRAY(10) sunt utilizate ca array argument și by_array în argumentul SORTBY Deoarece dorim să sortăm lista secvențială de numere în ordine aleatorie.
Citește mai mult: Cum se generează un număr aleatoriu cu Excel VBA (4 exemple)
4. Utilizarea funcției INDEX ca generator de numere aleatorii fără repetiții
Dacă dorim să producem o listă de numere aleatoare fără repetiție, atunci se va folosi INDEX împreună cu funcția discutată anterior RANDARRAY , SECVENȚĂ & UNIC De asemenea, putem produce 4 tipuri de numere aleatoare.
4.1. Producerea numerelor întregi aleatorii
Atunci când aveți nevoie să generați 10 numere întregi aleatoare între 1 și 100 fără repetiție, utilizați următoarea formulă.
=INDEX(UNIQUE(UNIQUE(RANDARRAY(10, 1, 1, 1, 100, TRUE)), SEQUENCE(10))
⧬ În timp ce explicăm formula, putem spune că SEQUENCE(10) creează 10 numere secvențiale, RANDARRAY(10, 1, 1, 1, 100, TRUE) produce 10 numere întregi aleatoare între 1 și 100. Deoarece ADEVĂRAT este utilizat pentru a genera numere întregi. Mai târziu, se va utiliza UNIC elimină valorile repetitive din numerele generate. În cele din urmă, funcția INDEX returnează cele 10 numere întregi aleatoare, conform instrucțiunilor din SECVENȚĂ În acest caz, ieșirea UNIC este utilizată ca un tablou.
4.2. Producerea numerelor zecimale aleatoare
Dacă doriți să generați 10 numere zecimale aleatoare fără repetiție, puteți utiliza următoarea formulă.
=INDEX(UNIQUE(UNIQUE(RANDARRAY(10, 1, 1, 1, 100, FALSE)), SEQUENCE(10))
Aici, 10 este numărul de rânduri, 2 este numărul de coloane, 1 este valoarea minimă, 100 este valoarea maximă și, în cele din urmă, FALSE este pentru a genera numere zecimale.
4.3. Producerea unui interval de numere întregi
În mod similar, puteți genera un interval de numere întregi aleatoare folosind următoarea formulă.
=INDEX(UNIQUE(UNIQUE(RANDARRAY(20, 1, 1, 1, 200, TRUE)), SEQUENCE(10,2))
Aici, 20 este numărul de rânduri, 1 este numărul de coloane, 1 este valoarea minimă, 200 este valoarea maximă și, în cele din urmă, ADEVĂRAT este pentru a genera numere întregi.
4.4. Producerea unui interval de numere zecimale aleatoare
Pentru a genera un interval de numere zecimale aleatoare între 1 și 100, utilizați următoarea formulă.
=INDEX(UNIQUE(RANDARRAY(20, 1, 1, 1, 100)), SEQUENCE(10, 2))
Aici, 20 este numărul de rânduri, 1 este numărul de coloane, 1 este valoarea minimă, 200 este valoarea maximă și, în cele din urmă, FALSE este pentru a genera numere zecimale.
Citește mai mult: Generarea unui număr aleatoriu în Excel cu zecimale (3 metode)
5. Funcțiile RAND & RANDBETWEEN pentru generarea numerelor aleatorii
The RAND generează un număr cuprins între 0 și 1. Din fericire, există foarte puține posibilități de a genera valori duplicate în timpul utilizării funcției RAND Este posibil să obțineți valori repetitive dacă treceți de 100000 de ori peste limita de utilizare.
Deci, utilizați formula dacă doriți să generați numere zecimale unice
=RAND()
În plus, în cazul în care RANDBETWEEN returnează numere întregi între două numere date.
De exemplu, dacă doriți să obțineți numerele întregi cuprinse între 1 și 100, puteți utiliza formula de mai jos.
=RANDBETWEEN(1,100)
Aici, 1 este partea de jos argument și 100 este top argument.
Din păcate, există multe posibilități de a avea valori repetitive în timp ce se utilizează RANDBETWEEN În acest caz, puteți utiliza funcția Eliminarea duplicatelor de la opțiunea Date în fila Instrumente de date după selectarea intervalului de celule.
Citește mai mult: Cum să generați numere aleatorii fără duplicate în Excel (7 moduri)
Lecturi similare
- Generarea unui număr aleatoriu între 0 și 1 în Excel (2 metode)
- Generator aleatoriu de numere cu 5 cifre în Excel (7 exemple)
- Generator aleatoriu de numere cu 4 cifre în Excel (8 exemple)
- Generarea unui număr aleatoriu din listă în Excel (4 moduri)
- Generator de numere aleatorii între intervale în Excel (8 exemple)
6. Aplicarea funcțiilor RAND & RANK ca generator de numere aleatoare
În plus, puteți utiliza funcția RANK care returnează dimensiunea relativă a unui număr pe baza listei de numere date. Înainte de a face acest lucru, creați o listă de numere zecimale aleatoare utilizând funcția RAND funcție.
=RANK(B5,$B$5:$B$15)
Aici, B5 este celula de pornire a numerelor zecimale și B5:B15 este intervalul de celule pentru numere zecimale.
Citește mai mult: Excel VBA: Generator de numere aleatorii fără duplicate (4 exemple)
7. Utilizarea combinației de funcții RANK.EQ & COUNTIF
Să spunem că doriți să generați numere aleatoare fără repetiție de la 10 la 50.
Într-o astfel de situație, ați putea folosi combinația de RANK.EQ & COUNTIF pentru a genera numere aleatoare fără repetiție. Înainte de a face acest lucru, creați o listă de numere între 10 și 50 folosind funcția RANDBETWEEN funcție.
Acum, folosiți formula de mai jos.
=9+RANK.EQ(B5, $B$5:$B$15) + COUNTIF($B$5:B5, B5) - 1
Aici, B5 este celula de pornire a numerelor aleatoare și B5:B15 este intervalul de celule pentru numere zecimale.
⧬ În timp ce explicăm formula, putem spune că COUNTIF numără fiecare număr aleatoriu disponibil în listă, iar funcția RANK.EQ returnează poziția relativă (rangul) pentru fiecare număr aleatoriu și, în final, trebuie să adăugăm 9 pentru că dorim să generăm numărul începând de la 10.
8. LARGE & Funcțiile MATCH ca generator de numere aleatoare în Excel
De asemenea, putem produce numere întregi aleatoare fără repetiție folosind combinația de numere aleatoare MARE și MATCH funcții. MARE returnează a k-a cea mai mare valoare dintr-un anumit interval de celule sau set de date.
=LARGE($B$5:$B$15,ROW(B1))
Aici, $B$5:$B$15 este intervalul de celule pentru numere zecimale aleatoare care sunt găsite folosind funcția RAND funcție, ROW(B1) se referă la rândul numărul 1.
În continuare, trebuie să găsim poziția celei mai mari valori create folosind următoarea formulă.
=MATCH(C5,$B$5:$B$15,0)
Aici, C5 este celula de pornire a celor mai mari numere, $B$5:$B$15 este intervalul de celule de numere zecimale aleatoare și, în sfârșit, 0 este pentru a obține o potrivire exactă.
9. Analysis Toolpak ca generator de numere aleatorii în Excel
În cele din urmă, dacă aveți nevoie să generați numere aleatoare fără repetiție în loc să folosiți formulele Excel, puteți folosi următoarele formule Completări de Excel.
Pentru a utiliza Completări , urmați pașii de mai jos.
⇰ Du-te la Fișier > Opțiuni .
⇰ Faceți clic pe Completări și selectați Suplimente Excel din lista derulantă și alegeți opțiunea Du-te .
⇰ Apoi veți vedea următoarea casetă de dialog și bifați căsuța de dinainte de ToolPak de analiză și apăsați OK .
⇰ Acum, selectați Analiza datelor de la opțiunea Date în fila Analiză panglică.
⇰ În continuare, alegeți opțiunea Generarea numerelor aleatorii și apăsați OK .
⇰ Imediat, veți vedea următoarea casetă de dialog.
⇰ Apoi alegeți opțiunea în funcție de rezultatul dorit.
⇰ De exemplu, am selectat Număr de variabile și Numărul de numere aleatorii ca 4 & 10 respectiv pentru a genera lista de numere care au 10 rânduri și 4 coloane.
⇰ Și mai important, trebuie să selectăm Distribuție ca Uniforma deoarece dorim să evităm valorile repetitive.
⇰ Mai târziu, Între 10 și 30 înseamnă că vreau să găsesc numărul din interval.
⇰ În cele din urmă, trebuie să selectați Gama de ieșire
După ce ați efectuat toate sarcinile, veți obține următorul rezultat.
Citește mai mult: Generator de numere aleatorii cu instrument de analiză a datelor și funcții în Excel
Unele erori comune
Cu toate acestea, este posibil să vă confruntați cu următoarele erori în timp ce utilizați formula de mai sus ca generator de numere aleatoare în Excel fără repetiții.
Denumirea erorilor | Când are loc |
---|---|
#CALC! | În cazul în care UNIC nu poate extrage valorile unice. |
#SPILL! | Dacă există o valoare în intervalul de deversare în care UNIC va returna lista. |
#VALOARE! | The RANDARRAY apare atunci când valoarea minimă este mai mare decât valoarea maximă. |
Concluzie
Acesta este modul în care puteți utiliza metodele de mai sus ca un generator de numere aleatoare în Excel fără repetiții. Acum, alegeți orice metodă în funcție de preferințele dvs. Sper că acest articol vă va ușura călătoria Excel.