Excel

Pridobite zadnjo tekmo

Get Last Match

Excel formula: Pridobite zadnje ujemanjeSplošna formula
{= MAX ( IF (criteria, ROW (rng)- MIN ( ROW (rng))+1))}
Povzetek

Če želite dobiti položaj zadnjega ujemanja (tj. Zadnjega pojava) iskalne vrednosti, lahko uporabite matrično formulo, ki temelji na funkcijah IF, ROW, INDEX, MATCH in MAX. V prikazanem primeru je formula v H6:

kako uporabljati if in in funkcijo v excelu
 
{= MAX ( IF (names=H5, ROW (names)- MIN ( ROW (names))+1))}

Kjer je 'imena' imenovani obseg C4: C11.



Opomba: to je matrična formula in ga je treba vnesti s tipko control + shift + enter.



Pojasnilo

Bistvo te formule je, da za določen obseg sestavimo seznam številk vrstic, ki se ujemajo z vrednostjo, nato pa s funkcijo MAX dobimo največjo številko vrstice, ki ustreza zadnji ujemajoči se vrednosti. Imenovani obseg 'imen' uporabljamo samo za udobje.

Ta del formule bo deloval od znotraj navzven in ustvaril sorazmerni niz številk vrstic:



 
 ROW (names)- MIN ( ROW (names))+1

Rezultat zgornjega izraza je niz številk, kot je ta:

excel deli eno celico z drugo
 
{12345678}

Opazimo, da dobimo 8 številk, ki ustrezajo 8 vrsticam v tabeli. Glej tej strani za podrobnosti o tem, kako deluje ta del formule.

Za namen te formule želimo samo številke vrstic za ujemajoče se vrednosti , zato funkcijo IF uporabljamo za filtriranje vrednosti tako:



 
 IF (names=H5, ROW (names)- MIN ( ROW (names))+1)

Rezultat je matrika, ki je videti takole:

 
{1FALSEFALSE4FALSEFALSE7FALSE}

Upoštevajte, da ta matrica še vedno vsebuje osem elementov. Vendar so se ohranile le številke vrstic, pri katerih je vrednost v imenovanem obsegu 'imena' enaka 'amy' (tj. 1, 4, 7). Vsi drugi elementi v matriki so FALSE, ker niso uspeli na logičnem preizkusu v funkciji IF.

Na koncu funkcija IF poda to matriko v funkcijo MAX. MAX vrne najvišjo vrednost v polju, številko 7, ki ustreza zadnji številki vrstice, kjer je ime 'amy'. Ko poznamo zadnjo ujemajočo se številko vrstice, lahko s pomočjo INDEX pridobimo vrednost na tem mestu.

z uporabo stavkov if in excel

Predzadnji itd.

Če želite dobiti drugo do zadnjo pozicijo, tretjo do zadnjo itd., Lahko preklopite s funkcije MIN na funkcijo LARGE, kot je ta:

 
{= LARGE ( IF (criteria, ROW (rng)- MIN ( ROW (rng))+1),k)}

kjer k predstavlja „n-to največjo“. Če želite na primer dobiti zadnje do zadnjega ujemanja v zgornjem primeru, lahko uporabite:

 
{= LARGE ( IF (names=H5, ROW (names)- MIN ( ROW (names))+1),2)}

Kot prej je to tudi matrična formula, ki jo je treba vnesti s tipko control + shift + enter.

Avtor Dave Bruns


^