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

  • Del Dette
Hugh West

Excel tilbyder forskellige funktioner og måder at hente matchende værdier på. Afhængigt af situationen kan brugerne vælge deres præferencer. Denne vejledning vil vise dig, hvordan du kan få resultater ved hjælp af INDEX MATCH med flere match i Excel.

Lad os først og fremmest få kendskab til dagens arbejdsbog.

I arkene i dagens arbejdsbog finder du produkter og deres prisforhold. Ved hjælp af dette forhold vil vi se et par eksempler på at hente værdi med flere kriterier .

I den virkelige verden kan det være nødvendigt at håndtere datasæt med flere relationer og indstille forskellige kriterier for at producere resultaterne. For at holde det enkelt indtil videre vil vi hente prisen på et produkt, der matcher navn og størrelse.

Download arbejdsbog til øvelser

Du kan downloade den arbejdsbog, der blev brugt til demonstrationen, med alle formlerne fra nedenstående link.

INDEX-MATCH med flere matchninger.xlsx

Grundlæggende oplysninger om INDEX-MATCH

Grundlæggende oplysninger om INDEX-funktionen

INDEX-funktionen returnerer en værdi eller en reference til en værdi fra en tabel eller et område. Den kan bruges til at hente individuelle værdier eller hele rækker og kolonner. Lad os se syntaksen for INDEX-funktionen.

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

array eller reference: En celle eller et område af celler, der skal kigges på

row_number: En række i arrayet, hvorfra der skal returneres en værdi

column_number: Kolonnen i arrayet, hvorfra der skal returneres en værdi

area_number: Vælger et referenceområde, hvorfra der returneres skæringspunktet mellem row_num og kolonne_nummer Dette er et valgfrit felt.

Når du skriver formlen, kan du vælge, om du vil angive row_number eller kolonne_nummer . Hvis du giver row_number så er det valgfrit at bruge kolonne_nummer og omvendt.

Du kan tjekke den Støtte fra Microsoft for en mere detaljeret syntaksfordeling.

Grundlæggende om MATCH-funktionen

I praksis er der en funktion, som du oftest finder med den INDEX funktion er MATCH-funktionen . MATCH bruges til at finde placeringen af et bestemt element i et område af celler. Den returnerer den relative placering af et bestemt element i området.

Syntaks for den MATCH funktion er

MATCH(opslag_værdi, opslagsarray, match_type)

lookup_value: Den værdi, der skal søges i opslagsariet.

lookup_array: Et område af celler, der søges i.

match_type: Dette er et valgfrit felt. Du kan indsætte 3 værdier.

1 = Mindre eller lig med opslagsværdi

0 = Præcis opslagsværdi

-1 = Større end eller lig med lookup_value

Hvis du vil have en dybere forståelse, kan du læse mere om Støtte fra Microsoft sted.

6 Egnede eksempler på brug af INDEX-MATCH-formlen med flere matchninger

Nu skal vi omsætte disse formler og teorier til handling i vores datasæt. Vi har løst forskellige scenarier ved hjælp af INDEX-MATCH med flere kampe i Excel og har inkluderet dem i forskellige afsnit for bedre forståelse. Følg med for at se, hvordan vi kan anvende dem i forskellige scenarier, eller hvis du foretrækker en specifik, kan du finde den i tabellen ovenfor.

1. INDEX-MATCH med flere kriterier

Til hentning af værdier med flere kriterier Hvis du f.eks. ønsker at hente prisen på en skjorte i lille størrelse (i vores arbejdsbog), skal du angive Produktnavn - Skjorte og Størrelse - Lille.

Følg nu disse trin for at se, hvordan vi kan bruge formlen til at finde indeksmatchene med disse multiple matches i Excel.

Trin:

  • Først skal du vælge celle G6 .
  • Skriv derefter følgende formel ned.

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

🔎 Opdeling af formlen

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 TRUE eller FALSK afhængigt af, om betingelserne er sande eller ej. Numerisk set er de 1 eller 0. Så multiplikationen giver 1, hvis begge betingelser er sande.

👉 MATCH(1,(G4=B5:B15)*(G5=C5:C15),0) returnerer den position, hvor begge betingelser er sande. I dette tilfælde er det 1.

👉 INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0)) returnerer værdien i den position, som den foregående del af formlen returnerede.

  • Til sidst skal du trykke på Indtast .

