Բովանդակություն
Խնդրի ձևակերպում
Ենթադրենք, որ մենք պետք է ստեղծենք ամբողջ թվով պատահական թվերի հավաքածու՝ առանց կրկնությունների արժեքների տրված միջակայքում: Օրինակներ շարժման մեջ.
- արտադրանքի կամ օգտագործողների համար եզակի պատահական կոդերի ստեղծում
- մարդկանց հանձնարարել առաջադրանքներ (յուրաքանչյուրը պատահականորեն ցանկից)
- բառերի փոխակերպում որոնման հարցում (բարև սէօ-շնիկամ)
- լոտո խաղալ և այլն:
Մեթոդ 1. Պարզ
Սկսենք, եկեք դիտարկենք մի պարզ տարբերակ. մենք պետք է ստանանք պատահական 10 ամբողջ թվերի հավաքածու 1-ից 10-ը: Օգտագործելով Excel-ում ներկառուցված ֆունկցիան: ԳՈՐԾԻ ՄԻՋԵՎ (ԵՂԵՐԻ ՄԻՋԵՎ) եզակիությունը երաշխավորված չէ: Եթե մուտքագրեք այն թերթիկի բջիջում և պատճենեք այն 10 բջիջով, ապա կրկնությունները հեշտությամբ կարող են տեղի ունենալ.
Հետեւաբար, մենք կգնանք այլ ճանապարհով:
Excel-ի բոլոր տարբերակներն ունեն գործառույթ ԱՍՏԻՃԱՆ (RANG), որը նախատեսված է բազմության մեջ թվի վերին դիրքը դասակարգելու կամ, այլ կերպ ասած, որոշելու համար։ Ցուցակի ամենամեծ համարն ունի վարկանիշ=1, վերևում գտնվող երկրորդը՝ վարկանիշ=2 և այլն։
Եկեք մուտքագրենք ֆունկցիան A2 բջիջում SLCHIS (ՌԱՆԴ) առանց փաստարկների և պատճենեք բանաձևը 10 բջիջով: Այս ֆունկցիան մեզ կստեղծի 10 պատահական կոտորակային թվերի հավաքածու 0-ից մինչև 1:
Հաջորդ սյունակում ներկայացնում ենք ֆունկցիան ԱՍՏԻՃԱՆյուրաքանչյուր ստացված պատահական թվի համար վարկանիշում դիրքը որոշելու համար.
B սյունակում մենք ստանում ենք այն, ինչ ուզում էինք՝ 1-ից 10-ը չկրկնվող պատահական ամբողջ թվերի ցանկացած ցանկալի քանակ:
Զուտ տեսականորեն կարող է իրավիճակ ստեղծվել, երբ SLCHIS կտա մեզ երկու նույնական պատահական թվեր A սյունակում, դրանց շարքերը կհամընկնեն, և մենք կստանանք կրկնություն B սյունակում: Այնուամենայնիվ, նման սցենարի հավանականությունը չափազանց փոքր է, հաշվի առնելով այն փաստը, որ ճշգրտությունը 15 տասնորդական տեղ է:
Մեթոդ 2. Բարդ
Այս մեթոդը մի փոքր ավելի բարդ է, բայց օգտագործում է միայն մեկ զանգվածի բանաձև: Ենթադրենք, որ թերթիկի վրա պետք է ստեղծենք 9 չկրկնվող պատահական ամբողջ թվերի ցանկ՝ 1-ից 50 միջակայքում:
Մուտքագրեք հետևյալ բանաձևը A2 բջիջում, սեղմեք վերջում Ctrl + Shift + Մուտք (այն որպես զանգվածի բանաձև մուտքագրելու համար) և պատճենեք բանաձևը մինչև ցանկալի թվով բջիջներ.
Մեթոդ 3. Մակրո
Եվ, իհարկե, դուք կարող եք լուծել խնդիրը՝ օգտագործելով ծրագրավորումը Visual Basic-ում: Պատահական նմուշառման մասին հին հոդվածներից մեկում ես արդեն մեջբերել էի Lotto array մակրո ֆունկցիան, որը տվյալ ինտերվալից արտադրում է պատահական չկրկնվող թվերի անհրաժեշտ քանակ։
- Ինչպես հաշվել եզակի արժեքների քանակը տիրույթում
- Ցանկից տարրերի պատահական ընտրություն