slučajni uzorak

Rijedak, ali zanimljiv zadatak: nasumično odaberite N elemenata iz niza podataka (liste). Može postojati nekoliko razloga za njegovu pojavu, na primjer:

  • Količina podataka je prevelika, pa smo zadovoljni analizom slučajnog uzorka iz cijelog skupa podataka.
  • Odabir dobitnika među učesnicima bilo kojeg takmičenja ili lutrije.

U svakom slučaju, suočeni smo sa zadatkom odabira nasumično zadanog broja elemenata iz skupa (na primjer, ovog):

Metoda 1. Nasumično sortiranje

Dodajte još jednu kolonu našoj listi i umetnite funkciju generiranja slučajnih brojeva u nju Slchis (RAND). Zatim sortirajte našu listu prema dodanoj koloni (Podaci – Sortiranje) i uzmite prvih N elemenata iz rezultirajuće tabele:

 

Nedostaci ove metode su očigledni – moraćemo ručno da sortiramo listu svaki put ako treba da napravimo još jedan slučajni odabir. Prednosti su jednostavnost i pristupačnost.

Metoda 2: MALA funkcija

Ovaj način je korištenje funkcije LEAST (MALA) da izaberete sa liste od N pozicija sa najmanjim slučajnim brojem u koloni A:

Nakon što odaberemo pet (u našem primjeru) najmanjih slučajnih brojeva iz kolone A, izvlačimo imena koja odgovaraju ovim brojevima pomoću funkcije VLOOKUP.

Metoda 3. Slučajno uzorkovanje bez ponavljanja – Loto funkcija u VBA

Možete kreirati jednostavnu VBA funkciju koja će proizvesti određeni broj slučajnih brojeva iz željenog intervala. Otvorite Visual Basic Editor (ALT + F11 ili u starijim verzijama Excela preko menija Usluga – Makro – Visual Basic Editor), ubacite novi modul kroz meni Umetak – Modul i tamo kopirajte tekst sljedeće funkcije:

Funkcija Lotto (dolje kao cijeli broj, vrh kao cijeli broj, iznos kao cijeli broj) Dim iArr kao varijanta Dim i kao cijeli broj Dim r kao cijeli broj Dim temp kao cijeli broj zatamnjenje (1000) kao varijantna aplikacija. = Odozdo prema vrhu iArr(i) = i Sljedeći i Za i = Od vrha do dna + 1 korak -1 r = Int(Rnd() * (i - Bottom + 1)) + Bottom temp = iArr(r) iArr(r ) = iArr(i) iArr(i) = temp Sljedeći ij = 0 Za i = od dna do dna + iznos - 1 Out(j) = iArr(i) j = j + 1 Sljedeći i Lotto = Application.Transpose(Out) End Funkcija  

Ova funkcija će imati tri argumenta:

  • dno — donja granica intervala slučajnih brojeva
  • vrh je gornja granica intervala slučajnih brojeva
  • iznos – broj slučajnih brojeva koje želimo odabrati iz intervala

To jest, na primjer, da odaberete 5 nasumičnih brojeva od 10 do 100, morat ćete unijeti =Lotto(10;100;5)

Sada je ova funkcija laka za korištenje za odabir nasumičnih vrijednosti. Dodajmo numeriranu kolonu na našu listu i izaberemo ljude prema slučajnim brojevima koje generiše funkcija Lotto:

 

Imajte na umu da se naša Lotto funkcija mora unijeti kao formula niza, tj. prvo trebate odabrati raspon ćelija rezultata (D2:D6), a zatim unijeti našu funkciju mnogo i, nakon unosa argumenata funkcije, pritisnite Ctrl + Shift + Enterda unesete ovu funkciju točno kao funkciju niza u sve odabrane ćelije.

Pa, onda će to ostati uz pomoć već poznate funkcije VPR (Vlookup) izvući imena sa liste koja odgovaraju slučajnim brojevima.

  • Korištenje funkcije VLOOKUP za zamjenu vrijednosti
  • Kreiranje makronaredbi i korisnički definiranih funkcija u VBA
  • Funkcija RandomSelect iz PLEX dodatka

 

Ostavite odgovor