INDEX-MATCH med flere treff i Excel (6 eksempler)

  • Dele Denne
Hugh West

Excel gir forskjellige funksjoner og måter å hente samsvarende verdier på. Avhengig av situasjonen kan brukerne velge sine preferanser. Denne opplæringen skal vise deg hvordan du oppnår resultater ved å bruke INDEX MATCH med flere treff i Excel.

Først av alt, la oss bli kjent med dagens arbeidsbok.

I arkene til dagens arbeidsbok finner du produkter og deres prisforhold. Ved å bruke denne relasjonen vil vi se noen få eksempler for å hente verdier med flere kriterier .

I den virkelige verden kan det hende du må håndtere datasett med flere relasjoner og angi forskjellige kriterier for å produsere resultatene. For å holde det enkelt foreløpig, vil vi hente prisen på et produkt som samsvarer med navn og størrelse.

Last ned øvelsesarbeidsbok

Du kan laste ned arbeidsboken som ble brukt til demonstrasjonen med alle formlene fra lenken nedenfor.

INDEX-MATCH med flere matcher.xlsx

Grunnleggende om INDEX-MATCH

Grunnleggende om INDEX-funksjonen

INDEKS-funksjonen returnerer en verdi eller referansen til en verdi fra en tabell eller et område. Den kan brukes til å hente individuelle verdier, eller hele rader og kolonner. La oss se syntaksen til INDEX-funksjonen.

INDEX(array/reference, row_number, column_number,area_number)

matrise eller referanse: En celle eller et celleområde å se på

radnummer: En rad i matrisen som det skal returneres enROW($B$6:$B$10)) hvis verdien er sann. Ellers returnerer den en tom streng. MATCH(RAD($B$6:$B$10), ROW($B$6:$B$10)) delen er tallserien der RAD($B$6:$B$10 ) og RAD($B$6:$B$10) treffer. Dette er bare et praktisk triks for å begrense det totale antallet rader i en valgt seksjon.

👉 Etter det, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12) , 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), “”), ROWS($A$1:A1) søker etter RADER($A$1:A1) -den minste verdi fra utdata fra IF -delen.

👉 Til slutt, INDEX($C$6:$C $10, LITEN(HVIS(ER NUMMER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(RAD($B$6:$B$10), ROW($B$6:$B$10)) , “”), ROWS($A$1:A1))) tar utdata fra forrige funksjon som radnummer og ROWS($A$1:A1) som kolonnenummer og returnerer verdien som er i denne posisjonen i området C6:C10 .

👉 På samme måte, INDEX('Shop 2'!$C$6:$C$10, SMALL(IF) (ISNUMBER(MATCH('Shop 2'!$B$6:$B$10, $C$12, 0)), MATCH(ROW('Shop 2'!$B$6:$B$10), ROW('Butikk 2' !$B$6:$B$10)), “”) gjør det samme, men fra det andre arket. Siden arknavnet er “Shop 2”, har vi lagt det til før vi velger områder/celler. Du trenger ikke for å legge dem til arket du gjør cal kulasjoner på. Så vi gjorde ikke det for "Shop 1" i forrige del av formelen.

👉 Til slutt har vi lagt til hele funksjonen i en IFERROR funksjon. Degrunnen er å returnere en blank i tilfelle feil oppstår under kjøring av formelen.

  • Trykk til slutt Enter .

  • Nå velger du cellen på nytt. Deretter klikker og drar du fyllhåndtaksikonet for noen celler nedover (mer enn den estimerte mengden utdataceller bør være i orden).

Følgelig finner vi alle treffene ved å bruke INDEX-MATCH fra flere regneark i Excel.

6. INDEX-MATCH for flere kriterier uten array

Vi kan også bruke INDEX-MATCH for flere treff eller kriterier uten noen array. La oss for eksempel ta følgende datasett.

Men vi trenger en hjelpekolonne for å oppnå det først. Vi vil bruke CONCATENATE-funksjonen i tillegg til de aktuelle funksjonene. Følg disse trinnene for hele veiledningen.

Trinn:

  • Først, velg celle F5 og skriv ned følgende formel.

=CONCATENATE(C5,",",D5,",",E5)

  • Trykk deretter Enter .

  • Nå velger du cellen igjen og klikker og drar fyllhåndtaksikonet til slutten av kolonnen for å replikere formelen for resten av cellene.

  • Deretter vil vi finne INDEX-MATCH for alle 100-tallet i det originale datasettet. For det, velg en celle for å lagre verdien ( H5 i dette tilfellet).
  • Sett deretter inn følgende formel.

=INDEX(B5:B19,MATCH("100,100,100",F5:F19,0))

🔎 Fordeling avFormel

👉 MATCH(“100,100,100”,F5:F19,0) søker etter nøyaktig samsvar til 100,100,100 i området F5: F19 .

👉 Deretter returnerer INDEX(B5:B19,MATCH(“100,100,100”,F5:F19,0)) verdien i posisjonen der verdien samsvarer.

  • Trykk til slutt Enter .

På denne måten kan vi bruke INDEX-MATCH for flere kriterier eller samsvarer i Excel uten noen matrise.

Hvordan returnere flere verdier vertikalt ved å bruke INDEX-MATCH-formel i Excel

I tilfelle du ønsker å returnere flere verdier vertikalt ved å bruke INDEX-MATCH, la oss se på følgende eksempel.

Følg disse trinnene for å se hvordan vi kan oppnå det for datasettet.

Trinn:

  • Først velger du celle F5 .
  • Skriv deretter ned følgende formel.

=IFERROR(INDEX($C$5:$C$14,SMALL(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1),ROW(1:1))),"")

