XLOOKUP vs INDEX-MATCH "Excel" (visi galimi palyginimai)

  • Pasidalinti
Hugh West

Šiandien atliksiu lyginamąją analizę XLOOKUP prieš INDEX-MATCH funkcijos svetainėje "Excel" . Ankstesnėse versijose "Excel" , mes naudojome HLOOKUP . VLOOKUP , ir INDEX-MATCH funkcijų, kad būtų galima ieškoti konkrečios reikšmės langelių intervale. Tačiau atsiradus "Office 365 , "Excel" mums suteikė naują ir dinamišką funkciją, vadinamą XLOOKUP funkciją, kad panašią operaciją būtų galima atlikti sudėtingiau. Šiame straipsnyje pabandysiu palyginti plačiai naudojamas funkcijas, pvz. XLOOKUP ir INDEX-MATCH .

Atsisiųsti praktikos sąsiuvinį

Kad geriau suprastumėte, gaukite šį pavyzdinį failą.

XLOOKUP ir INDEX-MATCH funkcijos.xlsx

Įvadas į XLOOKUP funkciją

Svetainė XLOOKUP Funkcija naudojama konkrečiai vertei surasti langelių diapazone arba masyve. Po to ji grąžina atitinkamą pirmąjį atitikmenį. Ji taip pat rodo artimiausią arba apytikslį atitikmenį, kai nėra tikslaus atitikmens.

Sintaksė:

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

Argumentai:

  • Lookup_value : Tai vertė, kurios ieškome konkrečiame diapazono stulpelyje.
  • Lookup_array : Tai masyvas, kuriame ieškome lookup_value . Gali būti ir eilutė, ir stulpelis.
  • Return_array: Tai stulpelis, iš kurio gaunama atitinkama reikšmė lookup_value bus grąžintas.

Neprivalomi argumentai:

  • If_not_found : Tai vertė, kuri bus grąžinta, jei lookup_array neturi lookup_value.
  • Match_mode : Tai skaičius, rodantis, kokio tipo atitikmuo atitinka lookup_value Tai neprivalomas argumentas. Jame gali būti keturios reikšmės.
  1. Kai jis yra 0 , XLOOKUP bus ieškoma tikslaus atitikmens (numatytasis nustatymas).
  2. Kai jis yra 1 , XLOOKUP pirmiausia bus ieškoma tikslaus atitikmens. Jei tikslaus atitikmens nerandama, bus ieškoma kitos mažesnės reikšmės.
  3. Kai jis yra -1 , XLOOKUP pirmiausia bus ieškoma tikslaus atitikmens. Jei tikslaus atitikmens nerandama, bus ieškoma kitos didesnės reikšmės.
  4. Kai jis yra 2 , XLOOKUP pirmiausia bus ieškoma apytikslio atitikmens, naudojant pakaitinius simbolius (taikoma tik eilutės paieškos reikšmėms).
  • Paieškos_režimas : Tai skaičius, žymintis paieškos operacijos, atliktos su lookup_array, tipą. Jis taip pat neprivalomas. Jis taip pat gali turėti keturias reikšmes:
  1. Jei tai yra 1 , XLOOKUP bus ieškoma iš viršaus į apačią lookup_array (Numatytoji reikšmė).
  2. Kai jis yra -1 , XLOOKUP bus ieškoma iš apačios į viršų
  3. Jei tai yra 2 , XLOOKUP bus atliekama dvejetainė paieška didėjančia tvarka.
  4. Kai jis yra -2 , XLOOKUP bus atliekama dvejetainė paieška mažėjančia tvarka.

Įvadas į INDEX-MATCH funkcijas

Derinys INDEX-MATCH funkcijos naudojamos vertei iš tam tikros vietos paimti ir suderinti ją su šaltinio diapazonu.

Sintaksė:

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

Argumentai:

INDEX funkcijai:

  • Masyvas : Tai ląstelių, iš kurių norime išgauti vertę, intervalas.
  • MATCH(lookup_value,lookup_array,match_type): Tai diapazono, kuriame lookup_value atitinka konkrečią reikšmę lookup_array .
  • No_of_column: Tai yra masyvo stulpelio, iš kurio norime grąžinti reikšmę, atitinkančią lookup_value .

Funkcijos MATCH atveju:

  • Lookup_value: Mes ieškome vertės.
  • Lookup_array: Tai masyvas, kuriame ieškome lookup_value Tai gali būti ir eilutė, ir stulpelis.
  • Match_type: Tai sveikasis skaičius, žymintis ieškomo atitikmens tipą. Tai neprivaloma.
  1. Kai jis yra -1 , MATCH pirmiausia bus ieškoma tikslaus atitikmens. Jei tikslaus atitikmens nerandama, bus ieškoma kitos didesnės reikšmės (Numatytoji) (priešingai nei XLOOKUP ).

