Екцел формула: Преузми последње подударање -

Преглед садржаја

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

(=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))

Као и раније, ово је формула низа и мора се унети са цонтрол + схифт + ентер.

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