Sådan kan vi bruge INDEX MATCH til flere kriterier eller matches i Excel.

Læs mere: Sådan matches flere kriterier fra forskellige arrays i Excel

2. INDEX-MATCH med flere kriterier hører til rækker og kolonner

I dette afsnit vil vi diskutere, hvordan man udfører et opslag ved at teste to eller flere kriterier i rækker og kolonner Det kan virke lidt vanskeligt og kompliceret.

Vi ændrer lidt i vores eksempel, idet vores tabel nu er arrangeret på en sådan måde, at størrelsesværdierne (Small, Large, M, XL) repræsenterer individuelle kolonner.

I lighed med det foregående afsnit skal du angive produktet og den ønskede størrelse som kriterieværdier.

Følg disse trin for at se, hvordan vi kan bruge formlen til dette afsnit.

Trin:

  • Først skal du vælge celle I6 .
  • Skriv derefter følgende formel ned i den.

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

🔎 Opdeling af formlen

👉 MATCH(I4,B5:B7,0) returnerer det nøjagtige match af værdien af I4 i området B5:B7 .

👉 På samme måde, MATCH(I5,C4:F4,0) returnerer det nøjagtige match af værdien af I5 i området C4:F4 .

👉 Endelig, INDEX(C5:F7,MATCH(I4,B5:B7,0),MATCH(I5,C4:F4,0)) tager output af den første funktion som række nummer og den anden funktion som kolonne nummer og returnerer den værdi, der er i positionen fra området C5:F7 .

  • Derefter skal du trykke på Gå ind på .

Vi kan således bruge INDEX-MATCH med flere kriterier, der hører til rækker og kolonner.

Læs mere: Excel-indeks Match et enkelt/flere kriterier med et enkelt/flere resultater

Lignende læsninger

  • INDEX MATCH med 3 kriterier i Excel (4 eksempler)
  • INDEX MATCH på tværs af flere ark i Excel (med alternativ)
  • Sum med INDEX-MATCH-funktioner under flere kriterier i Excel
  • Indeks Match Sum flere rækker i Excel (3 måder)
  • INDEX-MATCH-formel til at finde minimumsværdi i Excel (4 egnede måder)

3. INDEX-MATCH fra kolonner, der ikke er tilstødende kolonner

I dette afsnit vil vi vise dig et eksempel på, hvordan du kan hente matchende værdier ved hjælp af to ikke-nærliggende kolonner. Derudover skal vi bruge IFERROR-funktionen for dette scenario.

Dette vil være datasættet for demonstrationen.

Følg disse trin for at se, hvordan vi kan bruge INDEX-MATCH for de ikke-tilstødende kolonner (produkt og mængde) i dette datasæt.

Trin:

  • Først skal du vælge celle G6 .
  • Skriv derefter følgende formel ned i den.

=IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)), "Ingen værdi")

🔎 Opdeling af formlen

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

👉 MATCH(G5,B4:B7,0) finder det nøjagtige match af værdien af celle G5 i området B4:B7 .

👉 og MATCH(F6,B4:D4,0) finder det nøjagtige match af F6 er intervallet B4:D4 .

👉 Derefter INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)) tager den første funktionsværdi som rækketal og den anden funktionsværdi som kolonnetal og returnerer værdien i den pågældende position i området B4:D7 .

👉 Endelig, IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)), "Ingen værdi") returnerer strengen "Ingen værdi", hvis der er en fejl under udførelsen af formlen. Ellers returnerer den den sædvanlige værdi.

  • Derefter skal du trykke på Indtast på dit tastatur.

Som følge heraf kan vi finde det ønskede match ved hjælp af INDEX-MATCH fra ikke-tilstødende kolonner for udvalgte kriterier, selv for flere kriterier, i Excel.

4. INDEX-MATCH fra flere tabeller

For at finde match fra flere tabeller kan vi bruge INDEX-MATCH Ud over denne funktion har vi brug for SMALL , ISNUMBER , RÆKKE , COUNTIF , og IFERROR funktioner også.

I eksempelarket har vi 2 shop's Products. Ved hjælp af dette ark vil vi se, hvordan vi kan udføre opgaven.

Følg disse trin for at se, hvordan vi kan bruge kombinationen af disse funktioner sammen med INDEX-MATCH med flere matches fra dette sæt tabeller i Excel.

