Hvordan bruke INDEX-MATCH-formel i Excel for å generere flere resultater

  • Dele Denne
Hugh West

Mens arbeid med et stort antall data fører til å produsere flere resultater. I Excel er det en veldig praktisk måte å trekke ut flere resultater. I denne artikkelen vil vi vise deg hvordan du bruker INDEX-MATCH formelen i Excel for å generere flere resultater.

Last ned øvingsmal

Du kan laste ned den gratis øvelsesmalen for Excel herfra og øve på egen hånd.

INDEX MATCH Multiple Results.xlsx

4 nyttige måter å implementere INDEX & MATCH-funksjoner sammen i Excel for å trekke ut flere resultater

Denne delen vil diskutere i detalj bruken av INDEX-funksjonen og MATCH-funksjonen sammen i Excel for å få flere resultater.

1. Finn flere resultater i Array ved å bruke INDEX MATCH Formula i Excel

Vurder følgende datasett, der vi ønsket å finne de forskjellige karakterene til studenter ved forskjellige eksamener.

Vi kan få det ved å kjøre en INDEX-MATCH -formel i regnearket vårt.

Trinn for å finne multiple resultatene i et sett av en matrise ved å bruke INDEX-MATCH funksjoner er gitt nedenfor.

Trinn:

  • Velg et navn fra datasettet ( B5:B11 ) og sett navnet i en annen celle for å bruke cellereferansenummeret senere (f.eks. navn Villiers i Celle G4 ).
  • I en annen celle du vil ha som resultatcelle ( for eksempel Celle G7 ), skrivKonklusjon

    Denne artikkelen forklarte i detalj hvordan du bruker INDEX MATCH -funksjoner for å trekke ut flere resultater i Excel. Jeg håper denne artikkelen har vært veldig nyttig for deg. Spør gjerne hvis du har spørsmål angående emnet.

    følgende formel,
=INDEX($C$5:$C$11,SMALL(IF(ISNUMBER(MATCH($B$5:$B$11,$G$4,0)),MATCH(ROW($B$5:$B$11),ROW($B$5:$B$11)),""),ROWS($A$1:A1)))

Her,

$C$5:$C$11 = matrisen for å søke etter oppslagsverdien

$B$5:$B$11 = matrisen der oppslagsverdien er

  • Trykk Enter .

Du vil legge merke til at resultatet for dataene (f.eks. Villiers ) som du legger inn i den valgte cellen ( G4 ), vil vises i resultatcellen (f.eks. 65 i G7 ).

  • Dra nå raden ned med Fyll håndtak for å få resten av resultatene dine med den samme oppslagsverdien.

Denne prosessen er ikke konstant for noen spesifikk verdi, så du kan velg eventuelle oppslagsdata i den valgte cellen (f.eks. G4 ), og resultatet for den aktuelle dataen vil automatisk oppdateres i resultatcellen (f.eks. G7 ).

For å forstå mer se gif-en nedenfor.

Formeloversikt:

La oss bryte ned formelen for å forstå hvordan vi fikk resultat.

  • MATCH($B$5:$B$11, $G$4, 0) blir,

-> MATCH({"Flintoff"; " Ronaldo»; "Plessis"; "Villiers"; "Beckham"; "Villiers"; “Plessis”}, “Villiers”, 0)

-> Utgang: {#N/A; #N/A; #N/A; 1; #N/A; 1; #N/A}

Forklaring: Hvis søkeverdien finner samsvar i oppslagsmatrisen, returnerer MATCH -funksjonen 1 , ellers returnerer den #N/A .

  • ISNUMBER(MATCH($B$5:$B$11, $G$4, 0) blir,

-> ISNUMBER({#N/A; #N/A; #N/A; 1; #N/A; 1; #N/A})

-> Utdata: {FALSE; FALSK; FALSK; EKTE; FALSK; EKTE; FALSE}.

Forklaring: Siden HVIS-funksjonen ikke er i stand til å håndtere feilverdier, blir ISNUMBER-funksjonen brukt her for å konvertere matriseverdiene til boolske verdier.

  • IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B) $5:$B$11), ROW($B$5:$B$11)), “”) blir,

-> IF({FALSE; FALSE; FALSE ; TRUE; FALSE; TRUE; FALSE}, MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), “”)

blir

-> HVIS({FALSE; FALSE; FALSE; TRUE; FALSE; TRUE; FALSE}, {1; 2; 3; 4; 5; 6; 7}, “”)

-> Utdata: {“”; ""; ""; 4; ""; 6}

Forklaring: For det første konverterer HVIS -funksjonen de boolske verdiene til radtall og blanke felter. Senere beregner MATCH og ROW-funksjonen en matrise med påfølgende tall, fra 1 til n, hvor n er den siste numeriske identiteten til den totale størrelsen på celleområdet. Ettersom $B$5:$B$11 har 7 verdier, så blir matrisen {1; 2; 3; 4; 5; 6; 7} .

  • LITEN(HVIS(ER NUMMER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(RAD($B$5: $B$11), ROW($B$5:$B$11)), “”), ROWS($A$1:A1))) blir

