Hvordan bruke INDEX and MATCH-funksjonen i Excel

Innholdsfortegnelse:

Hvordan bruke INDEX and MATCH-funksjonen i Excel
Hvordan bruke INDEX and MATCH-funksjonen i Excel
Anonim

What to Know

  • INDEX-funksjonen kan brukes alene, men å legge MATCH-funksjonen inne i den skaper et avansert oppslag.
  • Denne nestede funksjonen er mer fleksibel enn VLOOKUP og kan gi resultater raskere.

Denne artikkelen forklarer hvordan du bruker funksjonene INDEX og MATCH sammen i alle versjoner av Excel, inkludert Excel 2019 og Microsoft 365.

Hva er INDEX- og MATCH-funksjonene?

INDEX og MATCH er Excel-oppslagsfunksjoner. Selv om de er to helt separate funksjoner som kan brukes på egen hånd, kan de også kombineres for å lage avanserte formler.

INDEKS-funksjonen returnerer en verdi eller referansen til en verdi fra et bestemt utvalg. Den kan for eksempel brukes til å finne verdien i den andre raden i et datasett, eller i den femte raden og den tredje kolonnen.

Selv om INDEX godt kan brukes alene, gjør neste MATCH i formelen den litt mer nyttig. MATCH-funksjonen søker etter et spesifisert element i et celleområde og returnerer deretter den relative plasseringen til elementet i området. Det kan for eksempel brukes til å fastslå at et spesifikt navn er det tredje elementet i en navneliste.

Image
Image

INDEX and MATCH-syntaks og argumenter

Slik må begge funksjonene skrives for at Excel skal forstå dem:

=INDEX(array, row_num, [column_num])

  • array er celleområdet som formelen skal bruke. Det kan være én eller flere rader og kolonner, for eksempel A1:D5. Det er påkrevd.
  • row_num er raden i matrisen som en verdi skal returneres fra, for eksempel 2 eller 18. Den er påkrevd med mindre column_num er til stede.
  • column_num er kolonnen i matrisen som en verdi skal returneres fra, for eksempel 1 eller 9. Det er valgfritt.

=MATCH(lookup_value, lookup_array, [match_type])

  • lookup_value er verdien du vil matche i lookup_array. Det kan være et tall, en tekst eller en logisk verdi som er skrevet inn manuelt eller referert til via en cellereferanse. Dette er påkrevd.
  • lookup_array er celleområdet som skal ses gjennom. Det kan være en enkelt rad eller en enkelt kolonne, for eksempel A2:D2 eller G1:G45. Dette er påkrevd.
  • match_type kan være -1, 0 eller 1. Den spesifiserer hvordan lookup_value matches med verdier i lookup_array (se nedenfor). 1 er standardverdien hvis dette argumentet er utelatt.
