Det er lett å finne verdien med en unik nøkkel i en tabell. Vi kan ganske enkelt bruke VLOOKUP -funksjonen. Men når du ikke har den unike kolonnen i dataene dine og trenger å slå opp i flere kolonner for å matche en verdi, hjelper VLOOKUP ikke.
Så, for å slå opp en verdi i en tabell med flere kriterier, vil vi bruke INDEX-MATCH-INDEX-formelen.
Generisk formel for flere kriterier
= INDEX (oppslagsområde, MATCH (1, INDEX ((kriterium1 = område1)*(kriterier2 = område2)*(kriterierN = områdeN), 0,1), 0))
oppslag_område: Det er området du vil hente verdien fra.
Kriterier1, Kriterier2, Kriterier N: Dette er kriteriene du vil matche i område 1, område 2 og område N. Du kan ha opptil 270 kriterier - områdepar.
Område1, område2, områdeN: Dette er områdene der du vil matche dine respektive kriterier.
Hvordan vil det fungere? La oss se…
INDEX og MATCH med flere kriterier
Her har jeg en datatabell. Jeg vil trekke navnet på kunden ved å bruke Date of Booking, Builder og Area. Så her har jeg tre kriterier og ett oppslagsområde.
Skriv denne formelen i celle I4, trykk enter.
= INDEKS (E2: E16, MATCH (1, INDEKS ((I1 = A2: A16)*(I2 = B2: B16)*(I3 = C2: C16), 0,1), 0))
Hvordan det fungerer:
Vi vet allerede hvordan INDEX og MATCH -funksjonen fungerer i EXCEL, så jeg skal ikke forklare det her. Vi vil snakke om trikset vi brukte her.
(I1 = A2: A16)*(I2 = B2: B16)*(I3 = C2: C16): Hoveddelen er dette. Hver del av denne setningen returnerer en rekke sanne usanne.
Når boolske verdier multipliseres returnerer de matrisen 0 og 1. Multiplikasjon fungerer som AND -operator. Hense når alle verdier er sanne bare da returnerer den 1 annen 0
(I1 = A2: A16)*(I2 = B2: B16)*(I3 = C2: C16) Dette vil helt tilbake
{FALSK; FALSK; FALSK; FALSK; FALSK; FALSK; SANN; FALSK; FALSK; FALSK; FALSK; FALSK; FALSK}* {FALSK; FALSK; FALSK; SANN; SANN; SANN; SANN; FALSK; FALSK; FALSK; FALSK; FALSK* SANN}* {FALSK; FALSK; FALSK; SANN; FALSK; FALSK; SANN; FALSK; FALSK; FALSK; FALSK
Som vil oversette til
{0;0;0;0;0;0;0;1;0;0;0;0;0;0;0}
INDEKS((I1 = A2: A16)*(I2 = B2: B16)*(I3 = C2: C16), 0,1): INDEX -funksjonen returnerer samme matrise ({0; 0; 0; 0; 0; 0 ; 0; 1; 0; 0; 0; 0; 0; 0; 0; 0}) til MATCH -funksjonen som oppslagsarray.
KAMP(1,INDEKS((I1 = A2: A16)*(I2 = B2: B16)*(I3 = C2: C16), 0,1): MATCH -funksjonen vil se etter 1 i matrisen {0; 0; 0; 0; 0; 0 ; 0; 1; 0; 0; 0; 0; 0; 0; 0; 0}. Og vil returnere indeksnummeret for de første 1 funnet i array. Som er 8 her.
INDEKS(E2: E16,KAMP(1,INDEKS((I1 = A2: A16)*(I2 = B2: B16)*(I3 = C2: C16), 0,1), 0)): Endelig vil INDEX returnere verdi fra gitt område (E2: E16) ved funnet indeks (8).
Enkel????. Beklager, kunne ikke gjøre det enklere.
Array -løsning
Hvis du kan trykke CTRL + SKIFT + ENTER følgelig, kan du eliminere den indre INDEX -funksjonen. Bare skriv denne formelen og trykk CTRL + SKIFT + ENTER.
= INDEKS (E2: E16, MATCH (1, (I1 = A2: A16)*(I2 = B2: B16)*(I3 = C2: C16), 0))
Generisk matriseformel for flere kriterier
= INDEX (oppslagsområde, MATCH (1, (kriterium1 = område1)*(kriterier2 = område2)*(kriterierN = områdeN), 0))
Formelen fungerer på samme måte som forklaringen ovenfor.
Jeg prøvde så godt jeg kunne å forklare det så enkelt som mulig. Men hvis jeg ikke var tydelig nok, la meg få vite det i kommentarfeltet nedenfor. Forresten, du trenger ikke å vite hvordan motoren fungerer for å kjøre bil. Du trenger bare å vite hvordan du kjører den. Og du vet det veldig godt.
Slik søker du opp de fem verdiene med dupliserte verdier ved å bruke INDEX-MATCH i Excel
Hvordan VLOOKUP flere verdier i Excel
Hvordan VLOOKUP med Dynamic Col Index i Excel
Slik bruker du VLOOKUP fra to eller flere oppslagstabeller i Excel
Populære artikler:
50 Excel -snarveier for å øke produktiviteten
Slik bruker du VLOOKUP -funksjonen i Excel
Slik bruker du COUNTIF -funksjonen i Excel
Slik bruker du SUMIF -funksjonen i Excel