Tačiau sąlyga yra ta, kad lookup_array turi būti surūšiuoti didėjančia tvarka. Priešingu atveju bus rodoma klaida.

  1. Kai jis yra 1 , MATCH taip pat pirmiausia bus ieškoma tikslaus atitikmens. Jei tikslaus atitikmens nerandama, bus ieškoma kitos mažesnės reikšmės (priešingai nei XLOOKUP ).

Tačiau sąlyga yra ta, kad lookup_array šį kartą turi būti surūšiuota mažėjančia tvarka. Priešingu atveju bus rodoma klaida.

  1. Kai jis yra 0 , MATCH bus ieškoma tikslaus atitikmens.

Skaityti daugiau: Kaip "Excel" programoje pasirinkti konkrečius duomenis (6 metodai)

7 XLOOKUP ir INDEX-MATCH funkcijų naudojimo palyginimai

Dabar, kai suskaidėme formulę, aptarkime kai kuriuos abiejų funkcijų panašumus ir skirtumus. Prieš pereidamas prie pagrindinių diskusijų, jūsų patogumui pagrindinius punktus pateikiu lentelėje.

Diskusijų punktas Panašumas / nepanašumas Paaiškinimas
Stulpelių paieškos masyvas Panašumas Abi palaiko stulpelį kaip lookup_array.
Eilutė lookup_array Panašumas Abu palaiko eilutę kaip lookup_array.
Nėra lookup_value atitikimo Skirtingumas XLOOKUP turi numatytąją sąrankos parinktį nesutapatinti lookup_value. Tačiau INDEX-MATCH jos neturi.
Apytikslis atitikimas Dalinis panašumas XLOOKUP gali rasti kitą mažesnę arba kitą didesnę reikšmę, kai nėra tikslaus atitikmens. INDEX-MATCH taip pat gali tai padaryti, tačiau lookup_array turi būti surūšiuotas didėjimo arba mažėjimo tvarka.
Atitinkantys užkardos ženklai Panašumas Abi palaiko suderinamus pakaitinius simbolius.
Kelių verčių atitikimas Dalinis panašumas Kai sutampa kelios reikšmės, XLOOKUP gali sužinoti pirmąją arba paskutinę reikšmę. Tačiau INDEX-MATCH gali grąžinti tik pirmąją sutampančią reikšmę.
Masyvo formulė Panašumas Abi palaiko masyvo formulę.

1. XLOOKUP ir INDEX-MATCH stulpelio vertei surasti

Šiuo aspektu abi funkcijos yra panašios. XLOOKUP ir INDEX-MATCH , lookup_array gali būti abiejų funkcijų stulpelis. Čia ieškome tikslaus Žymos iš fizikos mokinio vardo ir pavardės C F5 , Jennifer Marlo . Norėjome ieškoti nuo viršaus iki apačios Mokinio vardas ir pavardė stulpelį ir grąžinti " Nerastas ", jei nebuvo rasta atitikmenų.

  • Tinklalapiui XLOOKUP , taikykite formulę, pateiktą Ląstelė G5 .
=XLOOKUP(F5,C5:C16,D5:D16,"Not Found",0,1)

  • Tinklalapiui INDEX-MATCH , naudokite šią formulę Ląstelė G5 .
=INDEX(B5:D16,MATCH(F5,C5:C16,0),3)

Skaityti daugiau: Kaip "Excel" programoje suderinti kelis kriterijus iš skirtingų masyvų

2. XLOOKUP ir INDEX-MATCH eilutės vertei surasti

Šiuo aspektu abi funkcijos taip pat yra panašios. XLOOKUP ir INDEX-MATCH . lookup_array taip pat gali būti abiejų funkcijų eilutė. Pavyzdžiui, turime naują duomenų rinkinį su Identifikatoriai , Vardai , ir Žymos iš fizikos ir Klasės .

Akimirką pagalvokime, kad tai yra labai platus duomenų rinkinys ir mes nežinome, koks skaičius Klasė Tada, norėdami sužinoti konkretaus mokinio įvertinimą, turime naudoti Antraštės eilutė (B4:E4) kaip lookup_array ir žodį " Klasė " kaip lookup_value . Galime tai padaryti naudodami ir XLOOKUP ir INDEX-MATCH .

  • Norėdami sužinoti, koks yra 3-iasis studentas . XLOOKUP formulė bus tokia Ląstelė G5 .
