Generator liczb losowych w Excelu bez powtórzeń (9 metod)

  • Udostępnij To
Hugh West

Dla konkretnych celów (np. Numer telefonu, loteria, próbkowanie statystyczne) musimy generować liczby losowe bez powtórzeń. Jednak możesz uzyskać powtarzające się liczby losowe, jeśli używasz ogólnych formuł programu Excel. W tym artykule omówię 9 metod jako generator liczb losowych w programie Excel bez powtórzeń wraz z odpowiednim wyjaśnieniem.

Pobierz Zeszyt ćwiczeń

Generatory liczb losowych bez powtórzeń.xlsx

9 Metod wdrożenia generatora liczb losowych w Excelu bez powtórzeń

W pierwszych 4 metodach zobaczysz użycie nowo udostępnionych funkcji tablicowych, wprowadzonych w Excelu 365, do generowania liczb losowych bez powtórzeń. Jednak pozostałe metody są odpowiednie dla wszystkich wersji Excela, szczególnie dla tych, którzy używają wcześniejszych wersji Excela. Podsumowując, możesz użyć tych 9 metod jako generator liczb losowych w Excelu bez powtórzeń.

Przejdźmy do metod.

1. użycie funkcji RANDARRAY

Po pierwsze, zobaczymy użycie RANDARRAY funkcja do generowania liczb losowych.

Na stronie RANDARRAY Funkcja, wprowadzona w Excelu 365, daje listę liczb losowych w postaci tablicowej. A funkcję możemy wykorzystać do uzyskania liczb losowych bez zduplikowanych wartości.

Na przykład chcę wyprodukować 20 losowych liczb bez powtórzeń od 1 do 200.

W takich warunkach wzór będzie wyglądał następująco-

=RANDARRAY(10,2,1,200,TRUE)

Tutaj, 10 to liczba wierszy, 2 to liczba kolumn, 1 jest wartością minimalną, 200 jest wartością maksymalną, a na koniec, TRUE jest dla liczb całkowitych.

Jednak ta metoda będzie owocna, jeśli chcesz kilka liczb z dużego zakresu liczb (np. generowanie 10/20 liczb od 1 do 200/500). W przeciwnym razie będzie tworzyć zduplikowane wartości.

Read More: Excel Formuła do generowania liczb losowych (5 przykładów)

2) Używanie funkcji UNIQUE & RANDARRAY

Po drugie, skorzystamy z aplikacji dot. UNIQUE jak również RANDARRAY funkcja.

Na stronie UNIQUE Funkcja, dostępna w wersjach Excel 365, Excel 2021, zwraca listę unikalnych wartości z danego zbioru danych lub zakresu komórek. Możemy więc wykorzystać dwie funkcje do tworzenia liczb losowych bez powtórzeń.

Połączona formuła będzie-

=UNIQUE(RANDARRAY(10,2,1,100,TRUE))

Tutaj, 10 to liczba wierszy, 2 to liczba kolumn, 1 jest wartością minimalną, 200 jest wartością maksymalną, a na koniec, TRUE jest dla liczb całkowitych.

⧬ W powyższym wzorze użyłem. RANDARRAY(10,2,1,100,TRUE) jako tablicę do wygenerowania 20 liczb losowych z zakresu od 1 do 100. Później UNIQUE Funkcja zwróci unikalne wartości z wygenerowanych liczb losowych.

3) Zastosowanie funkcji SORTBY & SEQUENCE do generowania liczb losowych bez powtórzeń

Po trzecie, możemy wykorzystać połączenie niektórych dynamicznych funkcji tablicowych.

Na stronie SEQUENCE Funkcja, dostępna tylko dla wersji Excel 365 & Excel 2021, tworzy listę (tablicę) kolejnych liczb.

Załóżmy, że chcesz uzyskać listę liczb od 1 do 10, musisz użyć następującej formuły.

=SEQUENCE(10)

Tutaj, 10 to liczba wierszy.

Następnie. SORTBY Funkcja sortuje tablicę wartości na podstawie innej tablicy wartości w porządku rosnącym lub malejącym, dlatego możemy ją stosować razem z funkcją SEQUENCE & RANDARRAY funkcja do tworzenia 10 liczb losowych bez powtórzeń.

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

⧬ Wyjaśniając wzór możemy powiedzieć, że. RANDARRAY(10) tworzy listę 10 losowych liczb. SEQUENCE(10) Składnia generuje listę 10 liczb (sekwencyjnie). I SEQUENCE(10) oraz RANDARRAY(10) są wykorzystywane jako macierz argument i według_array argument w SORTBY Funkcja. ponieważ chcemy posortować sekwencyjną listę liczb według losowej kolejności.

Read More: Jak wygenerować losowy numer z Excel VBA (4 przykłady)

