
Általános képlet
=INDEX(data,MATCH(ROWS(exp_range),sort_values,0))
Összegzés
A meglévő értékek véletlenszerű rendezéséhez egy képlettel használhatja az INDEX és a MATCH képletet a segédoszlopokkal együtt, a képernyőképen látható módon. A bemutatott példában az E5 képlete a következő:
=INDEX(names,MATCH(ROWS($D$5:$D5),sort,0))
ahol a "nevek" a megnevezett tartomány B5: B11, a "rand" a megnevezett tartomány C5: C11, és a "rendezés" a megnevezett tartomány D5: D11.
Magyarázat
Ez a képlet két segédoszloptól függ. Az első segítő oszlop a RAND () függvénnyel létrehozott véletlenszerű értékeket tartalmazza. A C5 képlete, lemásolva:
=RAND()
A RAND függvény minden sorban véletlenszerű értéket generál.
Megjegyzés: A RAND volatilis függvény, és minden munkalapváltozással új értékeket generál.
A második segítő oszlop tartalmazza az adatok rendezéséhez használt számokat, képlettel generálva. A D5 képlete a következő:
=RANK(C5,rand)+COUNTIF($C$5:C5,C5)-1
A képlet magyarázatát ezen az oldalon találja.
Az E5 képlete a következő:
=INDEX(names,MATCH(ROWS($D$5:$D5),sort,0))
Itt az INDEX függvényt használjuk a "names" nevű tartomány értékeinek lekérdezésére, a "sort" nevű tartomány rendezési értékeinek felhasználásával. A lekérdezésre kerülő érték kitalálásának tényleges munkája a MATCH funkcióval történik ebben a részletben:
MATCH(ROWS($D$5:$D5),sort,0)
A MATCH belsejében a ROWS függvény kibővülő tartományt kap a keresési értékként, amely egy cellaként kezdődik, és kibővül, amikor a képletet az oszlopra másolják. Ez növeli a keresési értéket, kezdve 1-től és folytatva a 7. értékig. A MATCH ezután visszaadja a keresési érték helyét a listában.
A pozíció az INDEX-be kerül sorszámként, és az INDEX beolvassa a nevet ezen a pozíción.