🔎 Fordeling av formelen

👉 RAD($B$5:$B$14) returnerer en matrise som inneholder radnumrene for området B5:B14 .

👉 ROW($B$5:$B$14)-ROW($B$5) +1 returnerer forskjellen mellom matrisen og radnummeret til cellen B5 som bare er en matrise på 1 til 10 i dette tilfellet.

👉 IF( $E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1) sjekker hvor verdien av celle E5 er lik i området B5:B14 og returnerer tallet i matrisen der det er sant fra forrigearray.

👉 LITEN(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-RAD($B$5)+1),RAD (1:1) returnerer det minste tallet fra matrisen.

👉 INDEX($C$5:$C$14,SMALL(IF($E$5=$B$5:$B $14,ROW($B$5:$B$14)-ROW($B$5)+1),ROW(1:1))) returerer deretter verdien i den posisjonen i området C5:C14 .

👉 Til slutt, IFERROR(INDEX($C$5:$C$14,SMALL(IF($E$5=$B$5:$B$14,ROW($B$5: $B$14)-ROW($B$5)+1),ROW(1:1))),"") sørger for at hvis en verdi resulterer i en feil i formelen, returnerer den en tom streng.

  • Trykk for det tredje Enter .

  • Velg deretter cellen på nytt. Til slutt klikker og drar du fyllhåndtaksikonet ned for noen celler for å få alle verdiene.

På denne måten kan vi returnere flere verdier vertikalt ved å bruke INDEX-MATCH i Excel.

Les mer: INDEX MATCH med flere kriterier i et annet ark (2 måter)

Konklusjon

Det var alt for i dag. Vi har prøvd å vise deg et par måter å INDEKSE MATCH med multiplikasjon le kamper. Håper du finner dette nyttig. Kommenter gjerne hvis noe virker vanskelig å forstå. Du er velkommen til å varsle oss om andre metoder for oppgaven.

For flere guider som dette, besøk Exceldemy.com .

verdi

kolonne_nummer: Kolonnen i matrisen som en verdi skal returneres fra

områdenummer: Velger et referanseområde som skal returneres fra skjæringspunktet mellom radnummer og kolonnenummer . Dette er et valgfritt felt.

Mens du skriver formelen kan du velge om du vil angi radnummer eller kolonnenummer . Hvis du oppgir radnummer , er det valgfritt å bruke kolonnenummer og omvendt.

Du kan sjekke nettstedet for Microsoft-støtte for en dypere syntaks sammenbrudd.

Grunnleggende om MATCH-funksjonen

Praktisk sett er en funksjon du vil finne oftere med INDEKS -funksjonen MATCH-funksjonen . Funksjonen MATCH brukes til å finne posisjonen til et spesifisert element i et celleområde. Den returnerer den relative plasseringen til et bestemt element i området.

