Змест
Сёння я правяду параўнальны аналіз функцый XLOOKUP і INDEX-MATCH у Excel . У больш ранніх версіях Excel мы выкарыстоўвалі функцыі HLOOKUP , VLOOKUP і INDEX-MATCH для пошуку пэўнае значэнне ў дыяпазоне вочак. Аднак са з'яўленнем Office 365 Excel даў нам новую дынамічную функцыю пад назвай XLOOKUP для больш складанага выканання падобнай аперацыі. У гэтым артыкуле я паспрабую параўнаць шырока выкарыстоўваюцца функцыі, XLOOKUP і INDEX-MATCH .
Спампаваць Практычны сшытак
Атрымайце гэты ўзор файла для лепшага разумення.
XLOOKUP супраць INDEX-MATCH Functions.xlsx
Уводзіны ў функцыю XLOOKUP
Функцыя XLOOKUP выкарыстоўваецца для пошуку пэўнага значэння ў дыяпазоне вочак або масіве. Пасля гэтага ён вяртае адпаведнае першае супадзенне. Ён таксама паказвае найбольш блізкае або прыблізнае супадзенне, калі дакладнага супадзення няма.
Сінтаксіс:
=XLOOKUP(значэнне_пошуку,масіў_пошуку,масіў_вяртання,[калі_не_знойдзена] ,[match_mode],[search_mode])
Аргументы:
- Lookup_value : гэта значэнне, якое мы пошук у пэўным слупку дыяпазону.
- Lookup_array : гэта масіў, у якім мы шукаем lookup_value . Можа быць як шэрагам, так іпершы або апошні матч. Каб атрымаць першае адпаведнае значэнне, усталюйце для аргумента search_type 1 . А каб атрымаць апошняе адпаведнае значэнне, усталюйце для аргумента search_type -1 . Але ў INDEX-MATCH у вас няма выбару. Вы атрымаеце толькі першае адпаведнае значэнне.
- Каб атрымаць першага студэнта, які атрымаў 100 , вы можаце выкарыстоўваць гэту формулу XLOOKUP у Ячэйка G5 .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,1)
- Разам з ёй вы атрымаеце апошняга студэнта з 100 з дапамогай гэтай формулы XLOOKUP .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,-1)
- Наадварот, вы атрымаеце толькі першае значэнне, якое адпавядае гэтай формуле INDEX-MATCH .
=INDEX(B5:E16,MATCH(100,D5:D16,0),2)
7. XLOOKUP і INDEX-MATCH у выпадку некалькіх пошукавых значэнняў
У гэтым прыкладзе мы прадэманструем XLOOKUP супраць INDEX-MATCH у выпадку некалькіх значэнняў пошуку. У гэтым плане існуе падабенства паміж дзвюма функцыямі. Абодва дазваляюць некалькі lookup_values (формула масіву).
- Для функцыі XLOOKUP працуе наступная формула.
=XLOOKUP(G5:G8,B5:B16,E5:E16,"Not Found",0,1)
- Тады для INDEX-MATCH таксама будзе працаваць наступная функцыя.
=INDEX(B5:E16,MATCH(G5:G8,B5:B16,0),4)
Перавагі & Недахопы функцыі XLOOKUP
Ёсць пэўныя перавагі і недахопы выкарыстання функцыі XLOOKUP . Давайце паглядзім іх коратка.
Перавагі
- Устанавіць значэнне па змаўчанні для адсутнасці супадаючых выпадкаў.
- Можа шукаць прыблізныя супадзенні без сартавання lookup_array .
- Мець доступ для пошуку як з першай, так і з апошняй ячэйкі lookup_array .
Недахопы
- Працуе павольней, чым INDEX-MATCH Функцыя .
- Даступна толькі ў Office 365 .
Перавагі & Недахопы функцый INDEX-MATCH
Функцыя INDEX-MATCH таксама мае некаторыя з наступных плюсаў і мінусаў.
Перавагі
- Працуе хутчэй, чым функцыя XLOOKUP .
- Даступна ў старых Excel версіях.
Недахопы
- Немагчыма апрацаваць памылкі, калі супадзенне не знойдзена.
- Неабходна lookup_array адсартаваць для прыблізных супадзенняў.
- Вяртае толькі першае значэнне, калі некалькі значэнняў супадаюць з lookup_value .
Выснова
Нарэшце, мы падышлі да канца нашага доўгага артыкула. Тут мы паспрабавалі правесці параўнальны аналіз функцый XLOOKUP у параўнанні з INDEX-MATCH у Excel. Дайце нам ведаць вашыя праніклівыя прапановы па гэтым пытанні. Сачыце за ExcelWIKI для атрымання дадатковых падручнікаў.
слупок.Неабавязковыя аргументы:
- If_not_found : гэта значэнне, якое будзе вернута ў выпадку, калі lookup_array не мае lookup_value.
- Match_mode : гэта лічба, якая пазначае тып супадзення жаданага lookup_value . Гэта неабавязковы аргумент. Ён можа ўтрымліваць чатыры значэнні.
- Калі ён роўны 0 , XLOOKUP будзе шукаць дакладнае супадзенне (па змаўчанні).
- Калі гэта 1 , XLOOKUP спачатку будзе шукаць дакладнае супадзенне. Калі дакладнае супадзенне не знойдзена, яно будзе адпавядаць наступнаму меншаму значэнню.
- Калі -1 , XLOOKUP спачатку будзе шукаць дакладнае супадзенне. Калі дакладнае супадзенне не знойдзена, яно будзе адпавядаць наступнаму большаму значэнню.
- Калі яно роўна 2 , XLOOKUP спачатку будзе шукаць прыблізнае супадзенне з выкарыстаннем падстаноўных знакаў ( Дастасавальна толькі для значэнняў пошуку ў радку).
- Рэжым_пошуку : гэта лік, які пазначае тып аперацыі пошуку, якая выконваецца ў масіве_пошуку. Гэта таксама неабавязкова. Ён таксама можа мець чатыры значэнні:
- Калі гэта 1 , XLOOKUP будзе шукаць зверху ўніз у lookup_array (па змаўчанні).
- Калі гэта -1 , XLOOKUP будзе шукаць знізу ўверх у
- Калі гэта 2 , XLOOKUP правядзе aдвайковы пошук у парадку ўзрастання.
- Калі -2 , XLOOKUP будзе праводзіць двайковы пошук у парадку змяншэння.
Уводзіны да функцый INDEX-MATCH
Камбінацыя функцый INDEX-MATCH выкарыстоўваецца для атрымання значэння з зададзенага месца і супастаўлення яго з зыходным дыяпазонам.
Сінтаксіс:
=ІНДЭКС(масіў,СУПАВЕДЗЕННЕ(значэнне_прагляду,масіў_супадзення,тып_супадзення),нумар_слупка)
Аргументы:
Для функцыі INDEX:
- Масіў : гэта дыяпазон ячэек, з якіх мы хочам атрымаць значэнне.
- MATCH(lookup_value,lookup_array,match_type): Гэта нумар радка дыяпазону, дзе lookup_value супадае з пэўным значэннем у lookup_array .
- No_of_column: Гэта нумар слупка масіва, з якога мы хочам вярнуць значэнне, адпаведнае lookup_value .
Для функцыі MATCH:
- Lookup_value: Гэта значэнне, якое мы шукаем.
- Looku p_array: Гэта масіў, у якім мы шукаем lookup_value . Гэта можа быць як радок, так і слупок.
- Тып_супадзення: Гэта цэлае лік, якое пазначае тып супадзення, якое мы шукаем. Гэта неабавязкова.
- Калі -1 , MATCH спачатку будзе шукаць дакладнае супадзенне. Калі дакладнае супадзенне не знойдзена, будзе шукацца наступнае большае значэнне (па змаўчанні)(супрацьлегласць XLOOKUP ).
Але ўмова заключаецца ў тым, што масіў_прагляду павінен быць адсартаваны ў парадку ўзрастання. У адваротным выпадку будзе паказана памылка.
- Калі гэта 1 , MATCH таксама спачатку будзе шукаць дакладнае супадзенне. У выпадку, калі дакладнае супадзенне не знойдзена, будзе шукацца наступнае меншае значэнне (супрацьлеглае XLOOKUP ).
Але ўмова заключаецца ў тым, што lookup_array на гэты раз трэба адсартаваць у парадку змяншэння. У адваротным выпадку будзе паказана памылка.
- Калі 0 , MATCH будзе шукаць дакладнае супадзенне.
Больш падрабязна: Як выбраць пэўныя даныя ў Excel (6 метадаў)
7 параўнанняў паміж выкарыстаннем функцый XLOOKUP і INDEX-MATCH
Цяпер мы разбілі формулу, давайце абмяркуем некаторыя падабенствы і адрозненні паміж дзвюма функцыямі. Перш чым перайсці да асноўных абмеркаванняў, я пакажу асноўныя моманты ў табліцы для вашай зручнасці.
Пункт абмеркавання | Падабенства/непадабенства | Тлумачэнне |
Падабенства_масіва | Падабенства | Абодва падтрымліваюць слупок як lookup_array. |
Row lookup_array | Падабенства | Абодва падтрымліваюць радок як lookup_array. |
Няма супадзення lookup_value | Непадабенства | XLOOKUP мае параметр налады па змаўчанні для адсутнасці супадзенняшуканае_значэнне. Але INDEX-MATCH не мае. |
Прыблізнае супадзенне | Частковае падабенства | XLOOKUP можа знайсці наступнае меншае або наступнае большае значэнне, калі няма дакладнага супадзення. INDEX-MATCH таксама можа зрабіць гэта, але lookup_array павінен быць адсартаваны ў парадку ўзрастання або змяншэння. |
Супадзенне падстаноўных знакаў | Падабенства | Абодва падтрымліваюць супадзенне падстаноўных знакаў. |
Супадзенне некалькіх значэнняў | Частковае падабенства | XLOOKUP можа знайсці альбо першае або апошняе значэнне, калі супадае некалькі значэнняў. Але INDEX-MATCH можа вярнуць толькі першае адпаведнае значэнне. |
Формула масіва | Падабенства | Абодва падтрымліваюць масіў формула. |
1. XLOOKUP і INDEX-MATCH для пошукавага значэння ў слупку
У гэтым аспекце паміж дзвюма функцыямі ёсць падабенства. Для XLOOKUP і INDEX-MATCH , lookup_array можа быць слупком для абедзвюх функцый. Тут мы шукаем дакладныя адзнакі па фізіцы імя студэнта ў C ell F5 , Джэніфер Марла . Мы хацелі правесці пошук зверху ўніз у слупку Імя студэнта і вярнуць « Не знойдзена », калі супадзенне не знойдзена.
- Для XLOOKUP , прымяніце формулу ў Cell G5 .
=XLOOKUP(F5,C5:C16,D5:D16,"Not Found",0,1)
- Для INDEX-MATCH выкарыстоўвайце гэту формулу ў CellG5 .
=INDEX(B5:D16,MATCH(F5,C5:C16,0),3)
Больш падрабязна: Як супаставіць некалькі крытэрыяў з розных масіваў у Excel
2. XLOOKUP і INDEX-MATCH да пошукавага значэння ў радку
У гэтым аспекце паміж дзвюма функцыямі таксама ёсць падабенства . Для XLOOKUP і INDEX-MATCH lookup_array таксама можа быць радком для абедзвюх функцый. Для ілюстрацыі ў нас ёсць новы набор даных з ідэнтыфікатарамі , імёнамі і адзнакамі па фізіцы і ацэнкамі .
Давайце на імгненне разгледзім, што гэта вельмі шырокі набор даных, і мы не ведаем, які нумар у слупку Ацэнка . Затым, каб даведацца ацэнку канкрэтнага студэнта, мы павінны выкарыстоўваць Радок загалоўка (B4:E4) у якасці масіва пошуку і слова « Ацэнка » у якасці значэння пошуку . Мы можам зрабіць гэта з дапамогай XLOOKUP і INDEX-MATCH .
- Каб даведацца пра адзнаку 3-га студэнта , формула XLOOKUP будзе такой у Cell G5 .
=XLOOKUP("Grade",B4:E4,B7:E7,"Not Found",0,1)
- У гэтым выпадку формула INDEX-MATCH будзе:
=INDEX(B5:E16,3,MATCH("Grade",B4:E4,0))
3. XLOOKUP і INDEX-MATCH, калі супадзенняў не знойдзена
Гэтыя дзве функцыі адрозніваюцца ў гэтым аспекце. Калі lookup_value не адпавядае ніводнаму значэнню ў lookup_array , вы можаце ўсталяваць фіксаванае значэнне, якое будзе вяртацца ў XLOOKUP . Каб зрабіць гэта, вы павінны ўсталяваць гэтазначэнне ў аргуменце if_not_found . З іншага боку, такой опцыі няма ў INDEX-MATCH . Ён верне памылку. Вы павінны выкарыстоўваць функцыю IFERROR звонку, каб апрацаваць памылку. У дадзеным наборы даных мы знойдзем імя студэнта з ідэнтыфікатарам 100 .
- Для гэтага выкарыстоўвайце наступную формулу XLOOKUP у Ячэйка G5 .
=XLOOKUP(100,B5:B16,C5:C16,"Not Found",0,1)
- З іншага боку, прымяніце гэта INDEX-MATCH формула.
=INDEX(B5:E16,MATCH(100,B5:B16,0),2)
- Паколькі яна вяртае памылку, вы трэба выкарыстоўваць IFERROR функцыю звонку, каб апрацаваць гэтую памылку.
=IFERROR(INDEX(B5:E16,MATCH(100,B5:B16,0),2),"Not Found")
Падобныя паказанні
- Excel INDEX MATCH для вяртання некалькіх значэнняў у адной ячэйцы
- Excel INDEX-MATCH Формула для вяртання некалькіх значэнняў Па гарызанталі
- Як выкарыстоўваць формулу INDEX-MATCH у Excel для генерацыі некалькіх вынікаў
- [Выпраўлена!] INDEX MATCH не вяртае правільнае значэнне ў Excel (5 прычын)
- Як выкарыстоўваць INDEX MATCH замест VLOOKUP у Excel (3 спосабы)
4. XLOOKUP і INDEX-MATCH у Выпадак прыблізных супадзенняў
У гэтым аспекце паміж дзвюма функцыямі ёсць частковае падабенства. У функцыі XLOOKUP , калі lookup_value не адпавядае ніводнаму значэнню ў lookup_array , вы можаце змяніць формулу, каб вярнуць наступнае меншае або наступнае большае значэнне . Усталюйце аргумент match_type да -1 калі вы хочаце наступнае меншае значэнне і ўсталюйце яго ў 1 калі вы хочаце наступнае большае значэнне.
Напрыклад , мы знойдзем студэнта з адзнакай 50 або наступнай большай адзнакай.
- Каб знайсці значэнне, прымяніце гэту формулу XLOOKUP .
=XLOOKUP(50,D5:D16,C5:C16,"Not Found",1,1)
- Як бачыце, няма ніводнага студэнта з адзнакай 50 . Вось чаму ён паказвае адразу пасля 50 , 51 ад Дэзманда Хэйза .
Такая ж опцыя ёсць у Формула INDEX-MATCH . Але недахоп у тым, што вы павінны сартаваць lookup_array у парадку змяншэння, калі вы хочаце наступнае большае значэнне. У адваротным выпадку ён верне памылку. А каб атрымаць наступнае меншае значэнне, трэба сартаваць у парадку ўзрастання.
- Перш за ўсё, устаўце гэту формулу ў Вочка G5 .
=INDEX(B5:E16,MATCH(50,D5:D16,-1),2)
- У выніку вы ўбачыце, што вынік паказвае памылку #N/A .
- Такім чынам, адсартуйце дыяпазон вочак D5:D16 у парадку ўзрастання, і вы атрымаеце правільнае значэнне.
Асаблівая заўвага:У функцыі XLOOKUP -1працуе для наступнага меншага значэння, але ў INDEX-MATCH, -1працуе для наступнага большага значэння. Падобным чынам у функцыі XLOOKUP1 працуе для наступнага большага значэння, але ў INDEX-MATCH 1працуе для наступнага меншага значэння.
Больш падрабязна: Як выкарыстоўвацьINDEX і супадзенне для частковага супадзення (2 спосабы)
5. XLOOKUP і INDEX-MATCH у выпадку супадзення падстаноўных знакаў
У гэтым аспекце паміж дзвюма функцыямі ёсць падабенства. XLOOKUP і INDEX-MATCH абодва падтрымліваюць знакі падстаноўкі . Тут мы знойдзем любога студэнта з « Марла » у якасці другога імя. Давайце выканаем крокі ніжэй, каб убачыць параўнанне XLOOKUP з INDEX-MATCH .
- Па-першае, прымяніце гэту формулу XLOOKUP у Ячэйка G5 для атрымання вываду.
=XLOOKUP("*Marlo*",C5:C16,C5:C16,"Not Found",2,1)
Заўвага:Каб выкарыстоўваць падстаноўныя знакі ў XLOOKUP, вы павінны ўсталяваць аргумент match_typeу 2. Інакш гэта не спрацуе.
- З іншага боку, формула INDEX-MATCH для выканання той жа задачы будзе такой.
=INDEX(B5:E16,MATCH("*Marlo*",C5:C16,0),2)
Дадатковая інфармацыя: ІНДЭКСНАЕ СУПАДЗЕННЕ Некалькі крытэрыяў з падстаноўкай у Excel (поўнае кіраўніцтва )
6. XLOOKUP і INDEX-MATCH, калі некалькі значэнняў супадаюць з пошукавым значэннем
Гэты прыклад паказвае XLOOKUP супраць INDEX-MATCH калі некалькі значэнняў адпавядаюць значэнню пошуку. У гэтым плане таксама існуе частковае падабенства паміж дзвюма функцыямі. XLOOKUP і INDEX-MATCH вяртаюць толькі адно значэнне ў выпадку, калі некалькі значэнняў у lookup_array супадаюць з lookup_value . Але ў функцыі XLOOKUP вы можаце змяніць пошук, каб атрымаць альбо