![](https://cdn.wiki-base.com/5101898/excel_formula_random_sort_formula__2.png.webp)
Generička formula
=INDEX(data,MATCH(ROWS(exp_range),sort_values,0))
Sažetak
Da biste slučajno sortirali postojeće vrijednosti pomoću formule, možete upotrijebiti formulu INDEX i MATCH zajedno sa pomoćnim stupcima kao što je prikazano na snimci zaslona. U prikazanom primjeru formula u E5 je:
=INDEX(names,MATCH(ROWS($D$5:$D5),sort,0))
gdje je "imena" imenovani raspon B5: B11, "rand" je imenovani raspon C5: C11, a "sort" je imenovani raspon D5: D11.
Obrazloženje
Ova formula ovisi o dva pomoćna stupca. Prvi pomoćni stupac sadrži slučajne vrijednosti kreirane funkcijom RAND (). Kopirana formula u C5 je:
=RAND()
Funkcija RAND generira slučajnu vrijednost u svakom retku.
Napomena: RAND je hlapljiva funkcija i generirat će nove vrijednosti sa svakom promjenom radnog lista.
Drugi pomoćni stupac sadrži brojeve koji se koriste za sortiranje podataka generiranih pomoću formule. Formula u D5 je:
=RANK(C5,rand)+COUNTIF($C$5:C5,C5)-1
Objašnjenje ove formule potražite na ovoj stranici.
Formula u E5 je:
=INDEX(names,MATCH(ROWS($D$5:$D5),sort,0))
Ovdje se funkcija INDEX koristi za dohvaćanje vrijednosti u imenovanom rasponu "imena", koristeći vrijednosti sortiranja u imenovanom rasponu "sortiranje". Stvarni posao utvrđivanja koje vrijednosti treba dohvatiti obavlja se pomoću funkcije MATCH u ovom isječku:
MATCH(ROWS($D$5:$D5),sort,0)
Unutar MATCH, funkcija ROWS dobiva opseg širenja kao vrijednost pretraživanja, koja započinje kao jedna ćelija, a širi se dok se formula kopira niz stupac. To povećava vrijednost pretraživanja, počevši od 1 i nastavljajući do 7. MATCH zatim vraća položaj vrijednosti pretraživanja na popisu.
Pozicija se dovodi u INDEX kao broj retka, a INDEX dobiva ime na toj poziciji.