Syntaks for MATCH -funksjonen er

MATCH(lookup_value, lookup_array, match_type)

oppslagsverdi: Verdien som skal søkes i oppslagsmatrisen.

oppslagsmatrise: Et celleområde som det søkes i.

match_type: Dette er et valgfritt felt. Du kan sette inn 3 verdier.

1 = Mindre eller lik oppslagsverdi

0 = Eksakt oppslagsverdi

-1 = Større eller lik lookup_value

For en dypere forståelse kan du sjekke ut Microsoft-støtte -siden.

6 egnede eksempler på bruk av INDEX- MATCH Formel medMultiple Matches

Nå skal vi sette disse formlene og teoriene i handling i datasettet vårt. Vi har løst forskjellige scenarier ved å bruke INDEX-MATCH med flere treff i Excel og har inkludert dem i forskjellige seksjoner for bedre forståelse. Følg med for å se hvordan vi kan bruke dem i forskjellige scenarier, eller hvis du foretrekker et spesifikt, kan du finne det i tabellen ovenfor.

1. INDEX-MATCH med flere kriterier

For henting av verdier med flere kriterier sett først kriteriene. Hvis du for eksempel ønsker å hente prisen på en skjorte i liten størrelse (i arbeidsboken vår), må du angi produktnavnet – skjorte og størrelse – liten.

Følg nå disse trinnene for å se hvordan vi kan bruke formelen til å finne indeksmatchen med disse flere samsvarene i Excel.

Trinn:

  • Først, velg celle G6 .
  • Skriv deretter ned følgende formel.

=INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0))

🔎 Fordeling av formelen

INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5: C15),0))

👉 (G4=B5:B15) og (G5=C5:C15) er begge betingelser og returnerer enten SANN eller USANN avhengig av om betingelsene er sanne eller ikke. Numerisk er de 1 eller 0. Så multiplikasjonen returnerer 1 der begge er sanne.

👉 MATCH(1,(G4=B5:B15)*(G5=C5:C15), 0) returnerer posisjonen der begge betingelsene erekte. I dette tilfellet er det 1.

👉 INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0)) returnerer verdien i posisjonen forrige del av formelen returnerte.

  • Trykk til slutt Enter .

Dette er hvordan vi kan bruke INDEX MATCH for flere kriterier eller treff i Excel.

Les mer: Hvordan matche flere kriterier fra forskjellige arrays i Excel

2. INDEX-MATCH med flere kriterier som tilhører rader og kolonner

I denne delen vil vi diskutere hvordan du utfører et oppslag ved å teste to eller flere kriterier i rader og kolonner . Det kan virke litt vanskelig og komplekst.

Vi bringer litt endringer i vårt eksempel, tabellen vår er nå arrangert på en slik måte at størrelsesverdier (Small, Large, M, XL) representerer individuelle kolonner.

I likhet med forrige avsnitt, angi produktet og ønsket størrelse som kriterieverdier.

Følg disse trinnene for å se hvordan vi kan bruke formelen for dette seksjon.

Trinn:

  • Velg først celle I6 .
  • Skriv deretter ned følgende formel i det.

=INDEX(C5:F7,MATCH(I4,B5:B7,0),MATCH(I5,C4:F4,0))

🔎 Fordeling av formelen

👉 MATCH(I4,B5:B7,0) returnerer det nøyaktige samsvaret med verdien til I4 i området B5:B7 .

👉 På samme måte returnerer MATCH(I5,C4:F4,0) det nøyaktige samsvaret med verdien til I5 i området C4:F4 .

👉 Til slutt, INDEKS(C5:F7,MATCH(I4,B5:B7,0),MATCH(I5,C4:F4,0)) tar utdata fra den første funksjonen som radnummer og den andre funksjonen som kolonnenummer og returnerer verdien som er i posisjonen fra området C5:F7 .

  • Deretter trykker du Enter .

Dermed kan vi bruke INDEX-MATCH med flere kriterier som tilhører rader og kolonner.

Les mer: Excel-indeks Match enkelt/flere kriterier med enkelt-/flere resultater

