Как вернуть значение в Excel, если ячейка содержит текст из списка

  • Поделись Этим
Hugh West

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

Скачать Рабочую тетрадь для практических занятий

Вы можете скачать рабочую тетрадь, которую я использовал в этой статье, по следующей кнопке и потренироваться с ней самостоятельно.

Если ячейка содержит текст из списка.xlsx

Введение в функции, используемые в данной статье

Формулы, которые я использовал здесь, используют следующие функции:

  • Функция COUNTIFS:

Эта функция подсчитывает ячейки, соответствующие нескольким критериям. Синтаксис функции Функция COUNTIFS заключается в следующем.

=COUNTIFS (диапазон1, критерии1, [диапазон2], [критерии2], ...)

  • диапазон1 - Первый диапазон для оценки.
  • критерии1 - Критерий для использования на 1-м диапазоне.
  • range2 [необязательно]: Второй диапазон действует так же, как и диапазон1.
  • критерии2 [необязательно]: Критерий, который будет использоваться на 2-ом диапазоне. Эта функция позволяет использовать максимум 127 диапазоны и пары критериев .
  • Функция TEXTJOIN:

Эта функция объединяет текстовые значения с разделителем. Синтаксис функции Функция TEXTJOIN заключается в следующем.

=TEXTJOIN (delimiter, ignore_empty, text1, [text2], ...)

  • разделитель: Разделитель между текстами, которые функция собирается объединить.
  • ignore_empty: Этот аргумент определяет, игнорирует ли функция пустые ячейки или нет.
  • text1: 1-е текстовое значение (или диапазон).
  • text2 [необязательно]: 2-е текстовое значение (или диапазон).
  • Функция MATCH:

Эта функция получает позицию элемента в массиве. Синтаксис функции Функция MATCH заключается в следующем.

=MATCH (lookup_value, lookup_array, [match_type])

  • lookup_value: Значение для сравнения в массив поиска .
  • lookup_array: Диапазон ячеек или ссылка на массив.
  • match_type [необязательно]: 1 = точное или следующее наименьшее, 0 = точное совпадение, -1 = точное или следующее наибольшее. По умолчанию, match_type=1.
  • Функция ИНДЕКС:

Эта функция получает значения в списке или таблице на основе местоположения. Синтаксис функции Функция ИНДЕКС заключается в следующем.

=INDEX (массив, row_num, [col_num], [area_num])

  • массив: Диапазон ячеек или константа массива.
  • row_num: Позиция строки в ссылке.
  • col_num [необязательно] : Позиция столбца в справочнике.
  • area_num [необязательно]: Диапазон в ссылке, который следует использовать.
  • Функция IFERROR:

Эта функция отлавливает и обрабатывает ошибки. Синтаксис функции Функция IFERROR заключается в следующем.

=IFERROR (значение, значение_if_error)

  • ценность: Значение, ссылка или формула для проверки на наличие ошибки.
  • значение_если_ошибка: Значение, возвращаемое в случае обнаружения ошибки.
  • Функция ПОИСК:

Эта функция получает расположение текста в строке. Синтаксис функции Функция ПОИСК заключается в следующем.

=SEARCH (find_text, within_text, [start_num])

  • найти_текст : Этот аргумент указывает, какой текст нужно найти.
  • в пределах_текста: Здесь указывается, где найти текст.
  • начальное_число [необязательно]: С помощью этого параметра вы указываете, с какой позиции в текстовой строке вы будете отсчитывать позицию указанного текста. Необязателен и по умолчанию равен 1 слева.

5 формул для возврата значения в Excel, если ячейка содержит определенный текст из списка

Я попытаюсь представить пример из реальной жизни в этом наборе данных. Здесь представлены некоторые напитки. Чипсы , Холодные напитки и Зерновые это три категории напитков в данном наборе данных. В одном столбце под названием Все товары Название и категории напитков связаны между собой. Две из этих категорий, Чипсы и Холодные напитки , также п Список колонка. на основе Список столбец, во втором столбце будет отображаться желаемый выход.

1. Объедините функции COUNTIF, IF & OR, чтобы вернуть значение, если ячейка содержит текст из списка

Это наиболее полезная формула, если вы хотите вернуть значение всей ячейки после совпадения.

Здесь я извлек значения ячеек из ячейки Продукция который соответствовал Список критерии столбцов и показал их Продукт, основанный на этом списке колонна.

Формула выглядит следующим образом:

=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")

Формула разбивки:

  • =IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")

Здесь Знак звездочки ( * ) является символом подстановки. Он искал " Чипсы " и "Холодные напитки" подстрока в пределах Клетка B5 который " Ruffles - чипсы " струна.

  • =IF(OR(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*)), B5, "")

Сайт COUNTIF функция возвращает единицу для каждого совпадения подстроки. Как " Чипсы " находится в Клетка B5 , возвращается { 1:0 }.

  • =IF(OR({1;0}), B5, "")

Сайт ИЛИ функция возвращает TRUE значение, если любой из аргументов TRUE В этом случае один (1)= TRUE .

  • =IF(TRUE, "Ruffles - Chips", "")

Как ЕСЛИ значение функции TRUE возвращает первый аргумент, который является желаемым результатом.

Окончательный Выход : Оборванцы - чипсы

Примечание:

