Formula Excel: formula de sortare aleatorie -

Cuprins

Formula generică

=INDEX(data,MATCH(ROWS(exp_range),sort_values,0))

rezumat

Pentru a sorta aleatoriu valorile existente cu o formulă, puteți utiliza o formulă INDEX și MATCH împreună cu coloanele de ajutor, așa cum se arată în captura de ecran. În exemplul prezentat, formula din E5 este:

=INDEX(names,MATCH(ROWS($D$5:$D5),sort,0))

unde „nume” este intervalul numit B5: B11, „rand” este intervalul numit C5: C11, iar „sortare” este intervalul numit D5: D11.

Explicaţie

Această formulă depinde de două coloane de ajutor. Prima coloană helper conține valori aleatorii create cu funcția RAND (). Formula din C5, copiată este:

=RAND()

Funcția RAND generează o valoare aleatorie la fiecare rând.

Notă: RAND este o funcție volatilă și va genera noi valori la fiecare modificare a foii de lucru.

Cea de-a doua coloană de ajutor conține numerele utilizate pentru sortarea datelor, generate cu o formulă. Formula din D5 este:

=RANK(C5,rand)+COUNTIF($C$5:C5,C5)-1

Consultați această pagină pentru o explicație a acestei formule.

Formula din E5 este:

=INDEX(names,MATCH(ROWS($D$5:$D5),sort,0))

Aici, funcția INDEX este utilizată pentru a prelua valorile din intervalul denumit „nume”, utilizând valorile de sortare din intervalul denumit „sortare”. Lucrarea reală de a afla ce valoare trebuie preluată este realizată de funcția MATCH din acest fragment:

MATCH(ROWS($D$5:$D5),sort,0)

În interiorul MATCH, funcției ROWS i se oferă un interval de expansiune ca valoare de căutare, care începe ca o celulă și se extinde pe măsură ce formula este copiată în coloană. Aceasta crește valoarea de căutare, începând de la 1 și continuând la 7. MATCH apoi returnează poziția valorii de căutare în listă.

Poziția este alimentată la INDEX ca număr de rând, iar INDEX recuperează numele la acea poziție.

Articole interesante...