Lignende avlesninger

  • INDEKSMATCH med 3 Kriterier i Excel (4 eksempler)
  • INDEKS-MATCH på tvers av flere ark i Excel (med alternativ)
  • Sum med INDEX-MATCH-funksjoner under flere Kriterier i Excel
  • Indeksmatch sum flere rader i Excel (3 måter)
  • INDEX-MATCH-formel for å finne minimumsverdi i Excel (4 Egnede måter)

3. INDEX-MATCH fra ikke-tilstøtende kolonner

I denne delen vil vi vise deg et eksempel på hvordan du henter matchi ng-verdier ved å bruke to ikke-tilstøtende kolonner. I tillegg trenger vi IFERROR-funksjonen for dette scenariet.

Dette vil være datasettet for demonstrasjonen.

Følg disse trinnene for å se hvordan vi kan bruke INDEX-MATCH for de ikke-tilstøtende kolonnene (produkt og mengde) i dette datasettet.

Trinn:

  • Først, velg celle G6 .
  • Skriv deretter nedfølgende formel i den.

=IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)),"No Value")

🔎 Fordeling av formelen

IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0))," Ingen verdi")

👉 MATCH(G5,B4:B7,0) finner nøyaktig samsvar med verdien til celle G5 i området B4:B7 .

👉 og MATCH(F6,B4:D4,0) finner det nøyaktige samsvaret til F6 er området B4:D4 .

👉 Så tar INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)) den første funksjonsverdien som radnummer og den andre funksjonsverdien som kolonnenummeret og returnerer verdien i den posisjonen i området B4:D7 .

👉 Til slutt, IFERROR(INDEX (B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)),,"Ingen verdi") returnerer strengen "Ingen verdi" hvis det er en feil under utførelse formelen. Ellers returnerer den den vanlige verdien.

  • Deretter trykker du Enter på tastaturet.

Som som et resultat, kan vi finne ønsket samsvar ved å bruke INDEX-MATCH fra ikke-tilstøtende kolonner for utvalgte kriterier, selv for flere, i Excel.

4. INDEX-MATCH fra flere tabeller

For å finne treff fra flere tabeller kan vi bruke INDEKS-MATCH -formelen. Ved siden av denne funksjonen trenger vi funksjonene SMALL , ISNUMBER , ROW , COUNTIF og IFERROR . .

I eksempelarket har vi 2 butikkprodukter. Ved å bruke dette arket vil vi se hvordanfor å gjøre oppgaven.

Følg disse trinnene for å se hvordan vi kan bruke kombinasjonen av disse funksjonene sammen med INDEX-MATCH med flere treff fra dette settet med tabeller i Excel .

Trinn:

  • Først, velg celle C14 .
  • Skriv nå ned følgende formel.

=IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))), INDEX($F$6:$F$10, SMALL(IF(ISNUMBER(MATCH($E$6:$E$10, $C$12, 0)), MATCH(ROW($E$6:$E$10), ROW($E$6:$E$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))

🔎 Fordeling av formelen

IFERROR(INDEX($C$6:$C$10, LITEN(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH( ROW($B$6:$B$10), ROW($B$6:$B$10)), “”), ROWS($A$1:A1))), INDEX($F$6:$F$10, LITEN( IF(ISNUMBER(MATCH($E$6:$E$10, $C$12, 0)), MATCH(RAD($E$6:$E$10), ROW($E$6:$E$10)), “”) , RADER($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))

👉 MATCH($B$6:$B$10, $C$12, 0) finner det nøyaktige samsvaret til C12 i området B6:B10 .

👉 ISNUMBER(MATCH($B) $6:$B$10, $C$12, 0)) sjekker om verdien er et tall i funksjonen.

👉 IF(ISNUMBER(MATCH($B$6:$B$10) , $C$12, 0)), MATCH(RAD($B$6:$B$10), ROW($B$6:$B$10)), “”) ROW($B$6:$B$1 0)) sjekker om den forrige funksjonen er et tall eller ikke. Hvis det er det, returnerer den utdataverdien til MATCH(RAD($B$6:$B$10), ROW($B$6:$B$10)) som er posisjonen der rekken av rad tallene matches i den første og andre RAD funksjonen. Ellers returnerer den en tom streng.

👉 SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(RAD($B$6: $B$10), ROW($B$6:$B$10)),“”), ROWS($A$1:A1)) returnerer ROWS($A$1:A1) -den minste verdien fra matrisen.

