Зміст
Якщо у вас є список тексту і ви хочете здійснити пошук комірок і повернути значення на основі списку, вам потрібно буде побудувати формулу, оскільки Excel не надає простого способу зробити це. У цій статті я розглянув це питання і навів п'ять різних формул для виконання цієї операції, щоб ви могли вибрати ідеальну для вашої ситуації, і повернути значення, якщо комірка містить певний текстзі списку.
Завантажити Практичний посібник
Ви можете завантажити робочий зошит, який я використовував у цій статті, за наступною кнопкою і потренуватися з ним самостійно.
Якщо комірка містить текст з файлу List.xlsx
Вступ до функцій, що використовуються в цій статті
Формули, які я тут використав, використовують наступні функції:
- Функція COUNTIFS:
Ця функція підраховує комірки, які відповідають декільком критеріям. Синтаксис функції Функція COUNTIFS полягає в наступному.
=COUNTIFS (діапазон1, критерії1, [діапазон2], [критерії2], ...)
- діапазон1 - 1-й полігон для оцінки.
- критерії1 - Критерій для використання на 1-му полігоні.
- range2 [необов'язково]: 2-й діапазон діє так само, як і 1-й діапазон.
- критерії2 [за бажанням]: Критерій для використання на 2-му діапазоні. Ця функція дозволяє максимум 127 діапазони та пари критеріїв .
- Функція TEXTJOIN:
Ця функція з'єднує текстові значення з розділювачем. Синтаксис функції Функція TEXTJOIN полягає в наступному.
=TEXTJOIN (роздільник, ігнорувати_порожній, текст1, [текст2], ...)
- роздільник: Розділювач між текстами, які функція збирається об'єднати.
- ignore_empty: Цей аргумент визначає, чи буде функція ігнорувати порожні клітинки чи ні.
- текст1: 1-е текстове значення (або діапазон).
- текст2 [необов'язково]: 2-е текстове значення (або діапазон).
- Функція MATCH:
Ця функція отримує позицію елементу в масиві. Синтаксис функції Функція MATCH полягає в наступному.
=MATCH (lookup_value, lookup_array, [match_type])
- lookup_value: Значення, яке повинно відповідати в lookup_array .
- lookup_array: Діапазон комірок або посилання на масив.
- match_type [необов'язково]: 1 = точний або найближчий найменший, 0 = точний збіг, -1 = точний або найближчий найбільший. За замовчуванням, match_type=1.
- Функція INDEX:
Ця функція отримує значення у вигляді списку або таблиці на основі розташування. Синтаксис функції Функція INDEX полягає в наступному.
=INDEX (array, row_num, [col_num], [area_num])
- масив: Діапазон комірок або константа масиву.
- row_num: Позиція рядка в довіднику.
- col_num [необов'язково] Позиція стовпчика в довіднику.
- номер_області [необов'язково]: Діапазон, який слід використовувати.
- Функція IFERROR:
Ця функція відловлює та обробляє помилки. Синтаксис функції Функція IFERROR полягає в наступному.
=IFERROR (value, value_if_error)
- цінність: Значення, посилання або формула для перевірки на наявність помилки.
- значення_якщо_помилка: Значення, що повертається у разі виявлення помилки.
- Функція ПОШУК:
Ця функція отримує розташування тексту в рядку. Синтаксис функції Функція ПОШУК полягає в наступному.
=SEARCH (find_text, within_text, [start_num])
- find_text Текст : Цей аргумент визначає, який саме текст потрібно знайти.
- всередині_тексту: Тут вказано, де можна знайти текст.
- start_num [за бажанням]: Цим ви вказуєте - з якої позиції в текстовому рядку ви будете відраховувати позицію вказаного тексту. Необов'язково і за замовчуванням - 1 зліва.
5 Формули для повернення значення в Excel, якщо комірка містить певний текст зі списку
Я спробую навести приклад з реального життя в цьому наборі даних. Тут представлені деякі напої. Чіпси , Холодні напої і Зернові культури це три категорії напоїв у цьому наборі даних. В одному стовпчику під назвою Всі продукти Назва та категорії напоїв пов'язані між собою. Дві з цих категорій, Чіпси і Холодні напої також є n Список Виходячи з даних, наведених у колонці Список стовпчик, бажаний результат буде відображено у другому стовпчику.
1. об'єднання функцій COUNTIF, IF & OR для повернення значення, якщо комірка містить текст зі списку
Це найбільш корисна формула, якщо ви хочете повернути значення всієї комірки після збігу.
Тут я витягнув значення комірок Продукція що збігається з Список критеріїв стовпчика і показав їх на Продукт на основі цього переліку колонка.
Формула виглядає наступним чином:
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
Розбивка формули:
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
Тут, в рамках програми "Відкритий світ", відбулася презентація Знак "Зірочка ( * ) є символом підстановки. Він шукав " Чіпси " та підрядка "Холодні напої" в межах Комірка B5 а саме "
Рюші - фішки
"
струна.
-
=IF(OR(COUNTIF("Оборки - Фішки",*Фішки*, *Холодні напої*)), B5, "")
На сьогоднішній день, на жаль, це не так. COUNTIF повертає одиницю для кожного збігу підрядків. "
Чіпси
"
міститься в Комірка B5 повертає { 1:0 }.
=IF(OR({1;0}), B5, "")
На сьогоднішній день, на жаль, це не так. АБО функція повертає значення ПРАВДА значення, якщо будь-який з аргументів є ПРАВДА У цьому випадку один (1) = ПРАВДА .
=IF(TRUE, "Оборки - фішки", "")
Як зазначено в доповіді ЯКЩО значення функції дорівнює ПРАВДА повертає перший аргумент, який є шуканим результатом.
Фінал Вихідні дані : Рюші - фішки
Зауважте:
Тут я показав комірку, яка відповідає, але ви можете показати будь-який результат, як ви хочете, змінивши ЯКЩО виведення функцій з потрібним вам виходом.
=IF(OR(COUNTIF(B5, "*"&$E$5:$E$6& "*")),TRUE,FALSE)
Читати далі: Якщо комірка містить слово, то присвоїти значення в Excel (4 формули)
2. використання комбінації IF-OR з функцією пошуку для повернення значення з декількома умовами
Тут я витягнув значення комірок Продукція що збігається з Список критеріїв стовпчика і показав їх на Продукт на основі цього переліку колонка.
Формула виглядає наступним чином:
=IF(OR(ISUMBER(SEARCH($E$5,B5)),ISUMBER(SEARCH($E$6,B5))),B5,"")
Розбивка формули:
=IF(OR(ISUMBER(SEARCH($E$5,B5)),ISUMBER(SEARCH($E$6,B5))),B5,"")
На сьогоднішній день, на жаль, це не так. ПОШУК функція перебирала значення параметрів Список стовпчик в Комірка B5 "За" Чіпси "він повернувся. 11 яка є початковою позицією підрядка. Холодні напої він повертає помилку.
=IF(OR(ISUMBER(11),ISUMBER(SEARCH(#VALUE))),B5,"")
На сьогоднішній день, на жаль, це не так. НОМЕР функція перетворена 11 в ПРАВДА значення і похибка в НЕПРАВДА цінність.
=IF(OR(TRUE,FALSE)),B5,"")
На сьогоднішній день, на жаль, це не так. АБО функція повертає значення ПРАВДА значення, якщо будь-який з аргументів є ПРАВДА Оскільки існує ПРАВДА він також повертає аргумент ПРАВДА значення в даному випадку.
=IF(TRUE, "Оборки - фішки","")
Як зазначено в доповіді ЯКЩО значення функції дорівнює ПРАВДА повертає перший аргумент, який є шуканим результатом.
Кінцевий результат: оборки - фішки
Зауважте:
- Тут я показав комірку, яка відповідає, але ви можете показати будь-який результат, який ви хочете, змінивши ЯКЩО виведення функцій з потрібним вам виходом.
=IF(OR(ISUMBER(SEARCH($E$5,B5)),ISUMBER(SEARCH($E$6,B5))),1,0)
- Основною перевагою цієї формули є те, що вона не є формулою масиву, але її не рекомендується використовувати, якщо у вас багато комірок в Список оскільки ви повинні вписати кожну клітинку Список вручну.
- Для ситуацій, чутливих до конкретного випадку, ми можемо використовувати наведену нижче формулу, засновану на Функція FIND замість ПОШУК функцію.
=IF(OR(ISUMBER(FIND($E$5,B5)),ISUMBER(FIND($E$6,B5))),B5,"")
Читати далі: Excel Якщо комірка містить текст, то повернути значення (8 простих способів)
Схожі читання:
- Як підсумувати, якщо комірка містить певний текст в Excel (6 способів)
- Використання VLOOKUP, якщо клітинка містить слово в тексті в Excel
- Як знайти текст у діапазоні Excel та повернути посилання на комірку (3 способи)
3. використання формули TEXTJOIN для повернення значення в іншу комірку, якщо комірка містить текст зі списку
Ця формула корисна, коли потрібно показати, який рядок або рядки з Список збіглися.
Тут я отримав значення комірок з таблиці СПИСОК де вони збігалися з колонкою Продукт і показав їх до значення Matched від Список колонка.
Формула виглядає наступним чином:
=TEXTJOIN(", ",TRUE,IF(COUNTIF(B5, "*"&$E$5:$E$6& "*"), $E$5:$E$6,""))
Розбивка формули:
=TEXTJOIN(", ",TRUE,IF(COUNTIF(B5, "*"&$E$5:$E$6& "*"),$E$5:$E$6,""))
Тут, в рамках програми "Відкритий світ", відбулася презентація Знак "Зірочка ( * ) є символом підстановки. Він шукав " Чіпси " та підрядка "Холодні напої" у комірці B5, який має вигляд " Рюші - фішки "рядок.
TEXTJOIN(", ",TRUE,IF(COUNTIF("Оборки - Фішки",*Фішки*, *Холодні напої*),$E$5:$E$6,""))
На сьогоднішній день, на жаль, це не так. COUNTIF функція повертає одиницю для кожного збігу підрядків. Оскільки " Чіпси " міститься в Комірка B5 повертає { 1:0 }.
TEXTJOIN(", ",TRUE,IF({1;0},$E$5:$E$6,""))
На сьогоднішній день, на жаль, це не так. ЯКЩО функція повернула тільки " Чіпси " значення, оскільки тільки перше значення його аргументу було одиницею = =. Правда .
TEXTJOIN(", ",TRUE,{"Фішки";""})
На сьогоднішній день, на жаль, це не так. ПРИЄДНУЙТЕСЬ тут нічого не зробила, оскільки лише одне значення з масиву Список Якби знайдено багато значень, то програма повернула б їх усі з комами (,) між ними як роздільник.
Кінцевий продукт: чіпси
Читати далі: Якщо комірка містить текст, додайте текст в іншу комірку в Excel
4. використання формули зіставлення індексів для повернення значення, якщо комірка містить певний текст
Це є альтернативою ПРИЄДНУЙТЕСЬ Ця формула також показує, який рядок або рядки з Список збіглися.
Тут я отримав значення комірок з таблиці СПИСОК де вони збігалися з колонкою Продукт і показав їх до значення Matched від Список колонка.
Формула виглядає наступним чином:
=IFERROR(INDEX($E$5:$E$6, MATCH(1, COUNTIF(B5, "*"&$E$5:$E$6& "*"), 0)),"")
Розбивка формули:
=IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF(B5, "*"&$E$5:$E$6& "*"),0)),"")
Тут, в рамках програми "Відкритий світ", відбулася презентація Знак "Зірочка ( * ) є символом підстановки. Він шукав " Чіпси " і " Холодні напої " підрядок всередині Комірка B5 а саме Рюші - фішки "рядок.
IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF("Ruffles - Chips",*Chips*,*Cold Drinks*),0)),"")
На сьогоднішній день, на жаль, це не так. COUNTIF функція повертає одиницю для кожного збігу підрядків. Оскільки " Чіпси " міститься в Комірка B5 повертає { 1:0 }.
IFERROR(INDEX($E$5:$E$6,MATCH(1,{1;0}),0)),"")
На сьогоднішній день, на жаль, це не так. МАТЧ функція повернула одиницю, оскільки є тільки одне значення " Чіпси "збіглися.
IFERROR(INDEX($E$5:$E$6,1),"")
На сьогоднішній день, на жаль, це не так. ІНДЕКС функція повернула " Чіпси ", як це було у випадку з вартістю в Список масив.
IFERROR("Chips","")
Тут, в рамках програми "Відкритий світ", відбулася презентація ПОМИЛКА використовується для обробки помилки, яка виникне у разі відсутності збігів.
Кінцевий продукт: чіпси
Зауважте:
Тут я показав комірку, яка відповідає, але ви можете показати будь-який результат, як ви хочете, змінивши ЯКЩО виведення функцій з потрібним вам виходом.
Читати далі: Формула Excel Якщо комірка містить текст, то повернути значення в іншу комірку
5. застосування функції EXACT з IF та TEXTJOIN
Це ще одне рішення цієї проблеми в різних ситуаціях. Тут я витягнув значення комірки зі стовпця Список з одним членом. Ми зіставили це значення з Товаром і показали всі значення збігу в одній комірці.
Формула виглядає наступним чином:
=TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))
Розбивка по формулам :
EXACT(C5:C14,$F$5)
У цій частині перевіряється, які значення Діапазон C5:14 збігаються з Комірка F5 і повернутися ПРАВДА і НЕПРАВДА .
IF(EXACT(C5:C14,$F$5),B5:B14,"")
Ця частина повертає імена, для яких отримуємо ПРАВДА .
TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))
Нарешті, це об'єднує всі імена з комою після кожного імені.
Короткі нотатки
Всі ці формули тут (крім 2-ї) є формулами масиву, тобто потрібно натиснути Ctrl+Shift+Enter замість того, щоб натиснути лише кнопку Увійдіть для введення цієї формули. Але якщо ви є Office 365 користувач, то ви можете застосувати їх, натиснувши просто Увійдіть.
Висновок
У цій статті я розглянув різні формули для різних випадків повернення значення, якщо комірка містить певний текст зі списку. Сподіваюся, ви змогли знайти рішення своєї проблеми. Якщо у вас є якісь пропозиції або питання, будь ласка, залишайте коментарі. Крім того, ви можете відвідати наш розділ блог за іншими подібними статтями.