XLOOKUP vs INDEX-MATCH Excelissä (kaikki mahdolliset vertailut)

  • Jaa Tämä
Hugh West

Tänään teen vertailevan analyysin seuraavista XLOOKUP vs INDEX-MATCH-toiminnot osoitteessa Excel . Aikaisemmissa versioissa Excel , käytimme aiemmin HLOOKUP ... VLOOKUP ja INDEX-MATCH funktioita, joilla etsitään tiettyä arvoa tietystä solujen alueesta. Office 365 , Excel on tarjonnut meille uuden ja dynaamisen toiminnon nimeltä XLOOKUP funktiolla suorittaa samanlainen toiminto kehittyneemmin. Tässä artikkelissa yritän vertailla laajalti käytettyjä funktioita, jotka ovat XLOOKUP ja INDEX-MATCH .

Lataa harjoituskirja

Hanki tämä esimerkkitiedosto, jotta ymmärrät sen paremmin.

XLOOKUP vs. INDEX-MATCH-funktiot.xlsx

Johdanto XLOOKUP-funktioon

The XLOOKUP funktiota käytetään tietyn arvon etsimiseen solualueelta tai joukosta. Sen jälkeen se palauttaa ensimmäisen vastaavan vastaavuuden. Se näyttää myös lähimmän tai likimääräisen vastaavuuden, jos tarkkaa vastaavuutta ei ole.

Syntaksi:

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

Argumentit:

  • Lookup_value : Se on arvo, jota etsimme alueen tietystä sarakkeesta.
  • Lookup_array : Se on joukko, josta etsimme hakuja. lookup_value . Voi olla sekä rivi että sarake.
  • Return_array: Se on se sarake, josta vastaava arvo on lookup_value palautetaan.

Valinnaiset argumentit:

  • If_not_found : Se on arvo, joka palautetaan, jos parametri lookup_array ei ole lookup_value.
  • Match_mode : Se on numero, joka ilmaisee, minkä tyyppinen vaste on lookup_value Tämä on valinnainen argumentti, joka voi sisältää neljä arvoa.
  1. Kun se on 0 , XLOOKUP etsii tarkkaa vastaavuutta (oletus).
  2. Kun se on 1 , XLOOKUP etsii ensin täsmällistä vastaavuutta. Jos täsmällistä vastaavuutta ei löydy, se etsii seuraavaksi pienemmän arvon.
  3. Kun se on -1 , XLOOKUP etsii ensin täsmällistä vastaavuutta. Jos täsmällistä vastaavuutta ei löydy, se vastaa seuraavaksi suurempaa arvoa.
  4. Kun se on 2 , XLOOKUP etsii ensin likimääräistä vastaavuutta käyttämällä jokerimerkkejä (koskee vain merkkijonojen hakuarvoja).
  • Etsi_tila : Se on numero, joka ilmaisee lookup_array-tietueelle suoritetun hakuoperaation tyypin. Tämäkin on valinnainen. Sillä voi olla myös neljä arvoa:
  1. Jos se on 1 , XLOOKUP etsii ylhäältä alaspäin lookup_array (Oletus).
  2. Kun se on -1 , XLOOKUP etsii alhaalta ylöspäin
  3. Jos se on 2 , XLOOKUP suorittaa binäärihaun nousevassa järjestyksessä.
  4. Kun se on -2 , XLOOKUP suorittaa binäärihaun laskevassa järjestyksessä.

INDEX-MATCH-funktioiden käyttöönotto

Yhdistelmä INDEX-MATCH funktioita käytetään noutamaan arvo tietystä paikasta ja sovittamaan se lähdealueeseen.

Syntaksi:

=INDEX(array,MATCH(lookup_value,lookup_array,match_type),no_of_column)

Argumentit:

INDEX-toiminnolle:

  • Array : Se on solualue, josta haluamme poimia arvon.
  • MATCH(lookup_value,lookup_array,match_type): Se on sen alueen rivin numero, jossa on käytetty lookup_value vastaa tiettyä arvoa lookup_array .
  • No_of_column: Se on sen sarakkeen numero, josta halutaan palauttaa arvo, joka vastaa arvoa lookup_value .

MATCH-toiminnon osalta:

  • Lookup_value: Se on arvo, jota me etsimme.
  • Lookup_array: Se on array, josta etsimme hakusanaa lookup_value Se voi olla sekä rivi että sarake.
  • Match_type: Se on kokonaisluku, joka ilmaisee etsittävän vastaavuuden tyypin. Tämä on valinnainen.
  1. Kun se on -1 , MATCH etsii ensin täsmällistä vastaavuutta. Jos täsmällistä vastaavuutta ei löydy, se etsii seuraavaksi suuremman arvon (oletusarvo) (päinvastoin kuin esim. XLOOKUP ).