Trin:

  • Først skal du vælge celle C14 .
  • Skriv nu følgende formel ned.

=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)), 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))))

🔎 Opdeling af formlen

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)), 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))))

👉 MATCH($B$6:$B$10, $C$12, 0) finder det nøjagtige match af C12 i området B6:B10 .

👉 ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)) kontrollerer, om værdien er et tal i funktionen.

👉 IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0))), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), "") ROW($B$6:$B$10))) kontrollerer, om den foregående funktion er et tal eller ej. Hvis det er tilfældet, returnerer den outputværdien af MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)) som er den position, hvor rækken af rækketal er matchet i den første og anden RÆKKE Ellers returnerer den en tom streng.

👉 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))) returnerer den RÆKKE($A$1:A1) -ttende mindste værdi fra arrayet.

👉 Endelig. 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)))) returnerer værdien i den pågældende position i intervallet C6:C10 .

👉 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)))) gør det samme, men fra den anden tabel, da intervallerne er tydeligt forskellige i denne del af formlen.

👉 Endelig tager hele funktionen hele funktionen og returnerer den INDEX-MATCH kombinationer. Virkningen af den IFERROR funktion er, at hvis der opstår fejl under udførelsen af formlen, returnerer den ikke nogen værdi.

  • Tryk derefter på Indtast .

  • Derefter skal du vælge cellen igen og klikke og trække ikonet med udfyldningshåndtaget nedad for flere celler for at finde resten af værdierne fra tabellerne. Du kan trække ekstra celler, Excel stopper værdierne, når der ikke er flere af dem.

Sådan kan vi bruge INDEX-MATCH ved hjælp af kriterier fra flere tabeller i Excel.

Læs mere: Flere kriterier i Excel ved hjælp af INDEX-, MATCH- og COUNTIF-funktionen

5. INDEX-MATCH fra flere regneark

Vi kan bruge INDEX-MATCH-formlen på forskellige ark. Her har vi disse to tabeller på to forskellige regneark.

Shop 1 ark for Shop 1 og Shop 2 ark for Shop 2.

For at opnå resultatet skal vi blot angive arknavnet foran cellehenvisningen. Følg disse trin for at få flere oplysninger.

Trin:

  • Først skal du vælge celle C14 fra arket "Shop 1".
  • Skriv derefter følgende formel ned.

=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))))

🔎 Opdeling af formlen

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))))

👉 MATCH($B$6:$B$10, $C$12, 0) søger efter det nøjagtige match af værdien i celle C12 i området B6:B10 .

👉 ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)) kontrollerer, om resultatet af den foregående funktion er et tal eller ej. Dette afgør, om der var et match eller ej. Dette er blot for at konvertere talværdien til en boolsk værdi.

👉 Derefter IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0))), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), "") kontrollerer for den boolske værdi og returnerer MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)) hvis værdien er sand. Ellers returneres en tom streng. MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)) del er den række af tal, hvor RÆKKE($B$6:$B$10) og RÆKKE($B$6:$B$10) Dette er blot et praktisk trick til at begrænse det samlede antal rækker i et markeret afsnit.

👉 Derefter, 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øger efter den RÆKKE($A$1:A1) -ttende mindste værdi fra output fra IF del.

👉 Endelig, 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)))) tager output af den foregående funktion som række nummer og RÆKKE($A$1:A1) som kolonnenummer og returnerer den værdi, der er på denne position i intervallet C6:C10 .

