Innholdsfortegnelse
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.