Съдържание
Днес ще направя сравнителен анализ на XLOOKUP срещу Функции INDEX-MATCH в Excel . В по-ранните версии на Excel , използвахме HLOOKUP . VLOOKUP , и INDEX-MATCH функции за търсене на конкретна стойност в диапазон от клетки. Обаче с появата на Office 365 , Excel ни предостави нова и динамична функция, наречена XLOOKUP функция за извършване на подобна операция по по-сложен начин. В тази статия ще се опитам да сравня широко използваните функции, а именно XLOOKUP и INDEX-MATCH .
Изтегляне на работна тетрадка за практика
Вземете този примерен файл за по-добро разбиране.
Функции XLOOKUP и INDEX-MATCH.xlsxВъведение във функцията XLOOKUP
Сайтът XLOOKUP Функцията се използва за намиране на конкретна стойност в рамките на диапазон от клетки или масив. След това тя връща съответното първо съвпадение. Тя показва и най-близкото или приблизително съвпадение, когато няма точно съвпадение.
Синтаксис:
=XLOOKUP(lookup_value,lookup_array,return_array,[if_not_found],[match_mode],[search_mode])
Аргументи:
- Lookup_value : Това е стойността, която търсим в конкретна колона на обхвата.
- Lookup_array : Това е масивът, в който търсим lookup_value . Може да бъде както ред, така и колона.
- Return_array: Това е колоната, от която е получена съответната стойност на lookup_value ще бъдат върнати.
Незадължителни аргументи:
- If_not_found : Това е стойността, която ще бъде върната в случай, че lookup_array няма стойност lookup_value.
- Match_mode : Това е число, обозначаващо типа на съвпадение на lookup_value Това е незадължителен аргумент. Той може да съдържа четири стойности.
- Когато е 0 , XLOOKUP ще търси точно съвпадение (по подразбиране).
- Когато е 1 , XLOOKUP Ако не бъде намерено точно съвпадение, ще бъде намерена следващата по-малка стойност.
- Когато е -1 , XLOOKUP Ако не бъде намерено точно съвпадение, ще бъде намерена следващата по-голяма стойност.
- Когато е 2 , XLOOKUP първо ще се търси приблизително съвпадение, като се използват заместващи символи (приложимо само за стойности за търсене на низове).
- Search_mode : Това е число, обозначаващо вида на операцията за търсене, извършена върху масива lookup_array. То също не е задължително. Може да има и четири стойности:
- Ако е 1 , XLOOKUP ще търси отгоре надолу в lookup_array (По подразбиране).
- Когато е -1 , XLOOKUP ще търси отдолу нагоре в
- Ако е 2 , XLOOKUP ще се извърши двоично търсене във възходящ ред.
- Когато е -2 , XLOOKUP ще се извърши двоично търсене в низходящ ред.
Въведение във функциите INDEX-MATCH
Комбинацията от INDEX-MATCH се използва за извличане на стойност от дадено място и сравняването ѝ с изходния диапазон.
Синтаксис:
=INDEX(array,MATCH(lookup_value,lookup_array,match_type),no_of_column)
Аргументи:
За функцията INDEX:
- Масив : Това е диапазон от клетки, от който искаме да извлечем стойност.
- MATCH(lookup_value,lookup_array,match_type): Това е номерът на реда от диапазона, в който lookup_value съвпада с конкретна стойност в lookup_array .
- No_of_column: Това е номерът на колоната от масива, от която искаме да върнем стойност, съответстваща на lookup_value .
За функцията MATCH:
- Lookup_value: Това е стойността, която търсим.
- Lookup_array: Това е масивът, в който търсим lookup_value Тя може да бъде както ред, така и колона.
- Match_type: Това е цяло число, обозначаващо типа на търсеното съвпадение. Не е задължително.
- Когато е -1 , MATCH първо ще търси точно съвпадение. В случай че не бъде намерено точно съвпадение, ще се търси следващата по-голяма стойност (по подразбиране) (обратно на XLOOKUP ).
Но условието е, че lookup_array трябва да бъдат сортирани във възходящ ред. В противен случай ще бъде показана грешка.
- Когато е 1 , MATCH В случай че не бъде намерено точно съвпадение, ще се потърси следващата по-малка стойност (обратно на XLOOKUP ).
Но условието е, че lookup_array този път трябва да бъде подреден в низходящ ред. В противен случай ще се появи грешка.
- Когато е 0 , MATCH ще се търси точно съвпадение.
Прочетете още: Как да изберете конкретни данни в Excel (6 метода)
7 Сравнения между употребите на функциите XLOOKUP и INDEX-MATCH
Сега, след като разбихме формулата, нека обсъдим някои прилики и разлики между двете функции. Преди да преминем към основните дискусии, за ваше улеснение показвам основните моменти в таблица.
Точка на обсъждане | Сходство/различно сходство | Обяснение |
Колона lookup_array | Сходство | И двата метода поддържат колона като масив за търсене (lookup_array). |
Ред lookup_array | Сходство | И двата вида поддържат ред като масив за търсене (lookup_array). |
Няма съвпадение на lookup_value | Различие | XLOOKUP има опция за настройка по подразбиране за липса на съвпадение на стойността на lookup_value. Но INDEX-MATCH няма такава опция. |
Приблизително съвпадение | Частично сходство | XLOOKUP може да открие следващата по-малка или следващата по-голяма стойност, когато няма точно съвпадение. INDEX-MATCH също може да направи това, но масивът lookup_array трябва да бъде сортиран във възходящ или низходящ ред. |
Съответстващи заместващи символи | Сходство | И двете поддържат съвпадение на Wildcards. |
Съвпадение на множество стойности | Частично сходство | XLOOKUP може да открие първата или последната стойност, когато няколко стойности съвпадат. Но INDEX-MATCH може да върне само първата стойност, която съвпада. |
Формула на масива | Сходство | И двете поддържат формулата за масиви. |
1. XLOOKUP и INDEX-MATCH за търсене на стойност в колона
В този аспект има сходство между двете функции. XLOOKUP и INDEX-MATCH , масивът lookup_array може да бъде колона и за двете функции. Тук търсим точното Марки по физика на името на ученика в C ел F5 , Дженифър Марло . Искахме да търсим отгоре надолу в Име на ученика и връща " Не е намерен " в случай че не е намерено съвпадение.
- За XLOOKUP , приложете формулата от Клетка G5 .
=XLOOKUP(F5,C5:C16,D5:D16,"Not Found",0,1)
- За INDEX-MATCH , използвайте тази формула в Клетка G5 .
=INDEX(B5:D16,MATCH(F5,C5:C16,0),3)
Прочетете още: Как да съпоставите няколко критерия от различни масиви в Excel
2. XLOOKUP и INDEX-MATCH за търсене на стойност в ред
В този аспект също има сходство между двете функции. За XLOOKUP и INDEX-MATCH . lookup_array може да бъде ред и за двете функции. За илюстрация, имаме нова съвкупност от данни с Идентификатори , Имена , и Марки по физика и Класове .
Да приемем за момент, че това е много широк набор от данни и не знаем какъв е броят на Клас След това, за да открием оценката на даден ученик, трябва да използваме Ред на заглавието (B4:E4) като масив за търсене и думата " Клас " като lookup_value Можем да го постигнем, като използваме едновременно XLOOKUP и INDEX-MATCH .
- За да откриете класа на 3-ти ученик . XLOOKUP формулата ще бъде такава в Клетка 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 навън, за да се справим с грешката. В дадения набор от данни ще открием Име на ученика с ID 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), "Не е намерен")
Подобни четива
- INDEX MATCH на Excel за връщане на няколко стойности в една клетка
- Формула INDEX-MATCH на Excel за връщане на множество стойности хоризонтално
- Как да използвате формулата 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 във възходящ ред и ще получите правилната стойност.
Прочетете още: Как да използвате INDEX и Match за частично съвпадение (2 начина)
5. XLOOKUP и INDEX-MATCH в случай на съвпадение на заместващи символи
В този аспект двете функции си приличат. XLOOKUP и INDEX-MATCH , и двете подкрепят Wildcards . Тук ще открием всеки ученик с " Марло " като второ име. Нека следваме стъпките по-долу, за да видим 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)
Прочетете още: INDEX MATCH множество критерии с Wildcard в Excel (пълно ръководство)
6. XLOOKUP и INDEX-MATCH Когато няколко стойности съвпадат със стойността за търсене
Този пример показва XLOOKUP срещу INDEX-MATCH когато няколко стойности съвпадат със стойността за търсене. В това отношение също има частично сходство между двете функции. XLOOKUP и INDEX-MATCH и двете връщат само една стойност, в случай че има няколко стойности в lookup_array съвпада с lookup_value . Но в XLOOKUP можете да модифицирате търсенето, за да получите първото или последното съвпадение. За да получите първата съвпадаща стойност, задайте 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 за повече уроци.