Generowanie liczb losowych w Excelu

Autor: Marcin Sarna
Arkusz kalkulacyjny to narzędzie matematyczne. Dokładność operacji nie oznacza jednak, że nie mogą się one dokonywać z wykorzystaniem liczb losowych i innych danych wybieranych losowych. W tej poradzie pokazujemy, jak generować losowe wartości w Excelu.
Podstawową funkcją Excela dotyczącą losowości jest LOS. Nie przyjmuje ona żadnych argumentów, lecz zwraca liczbę rzeczywistą o równomiernym rozkładzie. Liczba ta jest losową liczbą z przedziału od 0 do 1 (przy czym może być także równa 0, ale nigdy 1). Podstawienie losowej liczby w komórce z użytą funkcją LOS następuje po każdorazowym obliczeniu arkusza.
Rysunek 1. Działanie funkcji LOS
Obliczenie arkusza następuje w przypadku zmiany wartości jakiejkolwiek komórki. Dlatego, aby testować, czy Excel na pewno losuje liczby w taki sposób, jak chcemy w danym arkuszu, wystarczy np. cyklicznie wpisywać do którejś komórki jeden znak i go kasować. Alternatywnie, możemy wcisnąć kombinację klawiszy [SHIFT] + [F9]. Aby obliczyć wszystkie arkusze, wystarczy wcisnąć klawisz [F9].
 
Znając działanie funkcji LOS, możemy ją łatwo zaprząc do swoich celów. Jeżeli więc chcemy losować liczby od A do B, użyjemy do tego następującej formuły: LOS*(B–A)+A.
Rysunek 2. Funkcja =LOS*(10-1)+1 wylosuje nam liczbę, która będzie większa lub równa 1 i mniejsza niż 10

Funkcja LOS.ZAKR

Bardziej przyjazna w działaniu jest funkcja LOS.ZAKR, z której będziemy w praktyce korzystać znacznie częściej. Generuje ona liczbę losową, ale całkowitą z wybranego zakresu liczb. Podobnie jak w przypadku LOS nowa liczba losowa jest zwracana przy każdym obliczeniu arkusza.
Funkcja ta przyjmuje dwa obowiązkowe argumenty:
minimum ­– najmniejsza liczba całkowita, jaka może zostać wylosowana (minimum zakresu);
maksimum – największa liczba całkowita, jaka może zostać wylosowana (maksimum zakresu).

Losujemy wartość tekstową

Załóżmy teraz, że potrzebujemy wylosować nie liczbę, ale określone słowo z kilku podanych albo wylosować komórkę z zadanego zakresu.
Wykorzystamy do tego celu funkcję WYBIERZ w połączeniu z LOS.ZAKR. LOS.ZAKR wylosuje nam określoną wartość z zakresu podanego w funkcji WYBIERZ. Musimy jednak najpierw zrozumieć, jak działa WYBIERZ.
Funkcja ta ma składnię: WYBIERZ(numer_danej;dana1;dana2;dana3;…). Znaczenie poszczególnych argumentów jest następujące:
 
numer_danej – określa, którą z podanych dalej danych należy wybrać jako efekt działania funkcji; liczba ta nie może być mniejsza niż 1 ani większa niż ilość wskazanych danych;
dana1 – poszczególne dane, na jedną z nich wskazuje numer_danej; należy podać przynajmniej jedną daną, ale nie więcej niż 29.
Jako dane można także wskazywać całe zakresy komórek. Na przykład formuła =SUMA(WYBIERZ(3;A1:A5;B1:B5;C1:C5)) spowoduje podstawienie do funkcji SUMA argumentu C1:C5 i w rezultacie w komórce zostanie wyświetlona suma tych właśnie komórek.
Teraz już wiemy, jak wybierać argument z listy. A jak zrobić to losowo? Wystarczy, podając argument numer_danej, skorzystać z funkcji LOS.ZAKR. Załóżmy, że chcemy losowo wybrać dzień tygodnia.
Rysunek 3. Efekt działania formuły =WYBIERZ(LOS.ZAKR(1;7);”Poniedziałek”;”Wtorek”;”Środa”;”Czwartek”;”Piątek”;”Sobota”;”Niedziela”)

Zaokrąglanie

Jeżeli otrzymana poprzez funkcję LOS liczba powinna zostać zaokrąglona, dokonamy tego z wykorzystaniem funkcji ZAOKR. Przyjmuje ona dwa argumenty: pierwszy stanowi liczba do zaokrąglenia, a drugi wskazuje na liczbę miejsc po przecinku, do których zostanie ona zaokrąglona.
Jeżeli więc interesuje nas wylosowanie liczby od 1 do 10, ale z dokładnością do jednego miejsca po przecinku, możemy to zrobić tak: =ZAOKR(LOS()*9+1;1).
 
Rysunek 4. Losowanie liczby od 1 do 10 z jednym miejscem po przecinku
Można także skorzystać z funkcji MROUND, która zaokrągla zawsze do określonej wielokrotności. Przyda się, jeśli chcemy np. wylosować określoną liczbę dób z przedziału od 1 do 7, ale wyrażoną w godzinach (tj. np. 48 godzin dla dwóch dni).


Marcin Sarna

Zaloguj się, aby dodać komentarz

Nie masz konta? Zarejestruj się »

Zobacz także

Skuteczne narzędzia do wykrywania uszkodzonych podzespołów

pobierz

Wykrywanie i usuwanie niechcianych programów

pobierz

Polecane artykuły

Array ( [docId] => 49975 )

Array ( [docId] => 49975 )
Array ( [docId] => 49975 )