Excel formula: Pronađite najduži niz s kriterijima -

Generička formula

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

Sažetak

Da biste pronašli najduži niz u rasponu s kriterijima, možete upotrijebiti formulu niza koja se temelji na INDEX, MATCH, LEN i MAX. U prikazanom primjeru formula u F6 je:

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

Gdje je "imena" imenovani raspon C5: C14, a "klasa" imenovani raspon B5: B14.

Napomena: ovo je formula niza i mora se unijeti sa control + shift + enter.

Obrazloženje

Jezgra ove formule je funkcija MATCH, koja locira položaj najduljeg niza koristeći isporučene kriterije:

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

Napomena MATCH je postavljen za izvođenje točnog podudaranja davanjem nule za vrstu podudaranja. Za vrijednost pretraživanja imamo:

LEN(names)*(class=F5)

Funkcija LEN vraća niz rezultata (duljina), po jedan za svako ime na popisu gdje class = "A" iz ćelije F5:

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

To učinkovito filtrira sve razrede B, a funkcija MAX tada vraća najveću vrijednost, 8.

Za konstrukciju niza pretraživanja koristimo isti pristup:

LEN(names)*(class=F5)

I dobiti isti rezultat:

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

Nakon pokretanja LEN i MAX, imamo formulu MATCH sa sljedećim vrijednostima:

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

MATCH zatim vraća položaj 8 na popisu 3, koji se u INDEX uvlači ovako:

=INDEX(names,3)

Napokon, INDEX vrijedno vraća vrijednost na 3. mjestu imena , a to je "Jonathan".

Zanimljivi članci...