Формула Excel: Текст відповідності XLOOKUP містить -

Зміст

Загальна формула

=XLOOKUP("*"&value&"*",lookup,results,,2)

Резюме

Щоб використовувати XLOOKUP для зіставлення значень, що містять певний текст, ви можете використовувати символи підстановки та конкатенацію. У наведеному прикладі формула в F5 має вигляд:

=XLOOKUP("*"&E5&"*",code,quantity,"no match",2)

де код (B5: B15) і кількість (C5: C15) називаються діапазонами.

Пояснення

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

У наведеному прикладі XLOOKUP налаштовано на відповідність значенню, введеному в комірку E5, яке може відображатися де завгодно у значеннях пошуку в B5: B15. Формула в F5:

=XLOOKUP("*"&E5&"*",code,quantity,"no match",2) // returns 50

  • lookup_value - E5, зірочками (*) поєднані спереду та ззаду
  • lookup_array - названий код діапазону (B5: B15)
  • return_array - названа кількість діапазону (C5: C15)
  • if_not_found - рядок "не збігається"
  • match_mode - надається як 2 (збіг підстановки)
  • search_mode - не надано. За замовчуванням 1 (від першого до останнього)

Щоб зробити автоматичний збіг типу "містить", підстановочна зірочка (*) одночасно додається і додається до значення в комірці E5 з конкатенацією:

"*"&E5&"*"

Після об'єднання формула стає:

=XLOOKUP("*BCC*",code,quantity,"no match",2)

XLOOKUP знаходить перший збіг, який містить "BCC" (050-BCC-123 у рядку 10), і повертає відповідне значення з масиву повернення, 50.

Зверніть увагу, що XLOOKUP не чутливий до регістру, введення "прихованої копії" в E5 поверне той самий результат:

=XLOOKUP("*bcc*",code,quantity,"no match",2) // returns 50

Дивіться нижче варіант налаштування XLOOKUP для збігу регістру.

Опція VLOOKUP

Формула VLOOKUP також підтримує символи підстановки, якщо встановлено точну відповідність. Еквівалентна формула VLOOKUP для цього прикладу:

=VLOOKUP("*"&E5&"*",B5:C15,2,0)

Повне пояснення тут.

За допомогою ПОШУКУ та ЗНАЙДИ

Також можна скористатися функціями ПОШУК і ЗНАЙТИ, щоб виконати збіг типу "містить" із XLOOKUP. Для збігу, який не враховує регістр (як у прикладі вище), ви можете використовувати ПОШУК, як це

=XLOOKUP(1,--ISNUMBER(SEARCH("BCC",code)),quantity,"no match",2)

Для збігу з урахуванням регістру ви можете замість цього використовувати FIND:

=XLOOKUP(1,--ISNUMBER(FIND("BCC",code)),quantity,"no match",2)

Обидва наведені вище варіанти спрощують розширення критеріїв на включення інших умов за допомогою логічної логіки.

Тут пояснюється логіка ISNUMBER + SEARCH.

Кілька збігів

Якщо вам потрібно кілька збігів, див. Функцію ФІЛЬТР.

Цікаві статті...