Зміст
У цьому посібнику на прикладах формул пояснюється, як використовувати функцію МАТЧ в Excel, а також показано, як поліпшити формули пошуку, створивши динамічну формулу за допомогою VLOOKUP і МАТЧ.
В Microsoft Excel є багато різних функцій пошуку/посилання, які можуть допомогти вам знайти певне значення в діапазоні комірок, і функція СООТВЕТСТВИЕ є однією з них. В основному, вона визначає відносне положення елемента в діапазоні комірок. Однак, функція СООТВЕТСТВИЕ може робити набагато більше, ніж її чиста суть.
Функція СРЗНАЙТИ в Excel - синтаксис і застосування
Функція СРАВНИТЬ в Excel здійснює пошук заданого значення в діапазоні комірок і повертає відносну позицію цього значення.
Синтаксис функції МАТЧ наступний:
MATCH(значення_пошуку, масив_пошуку, [тип_відповідності])Lookup_value (обов'язково) - значення, яке потрібно знайти. Це може бути числове, текстове або логічне значення, а також посилання на комірку.
Lookup_array (обов'язково) - діапазон комірок для пошуку.
Match_type (необов'язково) - визначає тип збігу, може приймати одне з таких значень: 1, 0, -1. Аргумент match_type, що має значення 0, повертає тільки точний збіг, інші два типи дозволяють отримати приблизний збіг.
- 1 або пропущено (за замовчуванням) - знайти найбільше значення в масиві пошуку менше або дорівнює шуканому значенню. Вимагає сортування масиву пошуку за зростанням, від меншого до більшого або від A до Z.
- 0 - знайти перше значення в масиві, яке є точно дорівнює до шуканого значення, сортування не потрібне.
- -1 - знайти найменше значення в масиві, яке більше або дорівнює шуканому значенню. Шуканий масив повинен бути відсортований в порядку спадання, від найбільшого до найменшого або від Z до A.
Щоб краще зрозуміти функцію МАТЧ, складемо просту формулу на основі цих даних: прізвища студентів у стовпчику A та їхні екзаменаційні бали у стовпчику B, відсортовані від найбільшого до найменшого. Щоб дізнатися, де знаходиться конкретний студент (скажімо, у стовпчику B), Лаура. ) стоїть серед інших, скористайтеся цією простою формулою:
=MATCH("Laura", A2:A8, 0)
За бажанням ви можете помістити шукане значення в якусь комірку (E1 у цьому прикладі) і посилатися на цю комірку у формулі відповідності Excel:
=MATCH(E1, A2:A8, 0)
Як видно на скріншоті вище, імена студентів вводяться в довільному порядку, а тому задаємо match_type в 0 (точний збіг), тому що тільки цей тип збігу не вимагає сортування значень в масиві пошуку. Технічно формула збігу повертає відносну позицію Лаури в діапазоні. Але оскільки бали відсортовані від найбільшого до найменшого, вона також повідомляє нам, що Лаура має 5-й найкращий бал серед усіх студентів.
Порада. В Excel 365 та Excel 2021 можна використовувати функцію XMATCH, яка є сучасним і більш потужним наступником функції MATCH.
4 речі, які варто знати про функцію MATCH
Як ви щойно переконалися, використовувати функцію зіставлення в Excel дуже просто. Однак, як і у випадку з будь-якою іншою функцією, є кілька особливостей, про які вам слід знати:
- Функція MATCH повертає значення взаємне розташування шуканого значення в масиві, а не самого значення.
- MATCH - це нечутливий до регістру тобто не розрізняє малі та великі літери при роботі з текстовими значеннями.
- Якщо масив пошуку містить декілька входжень шуканого значення, то повертається позиція першого значення.
- Якщо шукане значення не знайдено в масиві пошуку, повертається помилка #N/A.
Як використовувати функцію Збіг в Excel - приклади формул
Тепер, коли ви знаєте основні способи використання функції СРАВНИТЬ в Excel, давайте обговоримо ще кілька прикладів формул, які виходять за рамки базових.
Частковий збіг з підстановкою символів
Як і багато інших функцій, MATCH розуміє наступні символи підстановки:
- Знак питання (?) - замінює будь-який окремий символ
- Зірочка (*) - замінює будь-яку послідовність символів
Примітка. Підстановочні знаки можуть використовуватися в формулах збігів тільки з match_type встановлено на 0.
Формула зіставлення зі спецсимволами стає в нагоді в ситуаціях, коли потрібно зіставити не весь текстовий рядок, а тільки деякі символи або якусь частину рядка. Щоб проілюструвати це, розглянемо наступний приклад.
Припустимо, у Вас є список регіональних торгових посередників та їх обсяги продажів за минулий місяць. Ви хочете знайти відносну позицію певного торгового посередника у списку (відсортованого за сумами продажів у порядку спадання), але не можете точно згадати його ім'я, хоча пам'ятаєте кілька перших символів.
Якщо припустити, що назви торгових посередників знаходяться в діапазоні А2:А11, і ви шукаєте назву, яка починається на "car", то формула виглядає наступним чином:
=MATCH("car*", A2:A11,0)
Щоб зробити нашу формулу зіставлення більш універсальною, ви можете ввести шукане значення в деяку клітинку (E1 в цьому прикладі) і об'єднати цю клітинку символом підстановки, як показано нижче:
=MATCH(E1& "*", A2:A11,0)
Як показано на скріншоті нижче, формула повертає 2, що є позицією "Carter":
Щоб замінити лише один символ у значенні пошуку, використовуйте оператор підстановки "?", наприклад, таким чином:
=MATCH("ba?er", A2:A11,0)
Наведена вище формула буде відповідати назві " Бейкер " і повторно запустити його відносне положення, яке дорівнює 5.
Формула MATCH з урахуванням регістру
Як згадувалося на початку цього уроку, функція МАТЧ не розрізняє великі та малі літери. Щоб створити формулу МАТЧ з урахуванням регістру, використовуйте МАТЧ у поєднанні з функцією ТОЧНО, яка порівнює комірки точно, включаючи регістр символів.
Ось загальна формула для зіставлення даних з урахуванням регістру:
MATCH(TRUE, EXACT( масив пошуку , шукане значення ), 0)Формула працює за наступною логікою:
- Функція EXACT порівнює шукане значення з кожним елементом масиву пошуку. Якщо порівнювані комірки точно рівні, функція повертає значення TRUE, в іншому випадку - FALSE.
- А далі функція МАТЧ порівнює ІСТИНА (яка є її lookup_value ) з кожним значенням в масиві, що повертається за допомогою EXACT, і повертає позицію першого збігу.
Зверніть увагу, що це формула масиву, для коректного заповнення якої необхідно натиснути клавіші Ctrl + Shift + Enter.
Якщо припустити, що шукане значення знаходиться в комірці E1, а масив пошуку - A2:A9, то формула виглядає наступним чином:
=MATCH(TRUE, EXACT(A2:A9,E1),0)
На наступному скріншоті показано формулу зіставлення з урахуванням регістру в Excel:
Порівняйте 2 колонки на предмет збігів та відмінностей (ISNA MATCH)
Перевірка двох списків на наявність збігів та відмінностей є однією з найпоширеніших задач в Excel, і вона може бути виконана різними способами. Формула ИСНА/СОПРЯЖЕНИЕ є одним з них:
IF(ISNA(MATCH( 1-е значення в Переліку1 , Список2 , 0)), "Немає в списку 1", "")Для будь-якого значення Списку 2, яке відсутнє в Списку 1, формула повертає " Не входить до переліку 1 "І ось як:
- Функція MATCH шукає значення зі списку 1 в списку 2. Якщо значення знайдено, вона повертає його відносну позицію, в іншому випадку помилка #N/A.
- Функція ISNA в Excel робить тільки одне - перевіряє наявність помилок #N/A (що означає "немає в наявності"). Якщо дане значення є помилкою #N/A, функція повертає значення ІСТИНА, в іншому випадку - ЛОЖЬ. У нашому випадку ІСТИНА означає, що значення зі Списку 1 не знайдено в Списку 2 (тобто функція СООТВЕТСТВИЕ повертає помилку #N/A).
- Оскільки ваші користувачі можуть дуже заплутатися, побачивши значення ІСТИНА для значень, які не з'являються в Списку 1, ви обертаєте функцію IF навколо ISNA, щоб відобразити " Не входить до переліку 1 ", або будь-який інший текст за вашим бажанням.
Наприклад, для порівняння значень у колонці В зі значеннями у колонці А формула має наступний вигляд (де В2 - верхня комірка):
=IF(ISNA(MATCH(B2,A:A,0)), "Не в списку 1", "")
Як ви пам'ятаєте, функція ПІДІБРАТИ в Excel сама по собі нечутлива до регістру символів. Щоб змусити її розрізняти регістр символів, вбудуйте функцію ТОЧНО в комірку lookup_array аргумент, і не забудьте натиснути Ctrl + Shift + Enter, щоб завершити цю операцію формула масиву :
=IF(ISNA(MATCH(TRUE, EXACT(A:A, B2),0)), "Не в списку 1", "")
На наступному скріншоті показані обидві формули в дії:
Щоб дізнатися про інші способи порівняння двох списків в Excel, будь ласка, зверніться до наступного уроку: Як порівняти 2 стовпці в Excel.
Excel VLOOKUP і зіставлення
Цей приклад припускає, що ви вже володієте базовими знаннями про функцію Вставка в Excel. І якщо так, то, швидше за все, ви зіткнулися з її численними обмеженнями (докладний огляд яких можна знайти в статті Чому не працює функція Вставка в Excel) і шукаєте більш надійну альтернативу.
Одним з найбільш неприємних недоліків VLOOKUP є те, що він перестає працювати після вставки або видалення стовпця в таблиці пошуку. Це відбувається тому, що VLOOKUP витягує відповідне значення на основі номера стовпця, що повертається, який ви вказуєте (індексний номер). Через те, що індексний номер є "жорстко закодованим" у формулі, Excel не може скоригувати його при додаванні нового стовпця (стовпців) до таблиці або видаленні з неї.
Функція зіставлення в Excel має справу з взаємне розташування значення пошуку, що робить його ідеальним варіантом для col_index_num Іншими словами, замість того, щоб вказувати стовпець, що повертається, як статичне число, ви використовуєте MATCH, щоб отримати поточну позицію цього стовпця.
Для того, щоб полегшити розуміння, знову скористаємося таблицею з екзаменаційними балами студентів (подібною до тієї, яку ми використовували на початку цього посібника), але цього разу ми будемо шукати реальний бал, а не його відносну позицію.
Припускаючи, що шукане значення знаходиться в комірці F1, масив таблиці має вигляд $A$1:$C$2 (рекомендується зафіксувати його за допомогою абсолютних посилань на комірки, якщо ви плануєте копіювати формулу в інші комірки), формула виглядає наступним чином:
=VLOOKUP(F1, $A$1:$C$8, 3, FALSE)
3-й аргумент ( col_index_num ) дорівнює 3, оскільки Оцінка з математики який ми хочемо витягнути - це 3-й стовпець у таблиці. Як ви можете бачити на скріншоті нижче, ця звичайна формула Vlookup працює добре:
Але тільки до тих пір, поки ви не вставите або не видалите стовпець (стовпці):
Так чому ж помилка #REF!? Тому що col_index_num встановлений у 3, вказує Excel отримати значення з третього стовпця, тоді як зараз у масиві таблиці є тільки 2 стовпці.
Щоб запобігти цьому, ви можете зробити формулу Vlookup більш динамічною, включивши наступну функцію Match:
MATCH(E2,A1:C1,0)
Де:
- E2 - шукане значення, яке дорівнює точно дорівнює до назви стовпця, що повертається, тобто стовпця, з якого потрібно витягнути значення ( Оцінка з математики у цьому прикладі).
- A1:C1 - пошуковий масив, що містить заголовки таблиць.
А тепер включіть цю функцію Match в col_index_num аргумент вашої формули Vlookup, наприклад, такий:
=VLOOKUP(F1,$A$1:$C$8, MATCH(E2,$A$1:$C$1, 0), FALSE)
І переконайтеся, що він працює бездоганно, незалежно від того, скільки стовпців ви додаєте або видаляєте:
На скріншоті вище я заблокував усі посилання на клітинки, щоб формула працювала правильно, навіть якщо мої користувачі перемістять її в інше місце на аркуші. А на скріншоті нижче ви бачите, що формула чудово працює після видалення стовпця; крім того, Excel досить розумний, щоб правильно налаштувати абсолютні посилання в цьому випадку:
Excel ЗВ'ЯЗОК і СПІВПАДІННЯ
Аналогічним чином ви можете використовувати функцію зіставлення Excel для вдосконалення ваших формул HLOOKUP. Загальний принцип по суті той самий, що і у випадку з Vlookup: ви використовуєте функцію зіставлення, щоб отримати відносне положення стовпця, що повертається, і подаєте це число в поле row_index_num аргумент вашої формули Hlookup.
Припустимо, що шукане значення знаходиться в комірці B5, масив таблиці B1:H3, ім'я рядка, що повертається (шукане значення для СПІВПАДАННЯ), знаходиться в комірці A6, а заголовки рядків - A1:A3, тоді повна формула виглядає наступним чином:
=HLOOKUP(B5, B1:H3, MATCH(A6, A1:A3, 0, FALSE), FALSE)
Як ви щойно побачили, комбінація Hlookup/Vlookup & Match, безумовно, є поліпшенням у порівнянні зі звичайними формулами Hlookup і Vlookup. Однак функція MATCH не усуває всіх їхніх обмежень. Зокрема, формула Vlookup Match, як і раніше, не може дивитися зліва, а Hlookup Match не може шукати в будь-якому рядку, крім самого верхнього.
Для подолання вищевказаних (і деяких інших) обмежень, розгляньте можливість використання комбінації INDEX MATCH, яка забезпечує дійсно потужний і універсальний спосіб пошуку в Excel, що перевершує Vlookup і Hlookup за багатьма параметрами. Детальне керівництво і приклади формул можна знайти в статті INDEX & MATCH в Excel - краща альтернатива VLOOKUP.
Ось так використовуються формули СООТВЕТСТВИЕ в Excel. Сподіваюся, приклади, розглянуті в цьому уроці, виявляться корисними у вашій роботі. Дякую за прочитання і сподіваюся побачити вас на нашому блозі наступного тижня!
Практичний посібник для завантаження
Приклади формул Excel MATCH (файл .xlsx)