
Генеричка формула
(=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. месту имена , а то је „Јонатхан“.