=XLOOKUP("Klasė",B4:E4,B7:E7, "Nerastas",0,1)

  • Šiuo atveju INDEX-MATCH formulė bus tokia:
=INDEX(B5:E16,3,MATCH("Klasė",B4:E4,0))

3. XLOOKUP ir INDEX-MATCH, kai nerandama atitikmenų

Šios dvi funkcijos šiuo aspektu yra nepanašios. Jei lookup_value nesutampa su jokia reikšme, esančia lookup_array , galite nustatyti fiksuotą vertę, kuri bus grąžinama XLOOKUP Norėdami tai padaryti, turite nustatyti šią vertę if_not_found Kita vertus, tokios galimybės nėra INDEX-MATCH . Bus grąžinta klaida. Turite naudoti funkcija IFERROR išorėje tvarkyti klaidą. Pateiktame duomenų rinkinyje išsiaiškinsime Mokinio vardas su ID 100 .

  • Šiuo tikslu naudokite šiuos veiksmus. XLOOKUP formulė Ląstelė G5 .
=XLOOKUP(100,B5:B16,C5:C16,"Not Found",0,1)

  • Kita vertus, taikykite šį INDEX-MATCH formulė.
=INDEX(B5:E16,MATCH(100,B5:B16,0),2)

  • Kadangi jis grąžina klaidą, turite naudoti IFERROR funkcija, skirta šiai klaidai tvarkyti.
=IFERROR(INDEX(B5:E16,MATCH(100,B5:B16,0),2), "Nerastas")

Panašūs skaitiniai

  • "Excel" INDEX MATCH, kad vienoje ląstelėje būtų grąžintos kelios vertės
  • "Excel" INDEX-MATCH formulė kelioms vertėms horizontaliai grąžinti
  • Kaip naudoti INDEX-MATCH formulę programoje "Excel", kad būtų generuojami keli rezultatai
  • [Pataisyta!] INDEX MATCH negrąžina teisingos vertės "Excel" programoje (5 priežastys)
  • Kaip naudoti INDEX MATCH vietoj VLOOKUP programoje "Excel" (3 būdai)

4. XLOOKUP ir INDEX-MATCH apytikslių atitikmenų atveju

Šiuo aspektu šios dvi funkcijos iš dalies panašios. XLOOKUP funkciją, jei lookup_value nesutampa su jokia reikšme, esančia lookup_array , galite pakeisti formulę, kad būtų grąžinama kita mažesnė arba kita didesnė reikšmė. Nustatykite argumentą match_type į -1 jei norite gauti kitą mažesnę reikšmę, ir nustatykite ją į 1 jei norite gauti kitą didesnę reikšmę.

Pavyzdžiui, sužinosime, kad mokinys, kurio balas yra 50 arba kitą didesnį ženklą.

  • Norėdami rasti vertę, naudokite šią formulę XLOOKUP formulė.
=XLOOKUP(50,D5:D16,C5:C16,"Not Found",1,1)

  • Kaip matote, nėra nė vieno mokinio, kurio pažymys būtų 50 . Štai kodėl rodoma iš karto po 50 , 51 pagal Desmond Hayes .

Tokia pati parinktis yra ir INDEX-MATCH Tačiau trūkumas yra tas, kad jei norite gauti kitą didesnę reikšmę, turite surūšiuoti lookup_array mažėjimo tvarka. Priešingu atveju bus grąžinta klaida. O norėdami gauti kitą mažesnę reikšmę, turite surūšiuoti didėjimo tvarka.

  • Pirmiausia įterpkite šią formulę į Ląstelė G5 .
=INDEX(B5:E16,MATCH(50,D5:D16,-1),2)

  • Dėl to pamatysite, kad rezultatas rodo #N/A klaida.
  • Todėl rūšiuokite Ląstelių diapazonas D5:D16 didėjančia tvarka ir gausite teisingą vertę.

Speciali pastaba: Į XLOOKUP funkcija, -1 veikia kitai mažesnei vertei, bet INDEX-MATCH , -1 veikia kitai didesnei vertei. Panašiai veikia ir XLOOKUP funkcija 1 veikia kitai didesnei reikšmei, tačiau INDEX-MATCH, 1 veikia kitai mažesnei vertei.

Skaityti daugiau: Kaip naudoti INDEX ir Match daliniam atitikimui (2 būdai)

5. XLOOKUP ir INDEX-MATCH, kai sutinkami laukiniai ženklai