Hvilken samsvartype å bruke
Samsvartype What It Does Regel Eksempel
1 Finner den største verdien som er mindre enn eller lik lookup_value. Lookup_array-verdiene må plasseres i stigende rekkefølge (f.eks. -2, -1, 0, 1, 2; eller A-Z;, eller FALSE, TRUE. lookup_value er 25, men den mangler fra lookup_array, så posisjonen til det nest minste tallet, som 22, returneres i stedet.
0 Finner den første verdien som er nøyaktig lik lookup_value. lookup_array-verdiene kan være i hvilken som helst rekkefølge. lookup_value er 25, så den returnerer posisjonen 25.
-1 Finner den minste verdien som er større eller lik lookup_value. lookup_array-verdiene må plasseres i synkende rekkefølge (f.eks. 2, 1, 0, -1, -2). lookup_value er 25, men den mangler fra lookup_array, så posisjonen til det nest største tallet, som 34, returneres i stedet.

Bruk 1 eller -1 for tidspunkter når du trenger å kjøre et omtrentlig oppslag langs en skala, som når du arbeider med tall og når tilnærminger er i orden. Men husk at hvis du ikke spesifiserer match_type, vil 1 være standard, noe som kan skjeve resultatene hvis du virkelig ønsker et eksakt samsvar.

Eksempel på INDEX- og MATCH-formler

Før vi ser på hvordan vi kombinerer INDEX og MATCH til én formel, må vi forstå hvordan disse funksjonene fungerer på egen hånd.

INDEX-eksempler

=INDEKS(A1:B2, 2, 2)

=INDEKS(A1:B1, 1)

=INDEKS(2:2, 1)=INDEKS(B1:B2; 1)

Image
Image

I dette første eksempelet er det fire INDEKS-formler vi kan bruke for å få forskjellige verdier:

  • =INDEKS(A1:B2, 2, 2) ser gjennom A1:B2 for å finne verdien i den andre kolonnen og andre raden, som er Stacy.
  • =INDEKS(A1:B1, 1) ser gjennom A1:B1 for å finne verdien i den første kolonnen, som er Jon.
  • =INDEKS(2:2, 1) ser gjennom alt i den andre raden for å finne verdien i den første kolonnen, som er Tim.
  • =INDEKS(B1:B2, 1) ser gjennom B1:B2 for å finne verdien i den første raden, som er Amy.

MATCH-eksempler

=MATCH("Stacy", A2:D2, 0)

=MATCH(14, D1:D2)

=MATCH(14, D1:D2, -1)=MATCH(13, A1:D1, 0)

Image
Image

Her er fire enkle eksempler på MATCH-funksjonen:

  • =MATCH("Stacy", A2:D2, 0) søker etter Stacy i området A2:D2 og returnerer 3 som resultat.
  • =MATCH(14, D1:D2) søker etter 14 i området D1:D2, men siden det ikke finnes i tabellen, finner MATCH den nest største verdien som er mindre enn eller lik 14, som i dette tilfellet er 13, som er i posisjon 1 av lookup_array.
  • =MATCH(14, D1:D2, -1) er identisk med formelen over den, men siden matrisen ikke er i synkende rekkefølge som -1 krever, vi får en feil.
  • =MATCH(13, A1:D1, 0) ser etter 13 i den første raden av arket, som returnerer 4 siden det er det fjerde elementet i denne matrisen.

INDEX-MATCH-eksempler

Her er to eksempler der vi kan kombinere INDEX og MATCH i én formel:

Finn cellereferanse i tabell

=INDEKS(B2:B5, MATCH(F1, A2:A5))

Image
Image

Dette eksemplet legger MATCH-formelen i INDEX-formelen. Målet er å identifisere varefargen ved å bruke varenummeret.

Hvis du ser på bildet, kan du se i "Separert"-radene hvordan formlene vil bli skrevet på egen hånd, men siden vi nester dem, er dette hva som skjer:

  • MATCH(F1, A2:A5) ser etter F1-verdien (8795) i datasettet A2:A5. Hvis vi teller ned kolonnen, kan vi se at den er 2, så det var det MATCH-funksjonen fant ut.
  • INDEX-matrisen er B2:B5 siden vi til slutt ser etter verdien i den kolonnen.
  • INDEX-funksjonen kan nå skrives om slik siden 2 er det MATCH fant: INDEX(B2:B5, 2, [column_num]).
  • Siden column_num er valgfritt, kan vi fjerne det for å stå igjen med dette: INDEX(B2:B5, 2).
  • Så nå er dette som en vanlig INDEKS-formel der vi finner verdien av det andre elementet i B2:B5, som er rødt.

Oppslag etter rad- og kolonneoverskrifter

=INDEKS(B2:E13, MATCH(G1, A2:A13, 0), MATCH(G2, B1:E1, 0))

Image
Image

I dette eksemplet med MATCH og INDEX, gjør vi et toveis oppslag. Tanken er å se hvor mye penger vi tjente på grønne varer i mai. Dette ligner egentlig på eksemplet ovenfor, men en ekstra MATCH-formel er nestet i INDEX.

  • MATCH(G1, A2:A13, 0) er det første elementet som er løst i denne formelen. Den leter etter G1 (ordet "mai") i A2:A13 for å få en bestemt verdi. Vi ser det ikke her, men det er 5.
  • MATCH(G2, B1:E1, 0) er den andre MATCH-formelen, og den er egentlig lik den første, men leter i stedet etter G2 (ordet "Grønn") i kolonneoverskriftene ved B1:E1. Denne løses til 3.
  • Vi kan nå omskrive INDEX-formelen slik for å visualisere hva som skjer: =INDEX(B2:E13, 5, 3). Dette ser i hele tabellen, B2:E13, etter den femte raden og den tredje kolonnen, som returnerer $180.

MATCH and INDEX-regler

Det er flere ting du må huske på når du skriver formler med disse funksjonene:

  • MATCH skiller ikke mellom store og små bokstaver, så store og små bokstaver behandles likt når tekstverdier samsvarer.
  • MATCH returnerer N/A av flere årsaker: hvis match_type er 0 og lookup_value ikke finnes hvis match_type er -1 og lookup_array ikke er i synkende rekkefølge, hvis match_type er 1 og lookup_array ikke er i stigende rekkefølge, og hvis lookup_array ikke er en enkelt rad eller kolonne.
  • Du kan bruke et jokertegn i lookup_value-argumentet hvis match_type er 0 og lookup_value er en tekststreng. Et spørsmålstegn samsvarer med et enkelt tegn og en stjerne samsvarer med en hvilken som helst sekvens av tegn (f.f.eks. =MATCH("Jo", 1:1, 0)). For å bruke MATCH til å finne et faktisk spørsmålstegn eller en stjerne, skriv inn ~ først.
  • INDEX returnerer REF! hvis rad_nummer og kolonnenummer ikke peker til en celle i matrisen.

Relaterte Excel-funksjoner

MATCH-funksjonen ligner på LOOKUP, men MATCH returnerer posisjonen til elementet i stedet for selve elementet.

VLOOKUP er en annen oppslagsfunksjon du kan bruke i Excel, men i motsetning til MATCH som krever INDEX for avanserte oppslag, trenger VLOOKUP-formler bare den ene funksjonen.

Anbefalt: