Mótun vandans
Gerum ráð fyrir að við þurfum að búa til mengi heiltölu handahófskenndar tölur án endurtekningar á tilteknu gildissviði. Dæmi á ferðinni:
- búa til einstaka slembikóða fyrir vörur eða notendur
- úthluta fólki í verkefni (hvert og eitt af handahófi af listanum)
- umbreyting orða í leitarfyrirspurninni (halló seo-shnikam)
- spila lottó o.s.frv.
Aðferð 1. Einföld
Til að byrja með skulum við íhuga einfaldan valmöguleika: við þurfum að fá tilviljunarkennt mengi af 10 heiltölum frá 1 til 10. Notum aðgerðina sem er innbyggð í Excel MILLI MÁLINS (KANT Á MILLI) sérstaða er ekki tryggð. Ef þú slærð það inn í blaðreit og afritar það niður 10 reiti, þá geta endurtekningar auðveldlega gerst:
Þess vegna munum við fara aðra leið.
Allar útgáfur af Excel eru með aðgerð RANK (RANG), ætlað til röðunar eða, með öðrum orðum, að ákvarða efstu stöðu tölu í mengi. Stærsta talan á listanum hefur rank=1, sú næst efsta hefur rank=2, og svo framvegis.
Sláum inn fallið í reit A2 SLCHIS (RAND) án röksemda og afritaðu formúluna niður 10 reiti. Þessi aðgerð mun búa til safn af 10 handahófskenndum brotatölum frá 0 til 1:
Í næsta dálki kynnum við fallið RANKtil að ákvarða stöðu í röðun fyrir hverja móttekna slembitölu:
Við fáum í dálki B það sem við vildum - hvaða fjölda sem óskað er eftir af óendurteknum slembitölum frá 1 til 10.
Hreint fræðilega séð getur staða komið upp hvenær SLCHIS gefur okkur tvær eins handahófskenndar tölur í dálki A, raðir þeirra passa saman og við fáum endurtekningu í dálki B. Líkurnar á slíkri atburðarás eru hins vegar afar litlar í ljósi þess að nákvæmnin er 15 aukastafir.
Aðferð 2. Flókið
Þessi aðferð er aðeins flóknari, en notar aðeins eina fylkisformúlu. Segjum að við þurfum að búa til lista yfir 9 óendurteknar handahófskenndar heiltölur á bilinu 1 til 50 á blaði.
Sláðu inn eftirfarandi formúlu í reit A2, smelltu á lokin Ctrl + Shift + Sláðu inn (til að slá það inn sem fylkisformúlu!) og afritaðu formúluna niður í þann fjölda frumna sem þú vilt:
Aðferð 3. Fjölvi
Og auðvitað geturðu leyst vandamálið með því að nota forritun í Visual Basic. Í einni af gömlu greinunum um slembiúrtak vitnaði ég nú þegar í Lottó fylki makrófallið, sem framleiðir nauðsynlegan fjölda af handahófi sem ekki er endurtekið úr tilteknu bili.
- Hvernig á að telja fjölda einstaka gilda á bilinu
- Tilviljunarkennt val á þáttum af lista