XLOOKUP vs INDEX-MATCH i Excel (alle mulige sammenligninger)

  • Dele Denne
Hugh West

I dag skal jeg gjøre en komparativ analyse av XLOOKUP vs INDEX-MATCH-funksjonene i Excel . I de tidligere versjonene av Excel brukte vi HLOOKUP -, VLOOKUP - og INDEX-MATCH -funksjonene for å se etter en spesifikk verdi i et celleområde. Men med fremveksten av Office 365 , har Excel gitt oss en ny og dynamisk funksjon kalt XLOOKUP -funksjonen for å utføre en lignende operasjon mer sofistikert. I denne artikkelen vil jeg prøve å sammenligne de mye brukte funksjonene, XLOOKUP og INDEX-MATCH .

Last ned øvelsesarbeidsbok

Få denne eksempelfilen for en bedre forståelse.

XLOOKUP vs INDEX-MATCH Functions.xlsx

Introduksjon til XLOOKUP-funksjonen

XLOOKUP -funksjonen brukes til å finne en spesifikk verdi innenfor et celleområde eller en matrise. Etter det returnerer den den tilsvarende første kampen. Den viser også det nærmeste eller omtrentlige samsvaret når det ikke er noe eksakt samsvar.

Syntaks:

=XLOOKUP(lookup_value,lookup_array,return_array,[if_not_found] ,[match_mode],[search_mode])

Argumenter:

  • Lookup_value : Det er verdien vi er søker etter i en spesifikk kolonne i området.
  • Oppslagsmatrise : Det er matrisen som vi søker etter oppslagsverdien . Kan være både rad ogførste eller siste kamp. For å få den første verdien som samsvarer, sett søketype argumentet til 1 . Og for å få den siste verdien som samsvarer, sett søketype -argumentet til -1 . Men i INDEX-MATCH har du ikke noe valg. Du får bare den første verdien som samsvarer.
  • For å få den første studenten som fikk 100 , kan du bruke denne XLOOKUP -formelen i Celle G5 .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,1)

  • Sammen med den får du den siste eleven med 100 ved å bruke denne XLOOKUP -formelen.
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,-1)

  • Tvert imot får du bare den første verdien som samsvarer med denne INDEKS-MATCH formelen.
=INDEX(B5:E16,MATCH(100,D5:D16,0),2)

7. XLOOKUP og INDEX-MATCH i tilfelle av flere oppslagsverdier

I dette eksemplet vil vi demonstrere XLOOKUP vs INDEX-MATCH ved flere oppslagsverdier. Det er en likhet mellom de to funksjonene i denne forbindelse. Begge tillater flere oppslagsverdier (matriseformel).

  • For XLOOKUP funksjonen vil følgende formel fungere.
=XLOOKUP(G5:G8,B5:B16,E5:E16,"Not Found",0,1)

  • For INDEX-MATCH vil følgende funksjon også fungere.
=INDEX(B5:E16,MATCH(G5:G8,B5:B16,0),4)

Fordeler & Ulemper med XLOOKUP-funksjonen

Det er visse fordeler og ulemper ved å bruke XLOOKUP -funksjonen. La oss se dem i korte trekk.

Fordeler

  • Sett opp en standardverdi for ingen samsvarende tilfeller.
  • Kan søke etter omtrentlige treff uten å sortere lookup_array .
  • Ha tilgang for å søke fra både den første cellen og den siste cellen i lookup_array .

Ulemper

  • Fungerer tregere enn INDEX-MATCH funksjon.
  • Kun tilgjengelig i Office 365 .

Fordeler & Ulemper med INDEX-MATCH-funksjoner

INDEX-MATCH -funksjonene har også noen av følgende fordeler og ulemper.

Fordeler

  • Fungerer raskere enn XLOOKUP -funksjonen.
  • Tilgjengelig i de gamle Excel versjonene.

Ulemper

  • Kan ikke håndtere feil når ingen treff blir funnet.
  • Krever at lookup_array sorteres for omtrentlige treff.
  • Returnerer bare den første verdien når flere verdier samsvarer med lookup_value .

Konklusjon