Mutta edellytyksenä on, että lookup_array on lajiteltava nousevaan järjestykseen, muuten se antaa virheilmoituksen.

  1. Kun se on 1 , MATCH etsii myös ensin täsmällistä vastaavuutta. Jos täsmällistä vastaavuutta ei löydy, se etsii seuraavaksi pienempää arvoa (päinvastoin kuin esim. XLOOKUP ).

Mutta edellytyksenä on, että lookup_array on tällä kertaa lajiteltava alenevassa järjestyksessä, muuten se näyttää virheen.

  1. Kun se on 0 , MATCH etsii tarkkaa vastaavuutta.

Lue lisää: Miten valita tiettyjä tietoja Excelissä (6 menetelmää)

7 XLOOKUP- ja INDEX-MATCH-funktioiden käytön vertailu

Nyt kun olemme eritelleet kaavan, keskustelemme näiden kahden toiminnon yhtäläisyyksistä ja eroavaisuuksista. Ennen kuin siirrymme pääkeskusteluihin, esittelen tärkeimmät kohdat taulukossa, jotta voitte helpommin tutustua niihin.

Keskustelunaihe Samankaltaisuus/erilaisuus Selitys
Sarakkeen lookup_array Samankaltaisuus Molemmat tukevat saraketta lookup_array:nä.
Rivi lookup_array Samankaltaisuus Molemmat tukevat riviä lookup_array:nä.
Ei vastaavuutta lookup_value Eroavuus XLOOKUPissa on oletusasetuksena vaihtoehto, jonka mukaan lookup_value ei vastaa lookup_valuen arvoa. Mutta INDEX-MATCHissa ei ole.
Likimääräinen vastaavuus Osittainen samankaltaisuus XLOOKUP voi löytää seuraavaksi pienemmän tai suuremman arvon, kun täsmällistä vastaavuutta ei ole. INDEX-MATCH voi myös tehdä niin, mutta lookup_array on lajiteltava nousevaan tai laskevaan järjestykseen.
Vastaavat jokerimerkit Samankaltaisuus Molemmat tukevat yhteensopivia jokerimerkkejä.
Useiden arvojen yhteensovittaminen Osittainen samankaltaisuus XLOOKUP voi selvittää joko ensimmäisen tai viimeisen arvon, kun useat arvot vastaavat toisiaan. INDEX-MATCH voi kuitenkin palauttaa vain ensimmäisen vastaavan arvon.
Array kaava Samankaltaisuus Molemmat tukevat array-kaavaa.

1. XLOOKUP ja INDEX-MATCH sarakkeen arvon etsimiseen sarakkeesta

Nämä kaksi toimintoa ovat samankaltaisia tältä osin. Koska kyseessä on XLOOKUP ja INDEX-MATCH , lookup_array voi olla molempien funktioiden sarake. Tässä etsimme tarkkaa Fysiikan arvosanat oppilaan nimi osoitteessa C ell F5 , Jennifer Marlo . Halusimme etsiä ylhäältä alaspäin vuonna Opiskelijan nimi sarakkeeseen ja palauttaa " Ei löydy ", jos vastaavuutta ei löydy.

  • Osoitteessa XLOOKUP , sovelletaan kaavaa, joka on esitetty kohdassa Solu G5 .
=XLOOKUP(F5,C5:C16,D5:D16,"Not Found",0,1)

  • Osoitteessa INDEX-MATCH , käytä tätä kaavaa Solu G5 .
=INDEX(B5:D16,MATCH(F5,C5:C16,0),3)

Lue lisää: Kuinka sovittaa useita kriteerejä eri sarjoista Excelissä?

2. XLOOKUP ja INDEX-MATCH hakuarvon etsimiseen rivillä.

Näiden kahden toiminnon välillä on samankaltaisuutta myös tältä osin. Sillä XLOOKUP ja INDEX-MATCH ... lookup_array voi myös olla rivi molemmille funktioille. Esimerkkinä on uusi tietokokonaisuus, jossa on funktio Tunnukset , Nimet ja Fysiikan arvosanat ja Palkkaluokat .

Ajatellaanpa hetki, että kyseessä on hyvin laaja aineisto, emmekä tiedä, mikä on määrä Luokka sarakkeessa on. Tietyn oppilaan arvosanan selvittämiseksi meidän on käytettävä saraketta Otsikkorivi (B4:E4) lookup_array ja sana " Luokka " kuten lookup_value Voimme toteuttaa sen käyttämällä sekä XLOOKUP ja INDEX-MATCH .

  • Saadaksesi selville palkkaluokan 3. opiskelija ... XLOOKUP kaava on seuraavanlainen Solu G5 .
