Še ena možna rešitev generiranja 1000 enkratnih 5 mestnih gesel.
Temelji na postopku, ki ga je predlagal Smolej .

V stolpcu A nabor dovoljenih znakov 0-9, A-Z, a-z brez 1 in l, I ipd.
funkcija =INDEX(A$1:A$60;RANDBETWEEN(1;60)) & INDEX(A$1:A$60;RANDBETWEEN(1;60)) ... ponovi 5 x
izbere po 5 naključnih vrednosti.
60 je število znakov v stolpcu A. Lahko bi tudi uporabil funkcijo COUNTA(A1:A1000)
Kopiram v 1000 vrstic.

Za kontrolo ponavljanja sem malo bolj zakompliciral:
Stolpec A je enak
v stolpcih B, C, D, E in F je funkcija =RANDBETWEEN(1;60)
stolpec G ima naključne nize
=INDEX(A$1:A$60;B1) & INDEX(A$1:A$60;*C*1) & INDEX(A$1:A$60;*D*1) & INDEX(A$1:A$60;*E*1) & INDEX(A$1:A$60;*F*1)
kopiram v 1000 vrstic.
Za kontrolo dodam stolpec H z formulo: =F1+E1*100+D1*1002+C1*103+B1*1004
kjer iz petih naključnih vrednosti tvorim število - do 10 mestno.
Ker ne želim sortirati uporabim funkcijo =RANK(H1;H$1:H$1000) ter kopiram do 1000. Dodam stolpec J z vrednostmi od 1 do 1000 in poiščem frekvenco pojavljanja posamezne vrednosti za vsak interval od 1 do 1000. Označim celice K1 do K1001, in vnesem matrično formulo =FREQUENCY($I$1:$I$1000;J1:$J$1000) Na koncu moram pritisniti CTRL+SHIFT+ENTER, v celici pa se pojavijo zaviti oklepaji ={FREQUENCY($I$1:$I$1000;J1:$J$1000)} Če so izbrani naključni nizi enkratni, se vsaka vrednost pojavi samo enkrat. Poiščem največjo vrednost frekvence, MAX(K1:K1000), in če je 1, so vsi nizi enkratni.

LP, Borut

Reply via email to