Екцел формула: Добијте локацију вредности у 2Д низу -

Генеричка формула

=SUMPRODUCT((data=MAX(data))*ROW(data))-ROW(data)+1

Резиме

Да бисте лоцирали положај вредности у 2Д низу, можете да користите функцију СУМПРОДУЦТ. У приказаном примеру, формуле које се користе за лоцирање бројева редова и колона максималне вредности у пољу су:

=SUMPRODUCT((data=MAX(data))*ROW(data))-ROW(data)+1 =SUMPRODUCT((data=MAX(data))*COLUMN(data))-COLUMN(data)+1

где је „податак“ именовани опсег Ц5: Г14.

Напомена: у овом примеру ми произвољно проналазимо локацију максималне вредности у подацима, али податке = МАКС (подаци) можете заменити било којим другим логичким тестом који ће изоловати дату вредност. Такође имајте на уму да ове формуле неће успети ако у низу постоје дуплиране вредности.

Објашњење

Да би се добио број реда, подаци се упоређују са максималном вредношћу, која генерише низ ТРУЕ ФАЛСЕ резултата. Они се множе резултатом РОВ (подаци) који генерише и низ бројева редова повезаних са именованим опсегом „подаци“:

=SUMPRODUCT((FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,TRUE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE)*(5;6;7;8;9;10;11))

Операција множења доводи до тога да Екцел присиљава ТРУЕ ФАЛСЕ вредности у првом низу на 1с и 0с, тако да можемо визуализовати међукорак попут овог:

=SUMPRODUCT((0,0,0,0,0;0,0,0,0,0;0,0,0,0,0;0,0,0,0,0;0,0,1,0,0;0,0,0,0,0;0,0,0,0,0)*(5;6;7;8;9;10;11))

СУМПРОДУЦТ тада враћа резултат 9, што одговара 9. реду на радном листу. Да бисмо добили индекс у односу на именовани опсег „подаци“, користимо:

-ROW(data)+1

Коначни резултат је низ (5; 4; 3; 2; 1; 0; -1), из којег се приказује само прва вредност (5).

Формула за одређивање положаја колоне делује на исти начин.

Напомена: На овај приступ сам наишао у коментару Микеа Ерицксона на МрЕкцел.цом. Постоје и неке друге добре идеје у тој нити, укључујући опцију формуле низа.

Занимљиви Чланци...