=XLOOKUP("Grade",B4:E4,B7:E7, "Not Found",0,1)

  • Tässä tapauksessa INDEX-MATCH kaava on:
=INDEX(B5:E16,3,MATCH("Arvosana",B4:E4,0))

3. XLOOKUP ja INDEX-MATCH, kun osumaa ei löydy

Nämä kaksi funktiota eroavat toisistaan tältä osin. Jos lookup_value ei vastaa mitään arvoa, joka on tallennettu lookup_array voit asettaa kiinteän arvon, joka palautetaan kohdassa XLOOKUP Sitä varten sinun on asetettava kyseinen arvo kohtaan if_not_found Toisaalta tällaista vaihtoehtoa ei ole kohdassa INDEX-MATCH Se palauttaa virheen. Sinun on käytettävä komentoa IFERROR-toiminto ulkopuolelta virheiden käsittelemiseksi. Annetusta datasarjasta selvitetään, mikä on Opiskelijan nimi ja ID 100 .

  • Käytä tähän seuraavia ohjeita XLOOKUP kaava Solu G5 .
=XLOOKUP(100,B5:B16,C5:C16,"Not Found",0,1)

  • Toisaalta sovelletaan tätä INDEX-MATCH kaava.
=INDEX(B5:E16,MATCH(100,B5:B16,0),2)

  • Koska se palauttaa virheen, sinun on käytettävä komentoa IFERROR funktio ulkopuolella käsittelemään tätä virhettä.
=IFERROR(INDEX(B5:E16,MATCH(100,B5:B16,0),2), "Ei löydy")

Samanlaisia lukemia

  • Excel INDEX MATCH palauttaa useita arvoja yhdessä solussa
  • Excel INDEX-MATCH -kaava useiden arvojen palauttamiseksi vaakasuunnassa
  • Kuinka käyttää INDEX-MATCH-kaavaa Excelissä useiden tulosten tuottamiseksi?
  • [Korjattu!] INDEX MATCH ei palauta oikeaa arvoa Excelissä (5 syytä)
  • Kuinka käyttää INDEX MATCHia VLOOKUPin sijasta Excelissä (3 tapaa)

4. XLOOKUP ja INDEX-MATCH likimääräisten vastaavuuksien tapauksessa

Nämä kaksi toimintoa ovat osittain samankaltaisia tältä osin. Toiminnossa XLOOKUP toiminto, jos lookup_value ei vastaa mitään arvoa lookup_array voit muuttaa kaavaa palauttamaan seuraavaksi pienemmän tai seuraavaksi suuremman arvon. Aseta argumentti match_type osoitteeseen -1 jos haluat seuraavaksi pienemmän arvon ja asetat sen arvoksi 1 jos haluat seuraavaksi suuremman arvon.

Löydämme esimerkiksi opiskelijan, jonka arvosana on 50 tai seuraavaksi suurempaan merkkiin.

  • Löydät arvon soveltamalla seuraavaa XLOOKUP kaava.
=XLOOKUP(50,D5:D16,C5:C16,"Not Found",1,1)

  • Kuten näette, ei ole yhtään oppilasta, jonka arvosana olisi ollut "-". 50 . Siksi se näyttää heti sen jälkeen tulevan. 50 , 51 by Desmond Hayes .

Sama vaihtoehto on myös INDEX-MATCH Puutteena on kuitenkin se, että sinun on lajiteltava lookup_array laskevaan järjestykseen, jos haluat seuraavaksi suuremman arvon. Muuten se palauttaa virheen. Ja jos haluat saada seuraavaksi pienemmän arvon, sinun on lajiteltava nousevaan järjestykseen.

  • Aseta tämä kaava ensin Solu G5 .
=INDEX(B5:E16,MATCH(50,D5:D16,-1),2)

  • Tuloksena näet, että tuloksessa näkyy #N/A virhe.
  • Siksi lajittele Solualue D5:D16 nousevassa järjestyksessä, niin saat oikean arvon.

Erityinen huomautus: Vuonna XLOOKUP toiminto, -1 toimii seuraavaksi pienemmälle arvolle, mutta INDEX-MATCH , -1 toimii seuraavaksi suuremmalle arvolle. Vastaavasti kohdassa XLOOKUP funktiossa 1 toimii seuraavaksi suuremmalle arvolle, mutta INDEX-MATCH-funktiossa, 1 toimii seuraavaksi pienemmälle arvolle.

Lue lisää: INDEXin ja Matchin käyttäminen osittaiseen täsmäämiseen (2 tapaa)

5. XLOOKUP ja INDEX-MATCH jokerimerkkien yhteensovittamisen tapauksessa

