Функція ПІДІБРАТИ в Excel з прикладами формул

  • Поділитися Цим
Michael Brown

У цьому посібнику на прикладах формул пояснюється, як використовувати функцію МАТЧ в 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 дуже просто. Однак, як і у випадку з будь-якою іншою функцією, є кілька особливостей, про які вам слід знати:

    1. Функція MATCH повертає значення взаємне розташування шуканого значення в масиві, а не самого значення.
    2. MATCH - це нечутливий до регістру тобто не розрізняє малі та великі літери при роботі з текстовими значеннями.
    3. Якщо масив пошуку містить декілька входжень шуканого значення, то повертається позиція першого значення.
    4. Якщо шукане значення не знайдено в масиві пошуку, повертається помилка #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)

    Майкл Браун — відданий ентузіаст технологій із пристрастю до спрощення складних процесів за допомогою програмних засобів. Маючи понад десятирічний досвід роботи в технологічній індустрії, він відточив свої навички роботи з Microsoft Excel і Outlook, а також із Google Таблицями та Документами. Блог Майкла присвячений тому, щоб поділитися своїми знаннями та досвідом з іншими, надаючи прості поради та навчальні посібники для підвищення продуктивності та ефективності. Незалежно від того, чи є ви досвідченим професіоналом чи початківцем, блог Майкла пропонує цінну інформацію та практичні поради щодо отримання максимальної користі від цих основних програмних інструментів.