4. wykorzystanie funkcji INDEX jako generatora liczb losowych bez powtórzeń

Jeśli chcemy stworzyć listę liczb losowych bez powtórzeń, to INDEX funkcja wraz z wcześniej omówioną RANDARRAY , SEQUENCE & UNIQUE Ponadto, możemy wyprodukować 4 rodzaje liczb losowych.

4.1 Produkcja losowych liczb całkowitych

Gdy potrzebujesz wygenerować 10 losowych liczb całkowitych z zakresu od 1 do 100 bez powtórzeń, po prostu użyj następującej formuły.

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

⧬ Wyjaśniając wzór możemy powiedzieć, że. SEQUENCE(10) tworzy 10 kolejnych numerów, RANDARRAY(10, 1, 1, 100, TRUE) tworzy 10 losowych liczb całkowitych z przedziału od 1 do 100. Ponieważ TRUE służy do generowania liczb całkowitych, a później UNIQUE Funkcja usuwa z wygenerowanych liczb wartości powtarzające się. Na koniec funkcja INDEX Funkcja zwraca 10 losowych liczb całkowitych zgodnie z instrukcją SEQUENCE W tym przypadku wyjście UNIQUE funkcja jest używana jako tablica.

4.2 Produkcja losowych liczb dziesiętnych

Jeśli chcesz wygenerować 10 losowych liczb dziesiętnych bez powtórzeń, możesz użyć następującego wzoru.

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

Tutaj, 10 to liczba wierszy, 2 to liczba kolumn, 1 jest wartością minimalną, 100 jest wartością maksymalną, a na koniec, FALSE służy do generowania liczb dziesiętnych.

4.3 Tworzenie zakresu liczb całkowitych

Podobnie możesz wygenerować zakres losowych liczb całkowitych za pomocą następującego wzoru.

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

Tutaj, 20 to liczba wierszy, 1 to liczba kolumn, 1 jest wartością minimalną, 200 jest wartością maksymalną, a na koniec, TRUE służy do generowania liczb całkowitych.

4.4 Tworzenie zakresu losowych liczb dziesiętnych

Do wygenerowania zakresu losowych liczb dziesiętnych w przedziale od 1 do 100 użyj następującego wzoru.

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

Tutaj, 20 to liczba wierszy, 1 to liczba kolumn, 1 jest wartością minimalną, 200 jest wartością maksymalną, a na koniec, FALSE służy do generowania liczb dziesiętnych.

Read More: Wygeneruj losową liczbę w Excelu z liczbami dziesiętnymi (3 metody)

5) RAND & RANDBETWEEN Funkcje do generowania liczb losowych

Na stronie RAND Funkcja generuje liczbę z przedziału od 0 do 1. Na szczęście istnieje bardzo mała możliwość wygenerowania zduplikowanych wartości podczas używania RAND Funkcja. Możesz uzyskać powtarzające się wartości, jeśli przekroczysz użycie 100000 razy.

Więc użyj formuły, jeśli chcesz wygenerować unikalne liczby dziesiętne

=RAND()

Ponadto. RANDBETWEEN zwraca liczby całkowite pomiędzy dwoma podanymi liczbami.

Na przykład, jeśli chcesz uzyskać liczby całkowite między 1 a 100, możesz użyć poniższej formuły.

=RANDBETWEEN(1,100)

Tutaj, 1 to dół argument i 100 to top argument.

Niestety, istnieje duża możliwość posiadania powtarzających się wartości podczas używania RANDBETWEEN W takim przypadku można użyć funkcji Usuń duplikaty opcja z Dane zakładka w Narzędzia danych wstążka po wybraniu zakresu komórek.

Read More: Jak wygenerować losowe liczby bez duplikatów w programie Excel (7 sposobów)

Podobne lektury

  • Wygeneruj liczbę losową między 0 a 1 w Excelu (2 metody)
  • Generator liczb losowych 5 cyfr w Excelu (7 przykładów)
  • Generator liczb losowych 4-cyfrowych w Excelu (8 przykładów)
  • Wygeneruj losowy numer z listy w Excelu (4 sposoby)
  • Generator liczb losowych między zakresami w Excelu (8 przykładów)

6) Zastosowanie funkcji RAND & RANK jako generatora liczb losowych

Ponadto, możesz użyć RANK Funkcja zwracająca względną wielkość liczby na podstawie podanej listy liczb. Przedtem należy utworzyć listę losowych liczb dziesiętnych przy użyciu RAND funkcja.

=RANK(B5,$B$5:$B$15)

Tutaj, B5 jest komórką początkową liczb dziesiętnych, a B5:B15 to zakres komórek dla liczb dziesiętnych.

Read More: Excel VBA: Generator liczb losowych bez duplikatów (4 przykłady)

