Numeri casuali senza ripetizioni

Formulazione di u prublema

Assumimu chì avemu bisognu di creà un inseme di numeri aleatorii integer senza ripetizioni in un determinatu intervallu di valori. Esempii in viaghju:

  • generà codici casuali unichi per i prudutti o l'utilizatori
  • assignà e persone à i travaglii (ognunu in modu aleatoriu da a lista)
  • permutazione di e parolle in a ricerca di ricerca (hello seo-shnikam)
  • ghjucà à lotto etc.

Metudu 1. Simple

Per cumincià, cunsideremu una opzione simplice: avemu bisognu di ottene un settore aleatoriu di 10 interi da 1 à 10. Utilizendu a funzione integrata in Excel Trà u casu (EDGE TRAM) l'unicità ùn hè micca garantita. Se l'inserite in una cellula di foglia è copiate in 10 cellule, allora e ripetizioni ponu accade facilmente:

Numeri casuali senza ripetizioni

Dunque, andemu da l'altra strada.

Tutte e versioni di Excel anu una funzione Linguistic (RANG), destinatu à a classificazione o, in altri palori, a determinazione di a pusizione superiore di un numeru in un settore. U più grande numaru in a lista hà u rangu = 1, u sicondu in a cima hà u rangu = 2, è cusì.

Entremu a funzione in a cell A2 SLCHIS (RAND) senza argumenti è copià a formula in 10 cellule. Questa funzione ci generà un inseme di 10 numeri fraccionari casuali da 0 à 1:

Numeri casuali senza ripetizioni

In a colonna dopu avemu introduttu a funzione Linguisticper determinà a pusizione in u ranking per ogni numeru aleatoriu ricevutu:

Numeri casuali senza ripetizioni

Avemu in a colonna B ciò chì vulemu - ogni numeru desideratu di interi aleatorii chì ùn si ripetiscenu da 1 à 10.

Puramente teoricamente, una situazione pò accade quandu SLCHIS ci darà dui numeri aleatorii identici in a colonna A, i so ranchi currispondenu è averemu una repetizione in a colonna B. Tuttavia, a probabilità di un tali scenariu hè estremamente chjuca, datu u fattu chì a precisione hè 15 decimali.

Metudu 2. Cumplicatu

Stu metudu hè un pocu più cumplicatu, ma usa solu una formula array. Diciamu chì avemu bisognu di creà una lista di 9 interi aleatori chì ùn si ripetennu in u intervallu da 1 à 50 nantu à una foglia.

Inserite a seguente formula in a cell A2, cliccate à a fine Ctrl + Shift + Enter (per inserisce cum'è una formula di array!) è copià a formula finu à u numeru desideratu di cellule:

Numeri casuali senza ripetizioni

Metudu 3. Macro

E, sicuru, pudete risolve u prublema cù a prugrammazione in Visual Basic. In unu di i vechji articuli nantu à u campionamentu aleatoriu, aghju digià citatu a funzione macro di Lotto array, chì pruduce u numeru necessariu di numeri aleatorii chì ùn si ripetiscenu micca da un intervallu datu.

  • Cumu cuntà u numeru di valori unichi in un intervallu
  • Selezzione casuale di elementi da una lista

Lascia un Audiolibro