
Генеричка формула
(=MAX(IF(criteria,ROW(rng)-MIN(ROW(rng))+1)))
Резиме
Да бисте добили положај последњег подударања (тј. Последњег појављивања) вредности претраживања, можете да користите формулу низа засновану на функцијама ИФ, РОВ, ИНДЕКС, МАТЦХ и МАКС. У приказаном примеру, формула у Х6 је:
(=MAX(IF(names=H5,ROW(names)-MIN(ROW(names))+1)))
Где је „имена“ именовани опсег Ц4: Ц11.
Напомена: ово је формула низа и мора се унети са цонтрол + схифт + ентер.
Објашњење
Суштина ове формуле је у томе што смо креирали листу бројева редова за дати опсег, подударајући се на вредности, а затим помоћу функције МАКС добили највећи број реда који одговара последњој подударној вредности. Именовани опсег користимо само за практичност.
Радећи изнутра, овај део формуле генерисаће релативни скуп бројева редова:
ROW(names)-MIN(ROW(names))+1
Резултат горњег израза је низ бројева попут овог:
(1;2;3;4;5;6;7;8)
Приметимо да смо добили 8 бројева, што одговара 8 редова у табели. Погледајте ову страницу за детаље о томе како функционише овај део формуле.
У сврху ове формуле, желимо само бројеве редова за подударање вредности, па користимо функцију ИФ за филтрирање вредности на следећи начин:
IF(names=H5,ROW(names)-MIN(ROW(names))+1)
Резултат је низ који изгледа овако:
(1;FALSE;FALSE;4;FALSE;FALSE;7;FALSE)
Имајте на уму да овај низ и даље садржи осам предмета. Међутим, преживели су само бројеви редова где је вредност у именованом опсегу „имена“ једнака „ами“ (тј. 1, 4, 7). Све остале ставке у низу су ФАЛСЕ, јер нису успеле на логичком тесту у функцији ИФ.
Коначно, функција ИФ испоручује овај низ функцији МАКС. МАКС враћа највишу вредност у низу, број 7, који одговара последњем броју реда где је име „ами“. Једном када знамо последњи одговарајући број реда, можемо помоћу ИНДЕКС-а да дохватимо вредност на тој позицији.
Претпоследњи итд.
Да бисте добили другу до последњу позицију, трећу до последњу итд., Можете пребацити са функције МИН на функцију ЛАРГЕ на следећи начин:
(=LARGE(IF(criteria,ROW(rng)-MIN(ROW(rng))+1),k))
где к представља „н-ти највећи“. На пример, да бисте добили последње подударање у примеру горе, можете да користите:
(=LARGE(IF(names=H5,ROW(names)-MIN(ROW(names))+1),2))
Као и раније, ово је формула низа и мора се унети са цонтрол + схифт + ентер.