Екцел формула: Пронађи најдужи низ са критеријумима -

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

(=INDEX(rng1,MATCH(MAX(LEN(rng1)*(rng2=criteria)),LEN(rng1)*(rng2=criteria),0)))

Резиме

Да бисте пронашли најдужи низ у опсегу са критеријумима, можете користити формулу низа засновану на ИНДЕКС, МАТЦХ, ЛЕН и МАКС. У приказаном примеру, формула у Ф6 је:

(=INDEX(names,MATCH(MAX(LEN(names)*(class=F5)),LEN(names)*(class=F5),0)))

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

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

Објашњење

Језгро ове формуле је функција МАТЦХ, која лоцира положај најдужег низа користећи испоручене критеријуме:

MATCH(MAX(LEN(names)*(class=F5)),LEN(names)*(class=F5),0)

Напомена МАТЦХ је постављен за извођење тачног подударања давањем нуле за тип подударања. За вредност претраживања имамо:

LEN(names)*(class=F5)

Функција ЛЕН враћа низ резултата (дужина), по један за свако име на листи где је цласс = "А" из ћелије Ф5:

(5;6;8;6;6;0;0;0;0;0)

Ово ефикасно филтрира сву класу Б, а функција МАКС тада враћа највећу вредност, 8.

За конструкцију низа претраживања користимо исти приступ:

LEN(names)*(class=F5)

И добити исти резултат:

(5;6;8;6;6;0;0;0;0;0)

Након покретања ЛЕН и МАКС, имамо формулу МАТЦХ са следећим вредностима:

MATCH(8,(5;6;8;6;6;0;0;0;0;0),0))

МАТЦХ затим враћа позицију 8 на листи 3, која се у ИНДЕКС увлачи овако:

=INDEX(names,3)

Коначно, ИНДЕКС уредно враћа вредност на 3. месту имена , а то је „Јонатхан“.

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