Nämä kaksi toimintoa ovat samankaltaisia tässä suhteessa. XLOOKUP ja INDEX-MATCH , molemmat tukevat Wildcards . Täällä, me löydämme kaikki opiskelijat, joilla on" Marlo " toisena nimenä. Seurataan alla olevia vaiheita nähdäksemme seuraavat asiat XLOOKUP vs INDEX-MATCH vertailu.

  • Ensinnäkin, sovelletaan tätä XLOOKUP kaava Solu G5 saadaksesi tulosteen.
=XLOOKUP("*Marlo*",C5:C16,C5:C16,"Not Found",2,1)

Huom: Jos haluat käyttää jokerimerkkejä XLOOKUP , sinun on asetettava match_type argumentti 2 Muuten se ei toimi.

  • Toisaalta INDEX-MATCH kaava saman tehtävän suorittamiseksi on seuraavanlainen.
=INDEX(B5:E16,MATCH("*Marlo*",C5:C16,0),2)

Lue lisää: INDEX MATCH useita kriteerejä jokerimerkillä Excelissä (täydellinen opas)

6. XLOOKUP ja INDEX-MATCH Kun useat arvot vastaavat hakuarvoa

Tämä esimerkki osoittaa XLOOKUP vs INDEX-MATCH kun useat arvot vastaavat hakuarvoa. Myös tässä suhteessa näiden kahden toiminnon välillä on osittainen samankaltaisuus. XLOOKUP ja INDEX-MATCH molemmat palauttavat vain yhden arvon, jos useita arvoja on useissa lookup_array vastaa lookup_value . Mutta XLOOKUP funktiolla voit muokata hakua siten, että saat joko ensimmäisen tai viimeisen vastaavuuden. Jos haluat saada ensimmäisen vastaavan arvon, aseta arvoksi search_type argumentti 1 . Ja saadaksesi viimeisen vastaavan arvon, aseta arvoarvo search_type argumentti -1 . Mutta INDEX-MATCH sinulla ei ole valinnanvaraa. Saat vain ensimmäisen vastaavan arvon.

  • Saadakseen ensimmäisen opiskelijan, joka sai 100 , voit käyttää tätä XLOOKUP kaava Solu G5 .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,1)

  • Yhdessä sen kanssa, saat viimeisen oppilaan kanssa 100 käyttämällä tätä XLOOKUP kaava.
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,-1)

  • Päinvastoin, saat vain ensimmäisen arvon, joka täsmää tähän INDEX-MATCH kaava.
=INDEX(B5:E16,MATCH(100,D5:D16,0),2)

7. XLOOKUP ja INDEX-MATCH useiden hakuarvojen tapauksessa

Tässä esimerkissä osoitetaan XLOOKUP vs INDEX-MATCH jos hakuarvoja on useita. Näiden kahden toiminnon välillä on tässä suhteessa samankaltaisuutta. Molemmat sallivat useiden hakuarvojen käytön. lookup_values (Array Formula).

  • Sillä XLOOKUP toiminto, seuraava kaava toimii.
=XLOOKUP(G5:G8,B5:B16,E5:E16,"Not Found",0,1)

  • Sitten, kun INDEX-MATCH , myös seuraava toiminto toimii.
=INDEX(B5:E16,MATCH(G5:G8,B5:B16,0),4)

XLOOKUP-funktion edut ja haitat

On olemassa tiettyjä etuja ja haittoja, jotka liittyvät siihen, että käytetään XLOOKUP Katsotaanpa niitä lyhyesti.

Edut

  • Määritä oletusarvo, jos tapauksia ei löydy.
  • Voi etsiä likimääräisiä vastauksia lajittelematta lookup_array .
  • Pääsy hakuun sekä ensimmäisestä että viimeisestä solusta. lookup_array .

Haitat

  • Toimii hitaammin kuin INDEX-MATCH toiminto.
  • Saatavana Office 365 vain.

INDEX-MATCH-toimintojen edut ja haitat

The INDEX-MATCH toiminnot saivat myös joitakin seuraavista eduista ja haitoista.

Edut

  • Toimii nopeammin kuin XLOOKUP toiminto.
  • Saatavilla vanhassa Excel versiot.

Haitat

  • Ei voi käsitellä virheitä, kun vastaavuutta ei löydy.
  • Tarvitsee lookup_array lajitellaan likimääräisten vastaavuuksien löytämiseksi.
  • Palauttaa vain ensimmäisen arvon, kun useampi arvo vastaa määritettä lookup_value .

Päätelmä

Lopuksi olemme pitkän artikkelimme lopussa. Yritimme tässä luoda vertailevan analyysin, joka koskee XLOOKUP vs. INDEX-MATCH toiminnot Excelissä. Kerro meille oivaltavat ehdotuksesi tästä. Seuraa. ExcelWIKI lisää opetusohjelmia.

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.