Til slutt er vi ved slutten av vår lange artikkel. Her prøvde vi å lage en komparativ analyse av XLOOKUP vs INDEX-MATCH funksjonene i Excel. Gi oss dine innsiktsfulle forslag om dette. Følg ExcelWIKI for flere opplæringsprogrammer.

kolonne.
  • Returmatrise: Det er kolonnen som den tilsvarende verdien av oppslagsverdien vil bli returnert fra.
  • Valgfrie argumenter:

    • If_not_found : Det er verdien som vil bli returnert i tilfelle lookup_array ikke har lookup_value.
    • Samsvarsmodus : Det er et tall som angir typen samsvar for oppslagsverdien du ønsker. Dette er et valgfritt argument. Den kan inneholde fire verdier.
    1. Når den er 0 , vil XLOOKUP søke etter et eksakt samsvar (standard).
    2. Når det er 1 , vil XLOOKUP først søke etter et eksakt samsvar. Hvis et eksakt samsvar ikke blir funnet, vil det samsvare med den neste mindre verdien.
    3. Når det er -1 , vil XLOOKUP først søke etter et eksakt samsvar. Hvis et eksakt samsvar ikke blir funnet, vil det samsvare med den neste større verdien.
    4. Når det er 2 , vil XLOOKUP først søke etter et omtrentlig samsvar med jokertegn ( Gjelder kun for strengoppslagsverdier).
    • Search_mode : Det er et tall som angir typen søkeoperasjon som utføres på lookup_array. Dette er også valgfritt. Den kan også ha fire verdier:
    1. Hvis den er 1 , vil XLOOKUP søke fra topp til bunn i lookup_array (Standard).
    2. Når det er -1 , vil XLOOKUP søke fra bunn til topp i
    3. Hvis det er 2 , XLOOKUP vil utføre enbinært søk i stigende rekkefølge.
    4. Når det er -2 , vil XLOOKUP utføre et binært søk i synkende rekkefølge.

    Introduksjon til INDEX-MATCH-funksjoner

    Kombinasjonen av INDEX-MATCH -funksjonene brukes til å hente en verdi fra en gitt plassering og matche den med kildeområdet.

    Syntaks:

    =INDEX(matrise,MATCH(oppslagsverdi,oppslagsmatrise,samsvarstype),no_of_column)

    Argumenter:

    For INDEX-funksjonen:

    • Array : Det er et celleområde som vi ønsker å trekke ut en verdi fra.
    • MATCH(oppslagsverdi,oppslagsmatrise,samsvarstype): Det er radnummeret til området der oppslagsverdien samsvarer med en bestemt verdi i oppslagsmatrisen .
    • Antall_kolonne: Det er nummeret på kolonnen i matrisen som vi ønsker å returnere en verdi som tilsvarer oppslagsverdien .

    For MATCH-funksjonen:

    • Lookup_value: Det er verdien vi søker etter.
    • Looku p_array: Det er matrisen der vi søker etter oppslagsverdien . Det kan være både en rad og en kolonne.
    • Match_type: Det er et heltall som angir typen samsvar vi ser etter. Dette er valgfritt.
    1. Når det er -1 , vil MATCH først se etter et eksakt samsvar. I tilfelle et eksakt samsvar ikke blir funnet, vil det se etter neste større verdi (standard)(motsatt XLOOKUP ).

    Men betingelsen er at oppslagsmatrisen må sorteres i stigende rekkefølge. Ellers vil det vise en feil.

    1. Når det er 1 , vil MATCH også først se etter et eksakt samsvar. I tilfelle et eksakt samsvar ikke blir funnet, vil det se etter den neste mindre verdien (motsatt XLOOKUP ).

    Men betingelsen er at lookup_array må sorteres i synkende rekkefølge denne gangen. Ellers vil det vise en feil.

    1. Når det er 0 , vil MATCH søke etter et eksakt samsvar.

    Les mer: Hvordan velge spesifikke data i Excel (6 metoder)

    7 sammenligninger mellom bruk av XLOOKUP- og INDEX-MATCH-funksjoner

    Nå har vi brutt ned formelen, la oss diskutere noen likheter og ulikheter mellom de to funksjonene. Før jeg går til hoveddiskusjonene, viser jeg hovedpunktene i en tabell for enkelhets skyld.

    Diskusjonspunkt Likhet/Ulikhet Forklaring
    Kolonneoppslagsmatrise Slikhet Begge støtter en kolonne som lookup_array.
    Row lookup_array Likenhet Begge støtter en rad som lookup_array.
    Ingen matching av lookup_value Ulikhet XLOOKUP har standard oppsettalternativ for ingen matching avoppslagsverdi. Men INDEX-MATCH har ikke.
    Omtrentlig samsvar Delvis likhet XLOOKUP kan finne ut den neste mindre eller neste større verdi når det ikke er noe eksakt samsvar. INDEX-MATCH kan også gjøre det, men lookup_array må sorteres i stigende eller synkende rekkefølge.
    Matchende jokertegn Likhet Begge støtter samsvarende jokertegn.
    Multiple Values ​​Matching Delvis likhet XLOOKUP kan finne ut enten første eller siste verdi når flere verdier samsvarer. Men INDEX-MATCH kan bare returnere den første verdien som samsvarer.
    Matriseformel Likelighet Begge støtter matrisen formel.

    1. XLOOKUP og INDEX-MATCH til oppslagsverdi i kolonne

    Det er en likhet mellom de to funksjonene i dette aspektet. For XLOOKUP og INDEX-MATCH kan lookup_array være en kolonne for begge funksjonene. Her ser vi etter de eksakte Kargene i fysikk til elevnavnet i C ell F5 , Jennifer Marlo . Vi ønsket å søke fra topp til bunn i Elevens navn -kolonnen og returnere « Ikke funnet » i tilfelle ingen treff ble funnet.

    • For XLOOKUP , bruk formelen i Celle G5 .
    =XLOOKUP(F5,C5:C16,D5:D16,"Not Found",0,1)

    • For INDEX-MATCH , bruk denne formelen i celleG5 .
    =INDEX(B5:D16,MATCH(F5,C5:C16,0),3)

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

    2. XLOOKUP og INDEX-MATCH til oppslagsverdi i rad

    Det er også en likhet mellom de to funksjonene i dette aspektet . For XLOOKUP og INDEX-MATCH kan lookup_array også være en rad for begge funksjonene. For illustrasjon har vi et nytt datasett med ID-ene , navnene og -karakterene i fysikk og karakterene .

    La oss vurdere et øyeblikk at dette er et veldig bredt datasett, og vi vet ikke hva nummeret på Klasse -kolonnen er. Deretter, for å finne ut en bestemt elevs karakter, må vi bruke Overskriftsraden (B4:E4) som oppslagsmatrisen og ordet « Karakter » som oppslagsverdien . Vi kan oppnå det ved å bruke både XLOOKUP og INDEX-MATCH .

    • For å finne karakteren til tredje eleven , vil XLOOKUP formelen være slik i Cell G5 .
    =XLOOKUP("Grade",B4:E4,B7:E7,"Not Found",0,1)

    • For dette tilfellet vil INDEX-MATCH -formelen være:
    =INDEX(B5:E16,3,MATCH("Grade",B4:E4,0))

    3. XLOOKUP og INDEX-MATCH Når ingen samsvar blir funnet

    De to funksjonene er forskjellige i dette aspektet. Hvis lookup_value ikke samsvarer med noen verdi i lookup_array , kan du angi en fast verdi som skal returneres i XLOOKUP . For å gjøre det, må du angi detverdi i if_not_found -argumentet. På den annen side er det ikke noe slikt alternativ i INDEX-MATCH . Det vil returnere en feil. Du må bruke HVISER-funksjonen utenfor for å håndtere feilen. I det gitte datasettet vil vi finne ut Studentnavn med ID 100 .

    • For dette, bruk følgende XLOOKUP -formel i Celle G5 .
    =XLOOKUP(100,B5:B16,C5:C16,"Not Found",0,1)

    • På den annen side, bruk denne INDEKS-MATCH formel.
    =INDEX(B5:E16,MATCH(100,B5:B16,0),2)

    • Når den returnerer en feil, må bruke en IFERROR funksjon utenfor for å håndtere denne feilen.
    =IFERROR(INDEX(B5:E16,MATCH(100,B5:B16,0),2),"Not Found")

    Lignende avlesninger

    • Excel INDEX MATCH for å returnere flere verdier i én celle
    • Excel INDEX-MATCH formel for å returnere flere verdier Horisontalt
    • Hvordan bruke INDEX-MATCH-formel i Excel for å generere flere resultater
    • [Fikset!] INDEX-MATCH returnerer ikke riktig verdi i Excel (5 grunner)
    • Hvordan bruke INDEX MATCH i stedet for VLOOKUP i Excel (3 måter)

    4. XLOOKUP og INDEX-MATCH i Case of Approximate Matches

    Det er en delvis likhet mellom de to funksjonene i dette aspektet. I XLOOKUP funksjonen, hvis lookup_value ikke samsvarer med noen verdi i lookup_array , kan du endre formelen for å returnere den neste mindre eller neste større verdien . Sett argumentet match_type til -1 hvis du vil ha den neste mindre verdien og sett den til 1 hvis du vil ha den neste større verdien.

    For eksempel , vil vi finne ut studenten med en karakter på 50 eller neste større karakter.

    • For å finne verdien, bruk denne XLOOKUP -formelen.
    =XLOOKUP(50,D5:D16,C5:C16,"Not Found",1,1)

    • Som du kan se, er det ingen student med karakteren 50 . Det er derfor den viser den umiddelbart etter 50 , 51 av Desmond Hayes .

    Det er det samme alternativet i INDEX-MATCH formel. Men mangelen er at du må sortere lookup_array i synkende rekkefølge hvis du vil ha den neste større verdien. Ellers vil den returnere en feil. Og for å få neste mindre verdi, må du sortere i stigende rekkefølge.

    • Først av alt, sett inn denne formelen i celle G5 .
    =INDEX(B5:E16,MATCH(50,D5:D16,-1),2)

    • Som et resultat vil du se at resultatet viser en #N/A feil .
    • Sorter derfor celleområdet D5:D16 i stigende rekkefølge og du vil få riktig verdi.

    Spesiell merknad:I funksjonen XLOOKUPfungerer -1for den neste mindre verdien, men i INDEX-MATCH, -1fungerer for neste større verdi. Tilsvarende i XLOOKUP-funksjonen fungerer 1 for den neste større verdien, men i INDEX-MATCH fungerer 1for den neste mindre verdien.

    Les mer: Hvordan brukeINDEX og Match for delvis match (2 måter)

    5. XLOOKUP og INDEX-MATCH i tilfelle matchende jokertegn

    Det er en likhet mellom de to funksjonene i dette aspektet. XLOOKUP og INDEX-MATCH støtter begge Jokertegn . Her vil vi finne ut hvilken som helst student med « Marlo » som andrenavn. La oss følge trinnene nedenfor for å se XLOOKUP vs INDEX-MATCH sammenligning.

    • Først bruker du denne XLOOKUP -formelen i Celle G5 for å få utdata.
    =XLOOKUP("*Marlo*",C5:C16,C5:C16,"Not Found",2,1)

    Merk:For å bruke jokertegn i XLOOKUP, må du sette argumentet match_typetil 2. Ellers vil det ikke fungere.

    • På den annen side vil INDEX-MATCH formelen for å utføre samme oppgave være slik.
    =INDEX(B5:E16,MATCH("*Marlo*",C5:C16,0),2)

    Les mer: INDEX MATCH Flere kriterier med jokertegn i Excel (en komplett veiledning )

    6. XLOOKUP og INDEX-MATCH når flere verdier samsvarer med oppslagsverdi

    Dette eksemplet viser XLOOKUP vs INDEX-MATCH når flere verdier samsvarer med oppslagsverdien. Det er også en delvis likhet mellom de to funksjonene i denne forbindelse. XLOOKUP og INDEX-MATCH returnerer begge bare én verdi i tilfelle flere verdier i lookup_array samsvarer med lookup_value . Men i XLOOKUP -funksjonen kan du endre søket for å få enten

    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.