👉 Til slutt. INDEKS($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(RAD($B$6:$B$10), ROW($B$6:$B$10)), “”), ROWS($A$1:A1))) returnerer verdien i den posisjonen i området C6:C10 .

👉 INDEKS($F$6:$F$10, SMALL(IF(ISNUMBER(MATCH($E$6:$E$10, $C$12, 0)), MATCH(ROW($E$6: $E$10), ROW($E$6:$E$10)), “”), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))) gjør det samme, men fra den andre tabellen, siden områdene er tydelig forskjellige i denne delen av formelen.

👉 Til slutt tar hele funksjonen hele funksjonen og returnerer INDEKS-MATCH kombinasjoner. Virkningen av IFERROR funksjonen er at hvis det var feil under utførelse av formelen, ville den ikke returnere noen verdi.

  • Trykk deretter Enter .

  • Deretter velger du cellen igjen og klikker og drar fyllhåndtaksikonet ned for flere celler for å finne resten av verdiene fra tabellene. Du kan dra ekstra celler, Excel stopper verdiene når det ikke er flere av dem.

Slik kan vi bruke INDEX-MATCH ved å bruke kriterier fra flere tabeller i Excel.

Les mer: Flere kriterier i Excel ved å bruke INDEX-, MATCH- og COUNTIF-funksjonen

5. INDEX-MATCH fra Flere regneark

Vi kan bruke INDEX-MATCHformel over forskjellige ark. Her har vi disse to tabellene over to forskjellige arbeidsark.

Kjøp 1 ark for Butikk 1 og Butikk 2 ark for Butikk 2.

For å produsere resultatet er det bare å oppgi arknavnet foran cellereferansen. Følg disse trinnene for mer informasjon.

Trinn:

  • Velg først celle C14 fra arket "Shop 1".
  • Skriv deretter ned følgende formel.

=IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))), INDEX('Shop 2'!$C$6:$C$10, SMALL(IF(ISNUMBER(MATCH('Shop 2'!$B$6:$B$10, $C$12, 0)), MATCH(ROW('Shop 2'!$B$6:$B$10), ROW('Shop 2'!$B$6:$B$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))

🔎 Fordeling av formelen

IFERROR(INDEX($C$6:$C$10, LITEN(IF(ISNUMBER(MATCH($B$6:$ B$10, $C$12, 0)), MATCH(RAD($B$6:$B$10), ROW($B$6:$B$10)), “”), ROWS($A$1:A1))) , INDEX('Shop 2'!$C$6:$C$10, SMALL(IF(ISNUMBER(MATCH('Shop 2'!$B$6:$B$10, $C$12, 0)), MATCH(ROW(' Handle 2'!$B$6:$B$10), ROW('Shop 2'!$B$6:$B$10)), “”), ROWS($A$1:A1)-COUNTIF($B$6:$ B$10, $C$12))))

👉 MATCH($B$6:$B$10, $C$12, 0) søker etter nøyaktig samsvar med verdien av celle C12 i området B6:B10 .

👉 ISNUMBER(MATCH($B$6:$B$10, $C$12, 0) ) sjekker om utdata fra forrige funksjon er et tall eller ikke. Som avgjør om det var kamp eller ikke. Dette er bare for å konvertere tallverdien til en boolsk.

👉 Deretter IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($ B$6:$B$10), ROW($B$6:$B$10)), “”) sjekker etter den boolske verdien og returnerer MATCH(ROW($B$6:$B$10),

Hugh West er en svært erfaren Excel-trener og analytiker med over 10 års erfaring i bransjen. Han har en bachelorgrad i regnskap og finans og en mastergrad i bedriftsøkonomi. Hugh har en lidenskap for undervisning og har utviklet en unik undervisningstilnærming som er enkel å følge og forstå. Hans ekspertkunnskap om Excel har hjulpet tusenvis av studenter og fagfolk over hele verden med å forbedre sine ferdigheter og utmerke seg i karrieren. Gjennom bloggen sin deler Hugh sin kunnskap med verden, og tilbyr gratis Excel-opplæringer og nettbasert opplæring for å hjelpe enkeltpersoner og bedrifter å nå sitt fulle potensial.