Як виконати пошук в Excel: функції та приклади формул

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

Зміст

У навчальному посібнику пояснюються основи пошуку в Excel, демонструються сильні та слабкі сторони кожної функції пошуку в Excel, а також наводиться ряд прикладів, які допоможуть вам вирішити, яку формулу пошуку краще використовувати в конкретній ситуації.

Пошук певного значення в наборі даних - одна з найпоширеніших задач в Excel. І все ж "універсальної" формули пошуку, яка підходить для всіх ситуацій, не існує. Це пов'язано з тим, що термін "пошук" може позначати безліч різних речей: можна шукати по вертикалі в стовпці, по горизонталі в рядку або на перетині рядка і стовпця, шукати за одним або декількома критеріями, повертати значення поперший знайдений збіг або декілька збігів, виконати пошук з урахуванням регістру або без урахування регістру і так далі.

На цій сторінці ви знайдете список найнеобхідніших функцій пошуку в Excel з прикладами формул і поглибленими навчальними посібниками, на які можна посилатися для довідки.

    Пошук в Excel - основи

    Перш ніж ми зануримося в хитросплетіння формул пошуку в Excel, давайте визначимося з ключовими термінами, щоб переконатися, що ми завжди знаходимося на одній і тій же сторінці.

    Пошук - пошук заданого значення в таблиці даних.

    Значення для пошуку - цінність, яку потрібно шукати.

    Значення, що повертається (відповідне значення або збіг) - значення, що знаходиться на тій самій позиції, що й шукане значення, але в іншому стовпчику або рядку (залежно від того, чи виконується вертикальний або горизонтальний пошук).

    Пошукова таблиця В інформатиці таблиця пошуку - це масив даних, який зазвичай використовується для відображення вхідних значень у вихідні значення. З точки зору цього посібника, таблиця пошуку в Excel - це не що інше, як діапазон комірок, в яких ви шукаєте шукане значення.

    Основна таблиця (головна таблиця) - таблиця, в яку ви підтягуєте відповідні значення.

    Ваша таблиця пошуку та основна таблиця можуть мати різну структуру та розмір, проте вони завжди повинні містити хоча б одну загальний унікальний ідентифікатор тобто стовпчик або рядок, який містить ідентичні дані, залежно від того, чи потрібно виконати вертикальний або горизонтальний пошук.

    На наступному скріншоті показано зразок таблиці пошуку, яка буде використовуватися в багатьох наведених нижче прикладах.

    Функції пошуку в Excel

    Нижче наведено короткий огляд найпопулярніших формул для виконання пошуку в Excel, їх основні переваги та недоліки.

    Функція LOOKUP

    Функція ПОИСК в Excel може виконувати найпростіші види вертикального і горизонтального пошуку.

    Плюси Простий у використанні.

    Мінуси Недоліки : Обмежена функціональність, не може працювати з невідсортованими даними (вимагає сортування стовпця/рядка пошуку за зростанням).

    Для отримання додаткової інформації, будь ласка, зверніться до розділу Як користуватися функцією ПОИСК в Excel.

    Функція VLOOKUP

    Це вдосконалена версія функції LOOKUP, спеціально розроблена для того, щоб зробити вертикальний пошук в стовпчики.

    Плюси Відносно простий у використанні, може працювати з точним і приблизним збігом.

    Мінуси Недоліки: не може дивитися зліва, перестає працювати при вставці або видаленні стовпця з таблиці пошуку, значення пошуку не може перевищувати 255 символів, вимагає великої обчислювальної потужності на великих наборах даних.

    Для отримання додаткової інформації, будь ласка, зверніться до посібника "Вставлення таблиць Excel для початківців".

    Функція HLOOKUP

    Це горизонтальний аналог VLOOKUP, який шукає значення в першому рядку таблиці пошуку і повертає значення в тій же позиції з іншого рядка.

    Плюси Простий у використанні, може видавати точні та приблизні збіги.

    Мінуси Може здійснювати пошук тільки в самому верхньому рядку таблиці пошуку, на нього впливає вставка або видалення рядків, шукане значення не повинно перевищувати 255 символів.

    Для отримання додаткової інформації, будь ласка, зверніться до розділу "Як користуватися табличною формою в Excel".

    VLOOKUP MATCH / HLOOKUP MATCH

    Динамічне посилання на стовпець або рядок, створене за допомогою MATCH, робить цю формулу пошуку в Excel несприйнятливою до змін, внесених до набору даних. Іншими словами, за допомогою MATCH функції VLOOKUP і HLOOKUP можуть повертати правильні значення незалежно від того, скільки стовпців/рядків було додано до таблиці пошуку або видалено з неї.

    Формула для вертикального пошуку

    VLOOKUP( lookup_value , таблиця_пошуку , MATCH( ім'я_стовпця_повернення , column_headers , 0), FALSE)

    Формула для горизонтального пошуку

    HLOOKUP( lookup_value , таблиця_пошуку , MATCH( return_row_name , row_headers , 0), FALSE)

    Плюси Покращення у порівнянні зі звичайними формулами Hlookup та Vlookup, які не піддаються вставці або видаленню даних.

    Мінуси Недоліки: не дуже гнучкий, вимагає специфічної структури даних (значення пошуку, що передається у функцію МАТЧ, повинно точно відповідати назві стовпця, що повертається), не може працювати зі значеннями пошуку, що перевищують 255 символів.

    Більш детальну інформацію та приклади формул можна знайти за посиланням:

    • Excel Vlookup і Match
    • Пошук і зіставлення в Excel

    ЗБІГ ПО ЗСУВУ

    Більш складна, але більш потужна формула пошуку, позбавлена багатьох обмежень Vlookup і Hlookup.

    Формула для V-пошуку

    OFFSET( таблиця_пошуку , MATCH( lookup_value , OFFSET( таблиця_пошуку , 0, n , ROWS( таблиця_пошуку ), 1) ,0) -1, m , 1, 1)

    Де:

    • n - зсув стовпця пошуку, тобто кількість стовпців, на які необхідно перейти від початкової точки до стовпця пошуку.
    • m - зсув зворотного стовпчика, тобто кількість стовпчиків, на які потрібно перейти від початкової точки до зворотного стовпчика.

    Формула для H-пошуку

    OFFSET( таблиця_пошуку , m , MATCH( lookup_value , OFFSET( таблиця_пошуку , n , 0, 1, COLUMNS( таблиця_пошуку )), 0) -1, 1, 1)

    Де:

    • n - зсув рядка пошуку, тобто кількість рядків, на яку необхідно перейти від початкової точки до рядка пошуку.
    • m - зсув зворотного ряду, тобто кількість рядів, на яку потрібно перейти від початкової точки до зворотного ряду.

    Формула для пошуку матриці (за рядком і стовпцем)

    {=OFFSET ( початковий_пункт MATCH ( вертикальне_значення_пошуку , стовпець_пошуку , 0), MATCH ( значення_пошуку_по горизонталі , lookup_row , 0))}

    Звертаємо увагу, що це формула масиву, яка вводиться одночасним натисканням клавіш Ctrl + Shift + Enter.

    Плюси Дозволяє виконувати лівий Vlookup, верхній Hlookup та двосторонній пошук (за значеннями стовпців та рядків), на які не впливають зміни в наборі даних.

    Мінуси Складний і важкий для запам'ятовування синтаксис.

    Більш детальну інформацію та приклади формул можна знайти в статті: Використання функції OFFSET в Excel

    ЗБІГ ІНДЕКСІВ

    Це найкращий спосіб виконати вертикальний або горизонтальний пошук в Excel, який може замінити більшість наведених вище формул. Формула збігу індексів є моїм особистим уподобанням, і я використовую її майже для всіх моїх пошукових запитів в Excel.

    Формула для V-пошуку

    ІНДЕКС ( return_column MATCH ( lookup_value , стовпець_пошуку , 0))

    Формула для H-пошуку

    ІНДЕКС ( return_row MATCH ( lookup_value , lookup_row , 0))

    Формула для пошуку матриці

    Розширення класичної формули Index Match для повернення значення на перетині певного стовпця і рядка:

    ІНДЕКС ( таблиця_пошуку MATCH ( вертикальне_значення_пошуку , стовпець_пошуку , 0), MATCH ( значення_пошуку_по горизонталі , lookup_row , 0))

    Мінуси Тільки один - потрібно пам'ятати синтаксис формули.

    Плюси Найбільш універсальна формула пошуку в Excel, яка за багатьма параметрами перевершує функції Vlookup, Hlookup і Lookup:

    • Він може виконувати лівий і верхній пошук.
    • Дозволяє безпечно розширювати або згортати таблицю пошуку, вставляючи або видаляючи стовпці та рядки.
    • Розмір шуканого значення не обмежується.
    • Оскільки формула індексного збігу посилається на стовпці/рядки, а не на всю таблицю, вона вимагає меншої обчислювальної потужності і не сповільнює роботу Excel.

    Для отримання більш детальної інформації, будь ласка, ознайомтеся:

    • INDEX MATCH як краща альтернатива VLOOKUP
    • Формула збігу INDEX MATCH для двовимірного пошуку

    Порівняльна таблиця Excel Lookup

    Як бачите, не всі формули пошуку в Excel еквівалентні, деякі з них можуть обробляти кілька різних запитів, а інші можуть використовуватися тільки в конкретній ситуації. У таблиці нижче описані можливості кожної формули пошуку в Excel.

    Формула Вертикальний пошук Лівий пошук Горизонтальний пошук Верхній пошук Матричний пошук Дозволяє вставляти/видаляти дані
    Пошук
    Vlookup
    Hlookup
    Vlookup Match
    Hlookup Match
    Матч залік
    Залік Матч Матч Матч
    Index Match
    Індекс Матч Матч Матч

    Приклади формул пошуку в Excel

    Першим кроком у вирішенні питання про те, яку формулу використовувати в конкретній ситуації, є визначення типу пошуку, який ви хочете виконати. Нижче наведені приклади формул для найбільш популярних типів пошуку:

      Вертикальний пошук по стовпцях

      Вертикальний пошук або Vlookup - це процес знаходження шуканого значення в одному стовпці і повернення значення в тому ж рядку з іншого стовпця. Vlookup в Excel може бути виконаний різними способами, в тому числі:

      Функція VLOOKUP

      Якщо шукані значення знаходяться в лівому стовпчику таблиці, і ви не плануєте робити ніяких структурних змін в наборі даних (ні додавати, ні видаляти стовпчики), ви можете сміливо використовувати звичайну формулу Vlookup:

      =VLOOKUP(G2, $A$2:$E$6, 5, FALSE)

      Де G2 - шукане значення, A2:E6 - таблиця пошуку, E - стовпець повернення.

      VLOOKUP MATCH

      Якщо ви працюєте зі "змінною" таблицею пошуку Excel, де стовпці можуть бути вставлені та видалені в будь-який час, зробіть свою формулу Vlookup несприйнятливою до цих змін, вбудувавши функцію "Відповідність", яка створює динамічне посилання на стовпець замість "жорстко закодованого" індексного номера:

      =VLOOKUP(F2,$A$1:$D$6, MATCH($G$1,$A$1:$D$1, 0), FALSE)

      Збіг індексів - пошук зліва

      Це моя улюблена формула, яка легко обробляє пошук справа наліво і працює бездоганно, незалежно від того, скільки стовпців ви додаєте або видаляєте.

      Наприклад, для пошуку в колонці B значення в H2 і повернення збігу в колонці F використовуйте цю формулу:

      =INDEX($F$2:$F$6,(MATCH(H2,$B$2:$B$6,0)))

      Примітка: Якщо ви плануєте використовувати формулу Vlookup більш ніж в одній комірці, завжди слід заблокувати посилання на таблицю пошуку за допомогою знака $ (абсолютне посилання на комірку), щоб формула коректно копіювалася в інші комірки.

      Горизонтальний пошук по рядках

      Горизонтальний пошук - це "транспонована" версія вертикального пошуку, яка здійснює пошук в горизонтально розташованому наборі даних. Іншими словами, він шукає шукане значення в одному рядку і повертає значення в тій же позиції з іншого рядка.

      Припускаючи, що шукане значення знаходиться в комірці B9, таблиця пошуку B1:F5, і ви хочете повернути відповідне значення з рядка 5, використовуйте одну з наступних формул:

      Функція HLOOKUP

      Може дивитися вгору тільки через верхній ряд у вашому наборі даних.

      =HLOOKUP(B8, $B$1:$F$5, 5, FALSE)

      ЗІРКОВИЙ ЗІРКОВИЙ ЗІРКОВИЙ ЗІРКОВИЙ ЗІРКОВИЙ

      Як і чистий Hlookup, ця формула може шукати тільки в самому верхньому рядку, але дозволяє безпечно вставляти або видаляти рядки в пошуковій таблиці.

      =HLOOKUP(B8, $B$1:$F$5, MATCH($A$9, $A$1:$A$5, 0), FALSE)

      Де A1:A5 - заголовки рядків, а A9 - назва рядка, з якого потрібно повернути збіги.

      ЗБІГ ІНДЕКСІВ

      Можна подивіться вгору в будь-якому рядку і не має жодного з обмежень наведених вище формул.

      =INDEX($B$5:$F$5,(MATCH(B8,$B$1:$F$1,0)))

      Двовимірний пошук (на основі значень рядків і стовпців)

      Двовимірний пошук (він же пошук матриць , подвійний пошук або 2-сторонній пошук ) повертає значення на основі збігів в обох рядках і стовпцях. Іншими словами, 2-вимірна формула пошуку шукає значення на перетині вказаного рядка і стовпця.

      Якщо припустити, що Ваша таблиця пошуку має вигляд A1:E6, комірка H2 містить значення, яке потрібно знайти в рядках, а H3 містить значення, яке потрібно знайти в стовпчиках, то наступні формули будуть працювати чудово:

      Формула збігу INDEX MATCH Формула збігу INDEX MATCH :

      =INDEX($A$1:$E$6, MATCH(H2,$A$1:$A$6,0), MATCH(H3,$A$1:$E$1,0))

      Формула збігу OFFSET MATCH Формула збігу OFFSET MATCH :

      =OFFSET($A$1,MATCH(H2,$A$2:$A$6,0),MATCH(H3,$B$1:$E$1,0))

      Крім наведених вище формул, існує декілька інших способів виконання матричного пошуку в Excel, з якими ви можете ознайомитися в статті Як виконати двосторонній пошук в Excel.

      Тривимірний пошук

      Тривимірний пошук означає пошук за 3 різними значеннями пошуку. У наведеному нижче наборі даних, припустимо, ви хочете знайти конкретний рік (H2), потім конкретне ім'я в даних за цей рік (H3), а потім повернути значення за конкретний місяць (H4).

      Завдання можна виконати за допомогою наступної формули масиву (будь ласка, не забудьте натиснути Ctrl + Shift + Enter для її коректного заповнення):

      =INDEX($A$1:$E$12,MIN(IF((ROW($A$1:$A$12)>MATCH(H2,$A$1:$A$12,0))*($A$1:$A$12=H3),ROW($A$1:$A$12),"")),MATCH(H4,$A$1:$E$1,0))

      Пошук за кількома критеріями

      Для того, щоб мати можливість оцінювати декілька критеріїв, нам потрібно буде модифікувати класичну формулу зіставлення індексів так, щоб вона перетворилася на формулу масиву:

      INDEX( таблиця_пошуку , MATCH(1, ( lookup_value1 = lookup_column1 ) * ( lookup_value2 = lookup_column2 )*..., 0), номер_стовпця_повернення )

      За допомогою таблиці пошуку, що знаходиться в діапазоні A1:C11, знайдемо збіг за 2 критеріями: шукаємо в стовпчику A значення в комірці F1, а в стовпчику B значення в комірці F2:

      =INDEX($A$1:$C$11, MATCH(1, (F1=$A$1:$A$11) * (F2=$B$1:$B$11),0), 3)

      Як завжди, для обчислення формули як формули масиву потрібно натиснути Ctrl + Shift + Enter.

      Для детального пояснення логіки формули, будь ласка, зверніться до INDEX MATCH для пошуку за кількома критеріями.

      Пошук для повернення декількох значень

      Яку б функцію пошуку в Excel ви не використовували (LOOKUP, VLOOKUP або HLOOKUP), вона може повернути лише один збіг. Щоб отримати всі знайдені збіги, вам доведеться використовувати 6 різних функцій, об'єднаних у формулі масиву:

      IFERROR(INDEX( діапазон_повернення , SMALL(IF( lookup_value = діапазон_пошуку , ROW( діапазон_повернення )- m ,""), ROW() - n )),"")

      Де:

      • m номер рядка першої комірки в діапазоні повернення мінус 1.
      • n номер рядка першої комірки формул мінус 1.

      З шуканим значенням, розташованим у комірці E2, діапазоном пошуку в діапазоні A2:A11, діапазоном повернення в діапазоні B2:B11 і першою коміркою формули в рядку 2, ваша формула пошуку набуває наступного вигляду:

      =IFERROR(INDEX($B$2:$B$11, SMALL(IF($E$2 =$A$2:$A$11, ROW($B$2:$B$11 )- 1,""), ROW() - 1 )),"")

      Щоб формула повертала кілька збігів, потрібно ввести її в першу комірку (F2), натиснути Ctrl + Shift + Enter, а потім скопіювати формулу в інші комірки вниз по стовпчику.

      Детальне пояснення наведеної вище формули та інших способів повернення декількох значень див. у статті Як використовувати Vlookup для повернення декількох результатів.

      Вкладений пошук (з 2-х таблиць пошуку)

      У ситуаціях, коли ваша основна таблиця і таблиця пошуку, з якої ви хочете отримати дані, не мають спільного стовпця, ви можете використовувати додаткову таблицю пошуку для встановлення збігів, наприклад, таким чином:

      Для отримання значень з таблиці Сума стовпчик в Lookup_table2 використовується наступна формула:

      =VLOOKUP(VLOOKUP(A2, Lookup_table1!$A$1:$B$6, 2, FALSE), Lookup_table2!$A$1:$B$6, 2, FALSE)

      Як показано на скріншоті нижче, наша формула вкладеного пошуку працює бездоганно:

      Послідовний перегляд з декількох аркушів

      Для виконання послідовних VLOOKUP на основі того, чи був попередній пошук успішним чи ні, використовуйте вкладені функції IFERROR разом з VLOOKUP для оцінки декількох умов по черзі:

      IFERROR(VLOOKUP( ... ), IFERROR(VLOOKUP( ... ), IFERROR(VLOOKUP( ... ), "Не знайдено")))

      Якщо перший Vlookup не спрацьовує, IFERROR фіксує помилку і запускає інший Vlookup. Якщо і другий Vlookup нічого не знаходить, другий IFERROR фіксує помилку і запускає третій Vlookup і т.д. Якщо всі Vlookup не спрацьовують, останній IFERROR повертає "не знайдено" або будь-яке інше повідомлення, яке ви введете у формулу.

      Як приклад, спробуємо витягнути суму з 3 різних аркушів:

      =IFERROR(VLOOKUP(B1,A6:B9,2,0), IFERROR(VLOOKUP(B1,D6:E9,2,0), IFERROR(VLOOKUP(B1,G6:H9,2,0), "Не знайдено"))

      Результат буде виглядати приблизно так:

      Для отримання додаткової інформації див. розділ Як використовувати вкладені функції ЕСЛИ в Excel.

      Пошук з урахуванням особливостей конкретного випадку

      Як ви, напевно, знаєте, всі функції пошуку в Excel за своєю природою нечутливі до регістру. Щоб змусити формулу пошуку розрізняти малі та великі літери, використовуйте або функцію ПОИСК, або функцію ИНДЕКСПРАВО в поєднанні з функцією ТОЧНО. Я особисто віддаю перевагу функції ИНДЕКСПРАВО, оскільки вона не вимагає сортування значень у стовпці пошуку, як функція ПОИСК, може виконувати пошук як зліва направо, так і зліва направо.і справа наліво, і чудово працює з усіма типами даних.

      INDEX( return_column , MATCH(TRUE, EXACT( стовпець_пошуку , lookup_value ),0))

      З G2 - шуканим значенням, A - стовпцем для пошуку, і E - стовпцем, з якого повертаються збіги, наша формула пошуку з урахуванням регістру виглядає наступним чином:

      =INDEX($E$2:$E$6, MATCH(TRUE, EXACT($A$2:$A$6,G2),0))

      Оскільки це формула масиву обов'язково натисніть Ctrl + Shift + Enter, щоб правильно його заповнити.

      Більше прикладів формул див. у статті Як виконати пошук з урахуванням регістру в Excel.

      Пошук часткового збігу рядків

      Пошук за частковим збігом - одне з найскладніших завдань в Excel, для якого не існує універсального рішення. Яку формулу використовувати, залежить від того, які відмінності існують між шуканими значеннями та значеннями в стовпці для пошуку. У більшості випадків ви використовуєте функцію LEFT, RIGHT або MID для вилучення спільної частини значень, а потім передаєте цю частину в функцію lookup_value аргумент функції Vlookup, як це зроблено в наступній формулі:

      =VLOOKUP(RIGHT(D2,4), $A$2:$B$6, 2, FALSE)

      Де D2 - шукане значення, A2:B6 - таблиця пошуку та 2 - індекс стовпця, з якого повертаються збіги.

      Інші способи виконання пошуку часткового збігу в Excel див. в статті Як об'єднати два аркуші за частковим збігом.

      Саме так використовуються функції пошуку в Excel. Щоб більш детально ознайомитися з формулами, розглянутими в цьому уроці, ви можете завантажити приклади формул пошуку в Excel.

      Безформульний спосіб пошуку в Excel

      Зрозуміло, що пошук в Excel не є тривіальним завданням. Якщо ви робите перші кроки в освоєнні Excel, формули пошуку можуть здатися вам досить заплутаними і складними для розуміння. Але, будь ласка, не розчаровуйтеся, ці навички не є природними для більшості користувачів!

      Щоб полегшити роботу новачкам, ми створили спеціальний інструмент "Майстер злиття таблиць", який може шукати, зіставляти і об'єднувати таблиці без єдиної формули. Крім того, він надає ряд дійсно унікальних опцій, якими можуть скористатися навіть досвідчені користувачі Excel:

      • Шукати по численні критерії тобто використовувати один або декілька стовпців як унікальний ідентифікатор(и).
      • Оновлення значення в існуючих стовпчиках та додати новий колонки з пошукової таблиці.
      • Повернення кілька збігів У поєднанні з Майстром об'єднання рядків він може навіть повернути декілька результатів в одній комірці, розділених комами або іншим чином (приклад можна знайти тут).
      • І навіть більше.

      Робота з Майстром злиття таблиць проста та інтуїтивно зрозуміла. Все, що від вас вимагається - це зробити:

      1. Виберіть основну таблицю, з якої ви хочете витягнути відповідні значення.
      2. Виберіть таблицю пошуку, з якої потрібно витягти збіги.
      3. Визначте один або декілька загальних стовпців.
      4. Виберіть колонки, які необхідно оновити та/або додати в кінець таблиці.
      5. За бажанням, виберіть один або декілька додаткових параметрів злиття.
      6. Натисніть Фініш і ви матимете результат за мить!

      Якщо вам цікаво спробувати надбудову на власних аркушах, ви можете завантажити пробну версію нашого Ultimate Suite, яка включає всі наші інструменти для економії часу для Excel (загалом, 70+ інструментів і 300+ функцій!).

      Доступні для завантаження

      Приклади формул пошуку в Excel (файл .xlsx)

      Ultimate Suite 14-денна повнофункціональна версія (файл .exe)

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