Excel képlet: INDEX és MATCH több kritériummal -

Általános képlet

(=INDEX(range1,MATCH(1,(A1=range2)*(B1=range3)*(C1=range4),0)))

Összegzés

Az index és az egyeztetés értékeinek több feltétel használatával történő tömbképletet használhat. A bemutatott példában a H8 képlete a következő:

(=INDEX(E5:E11,MATCH(1,(H5=B5:B11)*(H6=C5:C11)*(H7=D5:D11),0)))

Megjegyzés: ez egy tömbképlet, amelyet a Control + Shift + Enter billentyűkombinációval kell megadni, az Excel 365 kivételével.

Magyarázat

Ez egy fejlettebb képlet. Az alapokat lásd: Az INDEX és a MATCH használata.

Normál esetben az INDEX MATCH képletet úgy konfigurálják, hogy a MATCH beállítva van, hogy átnézzen egy oszlopos tartományt, és egyezést biztosítson a megadott kritériumok alapján. Az értékek összefűzése nélkül egy segítő oszlopban vagy magában a képletben egyetlen kritérium megadása nem lehetséges.

Ez a képlet a korlátozás körül jár azzal, hogy logikai logikával létrehoz egy és nulla tömböt, amelyek a mind a 3 feltételnek megfelelő sorokat ábrázolják, majd a MATCH használatával illeszkedik az első 1 találathoz. Az egyek és nullák ideiglenes tömbjét ezzel a kódrészlettel generálják:

(H5=B5:B11)*(H6=C5:C11)*(H7=D5:D11)

Itt összehasonlítjuk a H5 elemet az összes elemgel, a H6 méretet az összes mérettel és a H7 színt az összes színnel. A kezdeti eredmény a következő IGAZ / HAMIS eredmények három tömbje:

(TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;TRUE)*(FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE)*(TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE)

Tipp: használja az F9 billentyűt az eredmények megtekintéséhez. Csak válasszon ki egy kifejezést a képletsávból, és nyomja meg az F9 billentyűt.

A matematikai művelet (szorzás) az IGAZ HAMIS értékeket 1s és 0s értékekké alakítja:

(1;1;1;0;0;0;1)*(0;0;1;0;0;1;0)*(1;0;1;0;0;0;1)

A szorzás után egyetlen ilyen tömbünk van:

(0;0;1;0;0;0;0)

amely a MATCH függvénybe kerül keresési tömbként, 1 keresési értékkel:

MATCH(1,(0;0;1;0;0;0;0))

Ezen a ponton a képlet egy standard INDEX MATCH képlet. A MATCH függvény 3-at ad vissza INDEX-re:

=INDEX(E5:E11,3)

és az INDEX 17,00 dolláros végeredményt ad vissza.

Tömb vizualizáció

A fent kifejtett tömbök nehezen képzelhetők el. Az alábbi kép az alapötletet mutatja. A B, C és D oszlop megfelel a példában szereplő adatoknak. Az F oszlop úgy jön létre, hogy a három oszlopot megszorozzuk. A MATCH-nak átadott tömb.

Nem tömb verzió

Ehhez a képlethez hozzáadhat egy másik INDEX-et, elkerülve, hogy tömbképlettként írja be a vezérlő + shift + enter billentyűkombinációt:

=INDEX(rng1,MATCH(1,INDEX((A1=rng2)*(B1=rng3)*(C1=rng4),0,1),0))

Az INDEX funkció natívan képes kezelni a tömböket, így a második INDEX csak azért kerül hozzáadásra, hogy "elkapja" a logikai művelettel létrehozott tömböt, és ugyanazt a tömböt visszaadja a MATCH-nak. Ehhez az INDEX nulla sorral és egy oszloppal van konfigurálva. A nulla soros trükk hatására az INDEX visszaküldi az 1. oszlopot a tömbből (ami egyébként már egy oszlop).

Miért szeretné a nem tömb verziót? Előfordul, hogy az emberek elfelejtik beírni a tömbképletet a control + shift + enter billentyűkombinációval, és a képlet helytelen eredményt ad vissza. Tehát egy nem tömb képlet "golyóállóbb". A kompromisszum azonban összetettebb képlet.

Megjegyzés: Az Excel 365-ben nem szükséges külön tömbképleteket megadni.

érdekes cikkek...