
Генеричка формула
=INDEX(data,MATCH(ROWS(exp_range),sort_values,0))
Резиме
Да бисте насумично сортирали постојеће вредности помоћу формуле, можете користити формулу ИНДЕКС и МАТЦХ заједно са помоћним колонама као што је приказано на снимку екрана. У приказаном примеру, формула у Е5 је:
=INDEX(names,MATCH(ROWS($D$5:$D5),sort,0))
где је „имена“ именовани опсег Б5: Б11, „ранд“ је именовани опсег Ц5: Ц11, а „сорт“ је именовани опсег Д5: Д11.
Објашњење
Ова формула зависи од две помоћне колоне. Прва помоћна колона садржи случајне вредности креиране функцијом РАНД (). Копирана формула у Ц5 је:
=RAND()
Функција РАНД генерише случајну вредност у сваком реду.
Напомена: РАНД је променљива функција и генерисаће нове вредности са сваком променом радног листа.
Друга помоћна колона садржи бројеве који се користе за сортирање података, генерисаних формулом. Формула у Д5 је:
=RANK(C5,rand)+COUNTIF($C$5:C5,C5)-1
Објашњење ове формуле потражите на овој страници.
Формула у Е5 је:
=INDEX(names,MATCH(ROWS($D$5:$D5),sort,0))
Овде се функција ИНДЕКС користи за проналажење вредности у именованом опсегу „имена“, користећи вредности сортирања у именованом опсегу „сортирање“. Стварни посао проналажења вредности за преузимање обавља се помоћу функције МАТЦХ у овом исечку:
MATCH(ROWS($D$5:$D5),sort,0)
Унутар МАТЦХ, функцији РОВС даје се опсег ширења као вредност претраживања, која започиње као једна ћелија, а проширује се док се формула копира низ колону. Ово повећава вредност претраживања, почевши од 1 и настављајући до 7. МАТЦХ затим враћа положај вредности претраживања на листи.
Позиција се доводи у ИНДЕКС као број реда и ИНДЕКС преузима име на тој позицији.