-> SMALL({“”; “”; “”; 4; “”; 6}, ROWS($A$1:A1))

-> LITEN({“”; ""; ""; 4; ""; 6}, 1)

-> Utdata: 4

Forklaring: Først bestemmer SMALL-funksjonen hvilken verdi som skal hentes basert på radnummeret. Deretter returnerer funksjonen Rader et tall som endres hver gang cellen blir kopiert og limt inn i cellene under. Opprinnelig returnerte den 4 i henhold til vårt datasett. I neste celle under endres RADER($A$1:A1) til RADER($A$1:A2) og returnerer 6 .

  • INDEKS($C$5:$C$11, SMALL(IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(RAD($B$5: $B$11), ROW($B$5:$B$11)), “”), ROWS($A$1:A1))) blir

-> INDEX($C$5:$C$11, 4)

-> Utdata: 65

Forklaring: The INDEKS -funksjonen returnerer en verdi fra en gitt matrise basert på et rad- og kolonnenummer. Verdien 4. i matrisen $C$5:$C$11 er 65 , så INDEKS -funksjonen returnerer 65 i celle G7 .

Les mer: IF med INDEX-MATCH i Excel (3 passende tilnærminger)

2. Finn flere resultater av kommende arrangements navn & Date med INDEX MATCH Formel i Excel

Noen ganger glemmer vi datoen for viktige hendelser. I så fall fungerer INDEX MATCH -funksjonene som redningsmenn.

Nedenfor er eksempeldataene der vi ønsket å vite den kommende bursdagen blant vennene våre.

Så, det vi gjorde var å implementere en INDEX MATCH -formel for å finne ut hvem som har bursdag neste gang, og når er det.

Så, formelen tilvet personens navn eller det kommende arrangementets navn er,

=INDEX($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1)

Og formelen for å vite datoen for det kommende arrangementet er,

=INDEX($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1)

Formeloversikt:

La oss bryte ned formelen for å forstå hvordan vi fant ut navnet Alex og fødselsdatoen hans.

  • MATCH(F5,$C$5:$C$9,1)

-> Utdata: 4

Forklaring: MATCH -funksjonen finner posisjonen til oppslagsverdien ( Celle F5 = torsdag 11. november 2021 ) i matrisekonstanten ( $C$5:$C$9 = listen over datoene ) .

I dette eksemplet ønsket vi ikke et eksakt samsvar, vi ønsket at MATCH -funksjonen skulle returnere et omtrentlig samsvar, så vi satte det tredje argumentet til 1 (eller TRUE ).

  • INDEKS($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1 ) blir

-> INDEX($B$5:$B$9, 4) +1)

-> Utdata: Alex /(Hendelsens navn)

Forklaring: INDEKS -funksjonen tar to argumenter for å returnere en bestemt verdi i et endimensjonalt område. Her er området $B$5:$B$9 først argumentet og resultatet som vi hadde fra beregningen i forrige seksjon (MATCH(F5,$C$5:$C$9, 1)) , posisjon 4 , er det andre argumentet. Det betyr at vi søker etter verdien i posisjon 4 i $B$5:$B$9 område.

Og,

  • INDEKS($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1) blir

-> INDEX($B$5:$B$9, 4) +1)

-> Utdata: Tirsdag 7. desember 2021

Forklaring: INDEKS -funksjonen bruker to argumenter for å returnere en bestemt verdi i et endimensjonalt område. Her er området $C$5:$C$9 først argumentet og resultatet som vi hadde fra beregningen i forrige seksjon (MATCH(F5,$C$5:$C$9, 1)) , posisjon 4 , er det andre argumentet. Det betyr at vi søker etter verdien i posisjon 4 i $C$5:$C$9 -området.

For å få den kommende arrangementsdatoen, la vi nettopp til en til celleposisjonen returnert av MATCH -funksjonen, og den ga oss celleposisjonen for neste hendelsesdato.

Les mer: Excel INDEX -MATCH-formel for å returnere flere verdier horisontalt

Lignende avlesninger

  • INDEX MATCH flere kriterier med jokertegn i Excel (en komplett veiledning)
  • [Fikset!] INDEX MATCH returnerer ikke riktig verdi i Excel (5 grunner)
  • Hvordan bruke INDEX MATCH i stedet for VLOOKUP i Excel (3 måter)
  • INDEX+MATCH med dupliserte verdier i Excel (3 raske metoder)
  • Hvordan velge spesifikke data i Excel (6 Metoder)