👉 På samme måde, INDEX('Butik 2'!$C$6:$C$10, SMALL(IF(ISNUMBER(MATCH('Butik 2'!$B$6:$B$10, $C$12, 0)), MATCH(ROW('Butik 2'!$B$6:$B$10), ROW('Butik 2'!$B$6:$B$10)), "") gør det samme, men fra det andet ark. Da arknavnet er "Shop 2", har vi tilføjet det før vi vælger intervaller/celler. Du behøver ikke at tilføje dem til det ark, du laver beregninger på. Så vi gjorde det ikke for "Shop 1" i den foregående del af formlen.

👉 Til sidst har vi tilføjet hele funktionen i en IFERROR Funktionen skal nemlig returnere et tomt felt, hvis der opstår fejl under udførelsen af formlen.

  • Til sidst skal du trykke på Indtast .

  • Vælg nu cellen igen, og klik derefter på og træk ikonet med fyldhåndtaget for nogle celler nedad (mere end den anslåede mængde for outputcellen burde være fint).

Derfor finder vi alle match ved hjælp af INDEX-MATCH fra flere regneark i Excel.

6. INDEX-MATCH for flere kriterier uden array

Vi kan også bruge INDEX-MATCH til flere matches eller kriterier uden et array. Lad os f.eks. tage følgende datasæt.

Men vi har brug for en hjælpekolonne for at opnå dette først. Vi vil bruge funktionen CONCATENATE ud over de pågældende funktioner. Følg disse trin for at få den fulde vejledning.

Trin:

  • Først skal du vælge celle F5 og skriv følgende formel ned.

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

  • Tryk derefter på Indtast .

  • Vælg nu cellen igen, og klik og træk ikonet med udfyldningshåndtaget til kolonnens ende for at kopiere formlen for resten af cellerne.

  • Dernæst skal vi finde INDEX-MATCH for alle 100'erne i det oprindelige datasæt. Vælg en celle til at gemme værdien ( H5 i dette tilfælde).
  • Indsæt derefter følgende formel.

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

🔎 Opdeling af formlen

👉 MATCH(“100,100,100”,F5:F19,0) søger efter det nøjagtige match af 100,100,100 i området F5:F19 .

👉 Derefter INDEX(B5:B19,MATCH(“100,100,100”,F5:F19,0)) returnerer værdien i den position, hvor værdien passer.

  • Til sidst skal du trykke på Indtast .

På denne måde kan vi bruge INDEX-MATCH til flere kriterier eller matches i Excel uden et array.

Sådan returneres flere værdier lodret ved hjælp af INDEX-MATCH Formula i Excel

Hvis du ønsker at returnere flere værdier lodret ved hjælp af INDEX-MATCH, kan du se på følgende eksempel.

Følg disse trin for at se, hvordan vi kan opnå dette for datasættet.

Trin:

  • Først skal du vælge celle F5 .
  • For det andet skal du skrive følgende formel ned.

=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))),""")

🔎 Opdeling af formlen

👉 RÆKKE($B$5:$B$14) returnerer et array, der indeholder række numrene i intervallet B5:B14 .

👉 RÆKKE($B$5:$B$14)-RÆKKE($B$5)+1 returnerer forskellen mellem arrayet og cellens rækketal B5 som i dette tilfælde blot er et array fra 1 til 10.

👉 IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1) kontrollerer, hvor værdien af celle E5 er lig i området B5:B14 og returnerer det nummer i arrayet, hvor det er sandt, fra det foregående array.

👉 SMALL(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1),ROW(1:1) returnerer det mindste tal fra arrayet.

👉 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))) returnerer derefter værdien i den pågældende position i intervallet C5:C14 .

👉 Endelig, 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 værdi resulterer i en fejl i formlen, returnerer den en tom streng.

  • For det tredje skal du trykke på Indtast .

  • Vælg derefter cellen igen. Til sidst skal du klikke og trække ikonet med udfyldningshåndtaget nedad for nogle celler for at få alle værdierne.

På denne måde kan vi returnere flere værdier vertikalt ved hjælp af INDEX-MATCH i Excel.

Læs mere: INDEX MATCH med flere kriterier i et andet ark (2 måder)

Konklusion

Det var alt for i dag. Vi har forsøgt at vise dig et par måder at INDEX MATCH med flere matches på. Håber du vil finde dette nyttigt. Du er velkommen til at kommentere, hvis noget virker svært at forstå. Du er velkommen til at give os besked om andre metoder til opgaven.

Du kan finde flere vejledninger som denne på Exceldemy.com .

Hugh West er en meget erfaren Excel-træner og analytiker med over 10 års erfaring i branchen. Han har en bachelorgrad i regnskab og finans og en kandidatgrad i Business Administration. Hugh har en passion for undervisning og har udviklet en unik undervisningstilgang, der er nem at følge og forstå. Hans ekspertviden om Excel har hjulpet tusindvis af studerende og fagfolk verden over med at forbedre deres færdigheder og udmærke sig i deres karriere. Gennem sin blog deler Hugh sin viden med verden og tilbyder gratis Excel-tutorials og onlinetræning for at hjælpe enkeltpersoner og virksomheder med at nå deres fulde potentiale.