7) Wykorzystanie kombinacji funkcji RANK.EQ & COUNTIF

Powiedzmy, że chcesz wygenerować liczby losowe bez powtórzeń od 10 do 50.

W takiej sytuacji możesz użyć kombinacji RANK.EQ & COUNTIF aby wygenerować wolne od powtórzeń liczby losowe. Zanim to nastąpi, utwórz listę liczb z przedziału od 10 do 50, używając RANDBETWEEN funkcja.

Teraz skorzystaj z poniższego wzoru-.

=9+RANK.EQ(B5, $B$5:$B$15) + COUNTIF($B$5:B5, B5) - 1

Tutaj, B5 jest komórką startową liczb losowych i B5:B15 to zakres komórek dla liczb dziesiętnych.

⧬ Wyjaśniając wzór, możemy powiedzieć, że. COUNTIF funkcja zlicza każdą liczbę losową, która jest dostępna na liście. a funkcja RANK.EQ zwraca względną pozycję (rank) dla każdej liczby losowej, a na koniec musimy dodać 9 ponieważ chcemy wygenerować liczbę zaczynającą się od 10.

8. funkcje LARGE & MATCH jako generator liczb losowych w Excelu

Możemy również produkować losowe liczby całkowite bez powtórzeń używając kombinacji DUŻA oraz MATCH funkcje. DUŻA Funkcja zwraca k-tą największą wartość w danym zakresie komórek lub zbiorze danych.

=LARGE($B$5:$B$15,ROW(B1))

Tutaj, $B$5:$B$15 to zakres komórek dla losowych liczb dziesiętnych, które zostały znalezione przy użyciu RAND funkcja, ROW(B1) odnosi się do wiersza numer 1.

Następnie musimy znaleźć pozycję utworzonej największej wartości, korzystając z następującego wzoru.

=MATCH(C5,$B$5:$B$15,0)

Tutaj, C5 jest komórką początkową największych liczb, $B$5:$B$15 to zakres komórek z losowymi liczbami dziesiętnymi, a na koniec, 0 służy do uzyskania dokładnego dopasowania.

9) Analysis Toolpak jako generator liczb losowych w Excelu

Wreszcie, jeśli potrzebujesz wygenerować liczby losowe bez powtórzeń zamiast używać formuł Excela, możesz użyć następującego Dodatki Excela.

Do korzystania z Dodatki , wykonaj poniższe kroki.

⇰ Przejdź do Plik > Opcje .

⇰ Kliknij na Dodatki i wybrać Dodatki do programu Excel z listy rozwijanej i wybrać opcję Wejdź na stronę .

⇰ Wówczas pojawi się następujące okno dialogowe, należy zaznaczyć pole przed napisem Pakiet narzędzi analitycznych i nacisnąć OK .

⇰ Teraz należy wybrać Analiza danych opcja z Dane zakładka w Analiza wstążka.

⇰ Następnie należy wybrać opcję Generowanie liczb losowych i nacisnąć OK .

⇰ Natychmiast pojawi się następujące okno dialogowe.

⇰ Następnie wybierz opcję w zależności od pożądanej wydajności.

⇰ Na przykład wybrałem Liczba zmiennych oraz Liczba liczb losowych jako 4 & 10 odpowiednio, aby wygenerować listę liczb mających 10 rzędy i 4 kolumny.

⇰ Co ważniejsze, musimy wybrać Dystrybucja jako Uniform ponieważ chcemy uniknąć powtarzających się wartości.

⇰ Później, Między 10 oraz 30 oznacza, że chcę znaleźć liczbę w danym zakresie.

⇰ Na koniec należy wybrać Zakres wyjściowy

Po wykonaniu wszystkich zadań otrzymasz następujące wyjście.

Read More: Generator liczb losowych z narzędziem do analizy danych i funkcjami w Excelu

Niektóre powszechne błędy

Możesz jednak napotkać następujące błędy podczas używania powyższej formuły jako generatora liczb losowych w programie Excel bez powtórzeń.

Nazwa błędu Kiedy występuje
#CALC! Jeśli UNIQUE Funkcja nie może wyodrębnić unikalnych wartości.
#SPILL! Jeśli w zakresie rozlewu znajduje się jakakolwiek wartość, w której UNIQUE funkcja zwróci listę.
#VALUE! Na stronie RANDARRAY funkcja występuje wtedy, gdy wartość minimalna jest większa od wartości maksymalnej.

Wniosek

W ten sposób możesz użyć powyższych metod jako generatora liczb losowych w programie Excel bez powtórzeń. Teraz wybierz dowolną metodę w oparciu o swoje preferencje. Mam nadzieję, że ten artykuł ułatwi ci podróż po Excelu.

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.