3. Generer flere resultater i separate kolonner ved å bruke INDEX MATCH Formula i Excel

Inntil nå har vifått resultater på rad. Men hva om du ønsker å få resultatene i separate kolonner .

Tenk på følgende datasett, som består av tre typer yrker som representerer flere navn på personer.

Vi ønsket å lage en gruppe mennesker basert på yrket, og vi ønsket å plassere navnene kolonnemessig i henhold til deres yrke.

For å trekke ut flere match resultater inn i separate celler i separate kolonner, du kan gjøre et lite triks med INDEKS -funksjonen.

La oss lære hvordan du trekker ut flere samsvarsresultater i flere kolonner i Excel med en kombinasjon av INDEKS -funksjoner og andre.

Trinn:

  • Velg et yrke fra dataområdet ( B5:B11 ) og plasser dataene i en annen celle for å bruke cellereferansenummeret senere (f.eks. yrke Cricketer i Celle E5 ).
  • I en annen celle som du vil ha som resultatcellen din (f.eks. Celle F5 ), skriv følgende formel,
=IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW(C5:C11)-MIN(ROW(C5:C11))+1),COLUMNS($E$5:E5))),"")

Her,

$C$5:$C$11 = ar ray for å søke etter oppslagsverdien

$B$5:$B$11 = matrisen der oppslagsverdien er

  • Trykk Enter .

Du vil legge merke til at resultatet for dataene (f.eks. Cricketspillere ) som du legger i den valgte cellen ( E5 ), vil vises i resultatcellen (f.eks. Flintoff i Celle F5 ).

  • Dra nå raden rundt etter Fyllhåndtak for å få resten av resultatene av den samme oppslagsverdien i separate flere kolonner.

  • Igjen, dra ro rundt etter Fyllhåndtak for å få resten av resultatene dine med forskjellige oppslagsverdier (f.eks. Fotballspiller, brytere ) i separate flere kolonner.

Formeloversikt:

La oss bryte ned formelen for å forstå hvordan vi fikk resultatet.

  • LITEN(HVIS ($B$5:$B$11=$E5,RAD($C$5:$C$11)-MIN(RAD($C$5:$C$11))+1),KOLONNER($E$5:E5))

Vi vet allerede fra forrige diskusjon hvordan funksjonene SMALL, IF og ROW fungerer sammen, og vi bruker det trikset her også for å generere et radnummer som tilsvarer en N-te kamp. Når vi har radnummeret, sender vi det ganske enkelt inn i INDEKS -funksjonen som returnerer verdien på den raden.

-> Utdata: ( som bildet nedenfor )

  • INDEKS($C$5:$C$11,SMALL(IF($B$5:$B$11 =$E5,RAD($C$5:$C$11)-MIN(RAD($C$5:$C$11))+1),COLUMNS($E$5:E5))) -> sende radnumrene til INDEKS -funksjonen for å trekke ut verdien for tilsvarende radnummer.

-> Utdata: ( som bildet under )

  • IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11= $E5,ROW(C5:C11)-MIN(RAD(C5:C11))+1),COLUMNS($E$5:E5))),"") -> Legg merke til at når kolonner returnerer en verdi som ikke eksisterer, vil dengir en #NUM feil. For å forhindre feilen pakker vi inn hele formelen med HVISER-funksjonen for å fange opp feil og setter en tom streng (“”) som en retur.

-> Utgang: ( som bildet nedenfor )

Les mer: Excel INDEX MATCH for å returnere flere verdier i én celle

4. Trekk ut flere resultater i separate rader ved å bruke INDEX MATCH-funksjoner i Excel

Hvis du lurer på om å trekke ut flere resultater i flere rader på samme måte som vi gjorde i forrige avsnitt, så er formelen

=IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=E$4,ROW(C5:C11)-MIN(ROW(C5:C11))+1),ROWS($E$5:E5))),"")

Og alle andre detaljer som trinn og formelnedbryting er de samme som i seksjon 3.

Nøkkelpunkter du må huske på

  • Som rekkevidden til datatabellmatrisen for å søke etter at verdien er fast, ikke glem å sette dollar ($) -tegnet foran cellereferansenummeret til matrisetabellen.
  • Når du arbeider med matriseverdier, ikke glem å trykke Ctrl + Shift + Enter på tastaturet rd mens du trekker ut resultater. Å trykke bare Enter vil bare fungere når du bruker Microsoft 365 .
  • Etter å ha trykket Ctrl + Shift + Enter , vil du legge merke til at formellinjen omsluttet formelen i krøllete klammeparenteser {} , og erklærte den som en matriseformel. Ikke skriv inn disse parentesene {} selv, Excel gjør dette automatisk for deg.

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.