Здесь я показал ячейку, которая совпала, но вы можете показать любой вывод, какой захотите, изменив параметр ЕСЛИ функции выход с желаемым выходом.

=IF(OR(COUNTIF(B5, "*"&$E$5:$E$6& "*")),TRUE,FALSE)

Читать далее: Если ячейка содержит слово, то присвоить значение в Excel (4 формулы)

2. использование комбинации IF-OR с функцией ПОИСК для возврата значения с несколькими условиями

Здесь я извлек значения ячеек из ячейки Продукция который соответствовал Список критерии столбцов и показал их Продукт, основанный на этом списке колонна.

Формула выглядит следующим образом:

=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),B5,"")

Формула разбивки:

  • =IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),B5,"")

Сайт ПОИСК функция выполнила поиск значений Список колонка в Клетка B5 . Для " Чипсы . 11 которая является начальной позицией подстроки. Для Холодные напитки , выдает ошибку.

  • =IF(OR(ISNUMBER(11),ISNUMBER(SEARCH(#VALUE)))),B5,"")

Сайт ISNUMBER преобразованная функция 11 в TRUE значение и ошибку в FALSE ценность.

  • =IF(OR(TRUE,FALSE)),B5,"")

Сайт ИЛИ функция возвращает TRUE значение, если любой из аргументов TRUE Поскольку есть TRUE аргумент, он также возвращает TRUE значение в этом случае.

  • =IF(TRUE, "Ruffles - Chips","")

Как ЕСЛИ значение функции TRUE возвращает первый аргумент, который является желаемым результатом.

Конечный результат: рябина - чипсы

Примечание:

  • Здесь я показал ячейку, которая совпала, но вы можете показать любой вывод, который хотите, изменив параметр ЕСЛИ функции выход с желаемым выходом.
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),1,0)

  • Основное преимущество этой формулы в том, что это не формула массива, но она не рекомендуется, если у вас много ячеек в Список так как вам придется вводить каждую ячейку Список вручную.
  • Для ситуаций, чувствительных к регистру, мы можем использовать приведенную ниже формулу на основе функция FIND вместо ПОИСК функция.
=IF(OR(ISNUMBER(FIND($E$5,B5)),ISNUMBER(FIND($E$6,B5))),B5,"")

Читать далее: Excel If Cell Contains Text Then Return Value (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("Ruffles - Chips",*Chips*, *Cold Drinks*),$E$5:$E$6,""))

Сайт COUNTIF функция возвращает единицу для каждого совпадения подстроки. Поскольку " Чипсы " находится в Клетка B5 , возвращается { 1:0 }.

  • TEXTJOIN(", ",TRUE,IF({1;0},$E$5:$E$6,""))

Сайт ЕСЛИ функция возвращает только " Чипсы " значение, так как только первое значение его аргумента было единицей = Правда .

  • TEXTJOIN(", ",TRUE,{"Чипсы";""})

Сайт TEXTJOIN функция здесь ничего не сделала, так как только одно значение из Список Если бы было много значений, то возвращаются все значения с запятыми (,) между ними в качестве разделителя.

Конечный результат: чипсы

Читать далее: Если ячейка содержит текст, то добавьте текст в другую ячейку в Excel

4. Использование формулы INDEX MATCH для возврата значения, если ячейка содержит определенный текст

Это альтернатива TEXTJOIN Эта формула также показывает, какая строка или строки из Список подобранные.

Здесь я извлек значения ячеек из файла СПИСОК столбец, где они совпадают с Продукт и отобразил их на значение 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 это " Ruffles - чипсы " строка.

  • 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("Чипсы","")

Здесь IFERROR используется для обработки ошибки, возникающей при отсутствии совпадений.

Конечный результат: чипсы

Примечание:

Здесь я показал ячейку, которая совпала, но вы можете показать любой вывод, какой захотите, изменив параметр ЕСЛИ функции выход с желаемым выходом.

Читать далее: Формула Excel Если ячейка содержит текст, то вернуть значение в другую ячейку

5. применение функции EXACT с IF и TEXTJOIN

Это еще одно решение данной проблемы в различных ситуациях. Здесь я извлек значение ячейки из столбца List с одним членом. Мы сопоставили это значение с Product и показали все совпадающие значения в одной ячейке.

Формула выглядит следующим образом:

=TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))

Разбивка формулы :

  • EXACT(C5:C14,$F$5)

Эта часть проверяет, какие значения Диапазон C5:14 совпадать с Ячейка F5 и вернуть TRUE и FALSE .

  • IF(EXACT(C5:C14,$F$5),B5:B14,"")

Эта часть возвращает имена, для которых мы получаем TRUE .

  • TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))

Наконец, это объединяет все имена с запятой после каждого имени.

Краткие заметки

Все эти формулы здесь (кроме 2-й) являются формулами массива. Это означает, что вы должны нажать кнопку Ctrl+Shift+Enter вместо того, чтобы нажимать только кнопку Войти кнопку для ввода этой формулы. Но если вы Office 365 пользователя, то вы можете применить их, нажав просто Войдите.

Заключение

В этой статье я привел различные формулы для различных случаев, чтобы вернуть значение, если ячейка содержит определенный текст из списка. Надеюсь, вы смогли найти решение вашей проблемы. Пожалуйста, оставьте комментарий, если у вас есть какие-либо предложения или вопросы. Кроме того, вы можете посетить наш сайт блог для других подобных статей.

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.