Екцел формула: Просек последње 3 нумеричке вредности -

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

(=AVERAGE(LOOKUP(LARGE(IF(ISNUMBER(data),ROW(data)),(1,2,3)),ROW(data), data)))

Резиме

Да бисте просечно израчунали последње 3 нумеричке вредности у опсегу, можете користити формулу низа засновану на комбинацији функција за уношење последњих н нумеричких вредности у АВЕРАГЕ функцију. У приказаном примеру, формула у Д6 је:

(=AVERAGE(LOOKUP(LARGE(IF(ISNUMBER(data),ROW(data)),(1,2,3)), ROW(data), data)))

где је „податак“ именовани опсег Б5: Б13.

Напомена: ово је формула низа и мора се унети са цонтрол + схифт + ентер.

Објашњење

Функција АВЕРАГЕ израчунаће просек бројева представљених у низу, тако да је готово сав посао у овој формули генерисање низа од последње 3 нумеричке вредности у опсегу. Функционишући изнутра према унутра, функција ИФ користи се за „филтрирање“ нумеричких вредности:

IF(ISNUMBER(data),ROW(data))

Функција ИСНУМБЕР враћа ТРУЕ за нумеричке вредности, а ФАЛСЕ за остале вредности (укључујући празнине), а функција РОВ враћа бројеве редова, па је резултат ове операције низ редова низа који одговарају нумеричким уносима:

(5;6;FALSE;8;9;10;FALSE;12;13)

Овај низ прелази у функцију ЛАРГЕ са константом низа (1,2,3) за к. ЛАРГЕ аутоматски занемарује ФАЛСЕ вредности и враћа низ са највећа 3 броја, која одговарају последња 3 реда са нумеричким вредностима:

(13,12,10)

Овај низ иде у функцију ЛООКУП као вредност претраживања. Прегледни низ пружа функција РОВ, а резултатни низ је именовани опсег „подаци“:

LOOKUP((13,12,10), ROW(data), data))

ЛООКУП затим враћа низ који садржи одговарајуће вредности у „подацима“, а који се уносе у АВЕРАГЕ:

=AVERAGE((100,92,90))

Руковање са мање вредности

Ако број нумеричких вредности падне испод 3, ова формула ће вратити грешку #НУМ с обзиром да ЛАРГЕ неће моћи да врати 3 вредности како се захтева. Један од начина да се ово реши је замена чврсто кодиране константе низа (1,2,3) динамичком матрицом створеном помоћу ИНДИРЕЦТ-а на следећи начин:

ROW(INDIRECT("1:"&MIN(3,COUNT(data))))

Овде се МИН користи за постављање горње границе низа на 3 или стварног броја нумеричких вредности, овисно о томе која је мања.

Напомена: На овај паметни приступ наишао сам на цхандоо.орг, у одговору Сајана на слично питање.

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