Формула на Excel: Намерете най-дългия низ с критерии -

Обща формула

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

Обобщение

За да намерите най-дългия низ в диапазон с критерии, можете да използвате формула на масив, базирана на INDEX, MATCH, LEN и MAX. В показания пример формулата във F6 е:

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

Където "names" е наименуваният диапазон C5: C14, а "class" е наименуваният диапазон B5: B14.

Забележка: това е формула на масив и трябва да се въведе с control + shift + enter.

Обяснение

Ядрото на тази формула е функцията MATCH, която локализира позицията на най-дългия низ, използвайки предоставени критерии:

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

Забележка СЪВПЕЧНЕНИЕТО е настроено да изпълнява точно съвпадение чрез предоставяне на нула за типа на съвпадението. За справочна стойност имаме:

LEN(names)*(class=F5)

Функцията LEN връща масив от резултати (дължини), по един за всяко име в списъка, където class = "A" от клетка F5:

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

Това ефективно филтрира всички класове B, а след това функцията MAX връща най-голямата стойност, 8.

За да изградим справочен масив, използваме същия подход:

LEN(names)*(class=F5)

И да получите същия резултат:

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

След LEN и MAX стартиране имаме формула MATCH със следните стойности:

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

След това MATCH връща позицията 8 в списъка, 3, която се подава в INDEX по следния начин:

=INDEX(names,3)

И накрая, INDEX послушно връща стойността на третата позиция на имената , която е „Джонатан“.

Интересни статии...