Šiuo aspektu šios dvi funkcijos yra panašios. XLOOKUP ir INDEX-MATCH , abu palaiko "Wildcards" . Čia mes išsiaiškinsime bet kurį mokinį, turintį " Marlo " kaip antrąjį pavadinimą. Atlikime toliau nurodytus veiksmus, kad pamatytume XLOOKUP prieš INDEX-MATCH palyginimas.

  • Pirma, taikykite šį XLOOKUP formulė Ląstelė G5 kad gautumėte išvestį.
=XLOOKUP("*Marlo*",C5:C16,C5:C16,"Not Found",2,1)

Pastaba: Jei norite naudoti pakaitinius simbolius XLOOKUP , turite nustatyti match_type argumentas 2 Priešingu atveju jis neveiks.

  • Kita vertus, INDEX-MATCH formulė tai pačiai užduočiai atlikti bus tokia.
=INDEX(B5:E16,MATCH("*Marlo*",C5:C16,0),2)

Skaityti daugiau: INDEX MATCH Keli kriterijai su "Wildcard" programoje "Excel" (išsamus vadovas)

6. XLOOKUP ir INDEX-MATCH, kai kelios vertės atitinka paieškos reikšmę

Šiame pavyzdyje parodyta XLOOKUP prieš INDEX-MATCH kai kelios reikšmės atitinka paieškos reikšmę. Šiuo atžvilgiu abi funkcijos taip pat yra iš dalies panašios. XLOOKUP ir INDEX-MATCH abu grąžina tik vieną reikšmę, jei kelios reikšmės lookup_array atitinka lookup_value . Tačiau XLOOKUP funkciją, galite pakeisti paiešką taip, kad gautumėte pirmąjį arba paskutinį atitikmenį. Norėdami gauti pirmąją atitikmenį, nustatykite search_type argumentas 1 . Ir norėdami gauti paskutinę reikšmę, kuri sutampa, nustatykite search_type argumentas -1 . Tačiau INDEX-MATCH neturite pasirinkimo. Gausite tik pirmąją reikšmę, kuri sutampa.

  • Norėdami gauti pirmąjį mokinį, kuris gavo 100 , galite naudoti šį XLOOKUP formulė Ląstelė G5 .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,1)

  • Kartu su juo gausite paskutinį mokinį su 100 naudodami šį XLOOKUP formulė.
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,-1)

  • Priešingai, gausite tik pirmąją reikšmę, atitinkančią šį INDEX-MATCH formulė.
=INDEX(B5:E16,MATCH(100,D5:D16,0),2)

7. XLOOKUP ir INDEX-MATCH kelių paieškos verčių atveju

Šiame pavyzdyje parodysime. XLOOKUP prieš INDEX-MATCH kai yra kelios paieškos reikšmės. Šiuo atžvilgiu abi funkcijos yra panašios. lookup_values (masyvo formulė).

  • Dėl XLOOKUP funkcija, veiks ši formulė.
=XLOOKUP(G5:G8,B5:B16,E5:E16,"Not Found",0,1)

  • Tada INDEX-MATCH taip pat veiks ši funkcija.
=INDEX(B5:E16,MATCH(G5:G8,B5:B16,0),4)

XLOOKUP funkcijos privalumai ir trūkumai

Yra tam tikrų privalumų ir trūkumų naudojant XLOOKUP funkcija. Trumpai juos apžvelkime.

Privalumai

  • Nustatykite numatytąją reikšmę, kai nėra atitikmenų.
  • Galima ieškoti apytikslių atitikmenų nerūšiuojant lookup_array .
  • Galimybė atlikti paiešką tiek iš pirmojo, tiek iš paskutiniojo langelio lookup_array .

Trūkumai

  • Veikia lėčiau nei INDEX-MATCH funkcija.
  • Galima įsigyti "Office 365 tik.

INDEX-MATCH funkcijų privalumai ir trūkumai

Svetainė INDEX-MATCH funkcijos taip pat turi kai kuriuos iš šių privalumų ir trūkumų.

Privalumai

  • Veikia greičiau nei XLOOKUP funkcija.
  • Galima įsigyti senajame "Excel" versijos.

Trūkumai

  • Negalima tvarkyti klaidų, kai nerandama atitikmenų.
  • Reikia lookup_array rūšiuoti, kad būtų galima rasti apytikslius atitikmenis.
  • Grąžinama tik pirmoji reikšmė, kai kelios reikšmės atitinka lookup_value .

Išvada

Pagaliau priėjome mūsų ilgo straipsnio pabaigą. Čia bandėme sukurti lyginamąją analizę XLOOKUP prieš INDEX-MATCH funkcijas "Excel" programoje. Praneškite mums savo įžvalgius pasiūlymus šiuo klausimu. Sekite ExcelWIKI daugiau vadovėlių.

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.