Excel formula: Poiščite najdaljši niz z merili -

Splošna formula

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

Povzetek

Če želite najti najdaljši niz v obsegu z merili, lahko uporabite matrično formulo, ki temelji na INDEX, MATCH, LEN in MAX. V prikazanem primeru je formula v F6:

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

Kjer je "names" imenovani obseg C5: C14, "class" pa imenovani obseg B5: B14.

Opomba: to je matrična formula, ki jo je treba vnesti s tipko control + shift + enter.

Pojasnilo

Jedro te formule je funkcija MATCH, ki locira položaj najdaljšega niza z uporabo priloženih meril:

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

Opomba MATCH je nastavljen za natančno ujemanje z podajanjem ničle za vrsto ujemanja. Za vrednost iskanja imamo:

LEN(names)*(class=F5)

Funkcija LEN vrne niz rezultatov (dolžin), po enega za vsako ime na seznamu, kjer je razred = "A" iz celice F5:

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

To učinkovito filtrira ves razred B, funkcija MAX pa nato vrne največjo vrednost, 8.

Za izdelavo iskalne matrike uporabimo enak pristop:

LEN(names)*(class=F5)

In dobite enak rezultat:

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

Po zagonu LEN in MAX imamo formulo MATCH s temi vrednostmi:

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

Nato MATCH vrne položaj 8 na seznamu, 3, ki se v INDEX poda takole:

=INDEX(names,3)

Na koncu INDEX vestno vrne vrednost na 3. mestu imen , to je "Jonathan".

Zanimive Članki...