Numra të rastësishëm pa përsëritje

Formulimi i problemit

Le të supozojmë se duhet të krijojmë një grup numrash të rastësishëm me numra të plotë pa përsëritje në një gamë të caktuar vlerash. Shembuj në lëvizje:

  • duke gjeneruar kode unike të rastësishme për produktet ose përdoruesit
  • caktimi i njerëzve në detyra (secili rastësisht nga lista)
  • ndërrimi i fjalëve në pyetjen e kërkimit (përshëndetje seo-shnikam)
  • duke luajtur loto etj.

Metoda 1. E thjeshtë

Për të filluar, le të shqyrtojmë një opsion të thjeshtë: duhet të marrim një grup të rastësishëm prej 10 numrash të plotë nga 1 në 10. Duke përdorur funksionin e integruar në Excel MES RASTIT (SEF MIDIS) unike nuk është e garantuar. Nëse e futni atë në një qelizë fletë dhe e kopjoni me 10 qeliza, atëherë përsëritjet mund të ndodhin lehtësisht:

Numra të rastësishëm pa përsëritje

Prandaj, ne do të shkojmë në anën tjetër.

Të gjitha versionet e Excel kanë një funksion RADHA (RANG), i destinuar për renditjen ose, me fjalë të tjera, përcaktimin e pozicionit kryesor të një numri në një grup. Numri më i madh në listë ka renditjen=1, i dyti në krye ka renditjen=2, e kështu me radhë.

Le të fusim funksionin në qelizën A2 SLCHIS (RAND) pa argumente dhe kopjoni formulën në 10 qeliza. Ky funksion do të na gjenerojë një grup prej 10 numrash thyesorë të rastësishëm nga 0 në 1:

Numra të rastësishëm pa përsëritje

Në kolonën tjetër prezantojmë funksionin RADHApër të përcaktuar pozicionin në renditje për çdo numër të rastësishëm të marrë:

Numra të rastësishëm pa përsëritje

Ne marrim në kolonën B atë që dëshironim - çdo numër të dëshiruar të numrave të plotë të rastësishëm që nuk përsëriten nga 1 në 10.

Thjesht teorikisht, një situatë mund të lindë kur SLCHIS do të na japë dy numra identikë të rastësishëm në kolonën A, radhët e tyre do të përputhen dhe do të kemi një përsëritje në kolonën B. Megjithatë, probabiliteti i një skenari të tillë është jashtëzakonisht i vogël, duke pasur parasysh faktin se saktësia është 15 shifra dhjetore.

Metoda 2. E komplikuar

Kjo metodë është pak më e komplikuar, por përdor vetëm një formulë grupi. Le të themi se duhet të krijojmë një listë me 9 numra të plotë të rastësishëm që nuk përsëriten në rangun nga 1 në 50 në një fletë.

Futni formulën e mëposhtme në qelizën A2, klikoni në fund Ctrl + Shift + Enter (për ta futur atë si një formulë grupi!) dhe kopjoni formulën në numrin e dëshiruar të qelizave:

Numra të rastësishëm pa përsëritje

Metoda 3. Makro

Dhe, sigurisht, mund ta zgjidhni problemin duke përdorur programimin në Visual Basic. Në një nga artikujt e vjetër rreth kampionimit të rastësishëm, unë citova tashmë funksionin makro të grupit Lotto, i cili prodhon numrin e kërkuar të numrave të rastësishëm që nuk përsëriten nga një interval i caktuar.

  • Si të numëroni numrin e vlerave unike në një gamë
  • Zgjedhja e rastësishme e elementeve nga një listë

Lini një Përgjigju