Iskalna vrednost z več merili

Anonim

Z enim edinstvenim ključem v tabeli je enostavno iskati vrednost. Lahko preprosto uporabimo funkcijo VLOOKUP. Če pa v svojih podatkih nimate tega edinstvenega stolpca in morate poiskati več stolpcev, da se ujemajo z vrednostjo, VLOOKUP ne pomaga.

Za iskanje vrednosti v tabeli z več merili bomo uporabili formulo INDEX-MATCH-INDEX.

Splošna formula za iskanje po več merilih

= INDEX (iskalni obseg, MATCH (1, INDEX ((merila1 = obseg1)**(merila2 = obseg2)**(merilaN = obsegN), 0,1), 0))

lookup_range: To je obseg, iz katerega želite pridobiti vrednost.

Merila1, Merila2, Merila N: To so merila, ki se jim želite ujemati v območju 1, razponu2 in razponu N. Lahko imate do 270 meril - parov območij.

Razpon 1, obseg2, obsegN: To so območja, v katerih boste ustrezali vašim kriterijem.

Kako bo delovalo? Pa poglejmo…

INDEX in MATCH s primerom več meril

Tukaj imam podatkovno tabelo. Želim potegniti ime stranke z datumom rezervacije, graditeljem in površino. Tu imam torej tri kriterije in en obseg iskanja.

To formulo zapišite v celico I4, pritisnite Enter.

= INDEX (E2: E16, MATCH (1, INDEX ((I1 = A2: A16)*(I2 = B2: B16)*(I3 = C2: C16), 0,1), 0))


Kako deluje:
Že vemo, kako funkciji INDEX in MATCH delujeta v EXCEL -u, zato tega ne bom razlagal tukaj. Govorili bomo o triku, ki smo ga uporabili tukaj.

(I1 = A2: A16)*(I2 = B2: B16)*(I3 = C2: C16): Glavni del je ta. Vsak del te izjave vrne polje true false.
Ko se logične vrednosti pomnožijo, vrnejo niz 0 in 1. Množenje deluje kot operator AND. Torej, ko so vse vrednosti resnične, potem vrne 1 else 0
(I1 = A2: A16)*(I2 = B2: B16)*(I3 = C2: C16) Vse skupaj se bo vrnilo

{FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE}* {FALSE; FALSE; FALSE; TRUE; TRUE; TRUE; TRUE; TRUE; ; FALSE; FALSE; FALSE; FALSE; FALSE; TRUE}* {FALSE; FALSE; FALSE; TRUE; FALSE; FALSE; FALSE; TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE} 

Kar se bo prevedlo v

{0;0;0;0;0;0;0;1;0;0;0;0;0;0;0} 

KAZALO((I1 = A2: A16)*(I2 = B2: B16)*(I3 = C2: C16), 0,1): Funkcija INDEX bo vrnila isto matriko ({0; 0; 0; 0; 0; 0 ; 0; 1; 0; 0; 0; 0; 0; 0; 0}) v funkcijo MATCH kot iskalno polje.

UJEMA(1,KAZALO((I1 = A2: A16)*(I2 = B2: B16)*(I3 = C2: C16), 0,1): funkcija MATCH bo iskala 1 v matriki {0; 0; 0; 0; 0; 0 ; 0; 1; 0; 0; 0; 0; 0; 0; 0}. In vrnil bo indeksno številko prve 1, najdene v matriki. Kar je tukaj 8.

KAZALO(E2: E16,UJEMA(1,KAZALO((I1 = A2: A16)*(I2 = B2: B16)*(I3 = C2: C16), 0,1), 0)): Na koncu bo INDEX vrnil vrednost iz danega območja (E2: E16) pri najdenem indeks (8).

Enostavno ????. Žal ni bilo mogoče poenostaviti.

Rešitev niza

Če lahko pritisnete CTRL + SHIFT + ENTER, lahko odstranite notranjo funkcijo INDEX. Samo napišite to formulo in pritisnite CTRL + SHIFT + ENTER.

= INDEX (E2: E16, MATCH (1, (I1 = A2: A16)*(I2 = B2: B16)*(I3 = C2: C16), 0))

Splošna formula matrike za iskanje po več kriterijih

= INDEX (iskalno območje, MATCH (1, (merila1 = obseg1)*(merila2 = obseg2)*(merilaN = obsegN), 0))

Formula deluje enako kot zgornja razlaga.

Trudil sem se, da bi to čim bolj preprosto razložil. Če pa nisem bil dovolj jasen, mi to sporočite v spodnjem oddelku za komentarje. Mimogrede, za vožnjo avtomobila vam ni treba vedeti, kako motor deluje. Le voziti se morate. In to zelo dobro veste.

Kako poiskati top 5 vrednosti z podvojenimi vrednostmi z uporabo INDEX-MATCH v Excelu

Kako VLOOKUP več vrednosti v Excelu

Kako VLOOKUP z Dynamic Col Index v Excelu

Kako uporabljati VLOOKUP iz dveh ali več iskalnih tabel v Excelu

Priljubljeni članki:

50 bližnjic v Excelu za večjo produktivnost

Kako uporabljati funkcijo VLOOKUP v Excelu

Kako uporabljati funkcijo COUNTIF v Excelu

Kako uporabljati funkcijo SUMIF v Excelu