Извлечение первого совпадающего значения из ячейки по списку
Предположим, у вас есть список ключевых слов. Чтобы извлечь первое ключевое слово, встречающееся в определённой ячейке (при условии, что ячейка содержит несколько других значений), используйте формулу с функциями ИНДЕКС и ПОИСКПОЗ, дополнительно задействовав функции AGGREGATE и ПОИСК.

Как извлечь первое совпадающее значение из ячейки на основе списка?
Чтобы получить первое совпадающее ключевое слово в ячейке по сравнению со списком ключевых слов, как показано в таблице выше, нужно выполнить частичное совпадение, а не точное. Для этого используйте функцию ПОИСК, чтобы передать позиции найденных в ячейке ключевых слов (в виде чисел) в функцию AGGREGATE. Затем функция AGGREGATE определит наименьшее число, если установить параметр function_num в значение 15, а аргумент ref2 — в значение 1. После этого с помощью функции ПОИСКПОЗ находится позиция этого наименьшего значения, и полученный номер передаётся функции ИНДЕКС для извлечения соответствующего ключевого слова.
Общий синтаксис
=INDEX(keyword_rng,MATCH(AGGREGATE(15,6,SEARCH(keyword_rng,lookup_cell),1),SEARCH(keyword_rng,lookup_cell),0))
√ Примечание. Это формула массива, которую необходимо вводить с нажатием Ctrl+Shift+Enter.
- keyword_rng: Диапазон ячеек с ключевыми словами.
- lookup_cell: Ячейка, в которой выполняется поиск ключевых слов.
Чтобы извлечь первое совпадающее ключевое слово, появившееся в ячейке B5, по сравнению со столбцом «Ключевые слова», скопируйте или введите приведённую ниже формулу в ячейку C5 и нажмите Ctrl+Shift+Enter, чтобы получить результат:
=ИНДЕКС()$E$5:$E$7,ПОИСКПОЗ(AGGREGATE(15,6,ПОИСК()))$E$5:$E$7,B5),1),ПОИСК($E$5:$E$7,B5),0))
√ Примечание. Знаки доллара ($) выше указывают на абсолютные ссылки, что означает, что диапазон keyword_rngв формуле не изменится при перемещении или копировании формулы в другие ячейки. Однако знаки доллара не добавлены к ячейке lookup_cell, поскольку требуется, чтобы она была динамической. После ввода формулы перетащите маркер заполнения вниз, чтобы применить формулу к ячейкам ниже.

Пояснение формулы
=INDEX($E$5:$E$7,MATCH(AGGREGATE(15,6,SEARCH($E$5:$E$7,B5),1),SEARCH($E$5:$E$7,B5),0))
- SEARCH($E$5:$E$7,B5):Функция ПОИСК возвращает позицию каждого ключевого слова из диапазона $E$5:$E$7, если оно найдено (в виде числа), и ошибку #ЗНАЧ!, если не найдено. Результат представлен в виде массива следующего вида: {15;11;#ЗНАЧ!}.
- AGGREGATE(15,6,)SEARCH($E$5:$E$7,B5),1)=AGGREGATE(15,6,){15;11;#ЗНАЧ!},1):Функция AGGREGATE с параметром function_num, равным 15, и параметром option, равным 6, возвращает наименьшее значение в массиве согласно аргументу ref2, равному 1, игнорируя при этом ошибки. Таким образом, данный фрагмент вернёт значение 11.
- ПОИСКПОЗ()AGGREGATE(15,6,)SEARCH($E$5:$E$7,B5),1),SEARCH($E$5:$E$7,B5)=ПОИСКПОЗ()11,{15;11;#ЗНАЧ!},0): Аргумент match_type = 0 заставляет функцию ПОИСКПОЗ выполнить точное совпадение и вернуть позицию значения 11 в массиве {15;11;#ЗНАЧ!}. Таким образом, функция возвращает значение 2.
- ИНДЕКС($E$5:$E$7,)ПОИСКПОЗ()AGGREGATE(15,6,)SEARCH($E$5:$E$7,B5),1),SEARCH($E$5:$E$7,B5)) = ИНДЕКС($E$5:$E$7,2):Затем функция ИНДЕКС возвращает 2-е значение из диапазона $E$5:$E$7, то есть bbb.
Примечание
- Если в ячейке отсутствуют ключевые слова, появится ошибка #ЧИСЛО!.
- Формула не учитывает регистр. Чтобы выполнить поиск с учётом регистра, просто замените функцию ПОИСК на функцию НАЙТИ.
Связанные функции
Функция ИНДЕКС в Excel возвращает отображаемое значение из указанной позиции диапазона или массива.
Функция ПОИСКПОЗ в Excel ищет заданное значение в диапазоне ячеек и возвращает его относительную позицию.
В Excel функция ПОИСК позволяет находить позицию определённого символа или подстроки в заданной текстовой строке, как показано на следующем снимке экрана. В данном руководстве описано, как использовать функцию ПОИСК в Excel.
Функция AGGREGATE в Excel возвращает агрегированный результат вычислений — таких как СУММ, СЧЁТ, НАИМЕНЬШИЙ и другие, — с возможностью игнорировать ошибки и скрытые строки.
Связанные формулы
Извлечение первого значения из списка, содержащегося в ячейке
Чтобы извлечь первое ключевое слово из списка в определённой ячейке — при условии, что ячейка содержит одно из нескольких заданных значений, — используйте мощную формулу массива на основе функций ИНДЕКС, ПОИСКПОЗ, ЕЧИСЛО и ПОИСК.
Точное совпадение с помощью ИНДЕКС и ПОИСКПОЗ
Если вам нужно быстро найти в Excel информацию о конкретном продукте, фильме, человеке или чём-то ещё — используйте мощную комбинацию функций ИНДЕКС и ПОИСКПОЗ.
Проверка наличия определённого текста в ячейке
В этом руководстве приведены формулы для проверки наличия определённого текста в ячейке с возвратом значений ИСТИНА или ЛОЖЬ — как показано на снимке экрана ниже, — а также подробно разобраны их аргументы и принцип работы.
Проверка наличия всех указанных элементов в ячейке
Допустим, в Excel у вас есть список значений в столбце E, и вы хотите проверить, содержат ли ячейки в столбце B все эти значения из столбца E, получая в результате ИСТИНА или ЛОЖЬ, как показано на снимке экрана ниже. В этом руководстве представлена формула, которая решает именно эту задачу.
Проверка наличия хотя бы одного из нескольких элементов в ячейке
В этом руководстве представлена формула для проверки, содержит ли ячейка хотя бы одно из нескольких заданных значений в Excel, а также подробно разобраны её аргументы и принцип работы.
Лучшие инструменты для повышения продуктивности в Office
Kutools для Excel — Помогает Вам выделяться из толпы
Kutools для Excel предлагает более 300 функций,гарантируя, что всё необходимое всегда под рукой…
Office Tab — Включает вкладочное чтение и редактирование в Microsoft Office (включая Excel)
- Переключайтесь между десятками открытых документов всего за секунду!
- Сокращает сотни кликов мышью каждый день — забудьте о «мышечной руке» раз и навсегда!
- Повышает продуктивность на 50 % при одновременном просмотре и редактировании нескольких документов.
- Добавляет эффективность вкладок в Office (включая Excel) — как в Chrome, Edge и Firefox.