Оглавление
В Excel обстоятельства могут потребовать проверить, является ли ячейка содержит определенный текст Сегодня мы покажем вам, как проверить, содержит ли ячейка определенный текст. Для этого занятия мы используем Excel 2019, не стесняйтесь использовать вашу предпочтительную версию.
Прежде всего, давайте познакомимся с набором данных, который является основой для наших примеров
.
У нас есть таблица, содержащая информацию о нескольких студентах с их оценками. Используя этот набор данных, мы проверим, содержит ли ячейка определенный текст или нет.
Обратите внимание, что это базовый набор данных для простоты. В реальной жизни вы можете столкнуться с гораздо большим и сложным набором данных.
Практическая рабочая тетрадь
Вы можете скачать рабочую тетрадь по практике по ссылке ниже.
Excel Если ячейка содержит определенный текст.xlsxЕсли ячейка содержит определенный текст
1. ячейка содержит только определенный текст
Мы можем просмотреть ячейку, которая может содержать (или не содержать) только искомый текст (строку). Никаких дополнительных строк с ним не будет.
Например, в нашем наборе данных Класс колонка имеет Передано или Не удалось в каждой ячейке. Никаких лишних слов или строк там нет. Таким образом, мы можем проверить, содержит ли ячейка в этом столбце Передано или Не удалось .
Здесь, например, мы проверим, содержит ли ячейка "Пройдено" или нет, а затем добавим примечание к вновь введенной ячейке Примечания колонна.
Услышав такие слова, как "проверка", одной из первых функций, которые приходят вам в голову, является ЕСЛИ . ЕСЛИ Функция выполняет логический тест и возвращает двоичное значение (TRUE или FALSE).
Запишем формулу, используя ЕСЛИ чтобы проверить, содержит ли ячейка определенный текст "Прошел" или нет.
=IF(D4="Passed","Promoted","")
Здесь мы задали логическую операцию D4="Прошел"
который сравнивает, если D4 содержит "Прошел" или нет.
Для если_истинное_значение мы установили "Promoted", он появится в результате, как только обнаружит ячейку, содержащую текст. На данный момент, нет никаких если_ложное_значение предоставляется.
Сайт D4 ячейка имеет текст поиска "Пройдено", поэтому формула возвращает значение если_истинное_значение .
Теперь напишите формулу для остальных ячеек. Вы можете воспользоваться функцией AuoFill тоже.
Вы видите, что наша формула вернула значение если_истинное_значение , "Promoted", идеально для ячеек, содержащих "Passed".
Это работает без учета регистра. Если в любой из ячеек вместо "Passed" указано "passed", это также сработает.
Читать далее: Excel Поиск текста в диапазоне
2. ячейка содержит определенный текст (частичное совпадение)
Иногда нам может понадобиться найти определенный текст в ячейке в виде подстроки. В этом разделе мы рассмотрим, как это сделать.
Например, мы будем искать строку (название группы) в ячейках ячейки ID колонна.
Здесь мы ввели пару столбцов, которые соответствуют контексту нашего примера.
Вы можете увидеть для Строка поиска столбца мы объединили строки. Ознакомьтесь с техникой объединения строк в этой статье.
I. Поиск с помощью функции FIND (с учетом регистра)
В предыдущем разделе мы использовали ЕСЛИ для проверки текста (с помощью логического выражения). Эта функция будет использоваться, хотя нам нужны и другие вспомогательные функции.
Сайт НАЙТИ функция - это функция, которую мы будем использовать в паре с ЕСЛИ для проверки, содержит ли ячейка определенный текст хотя бы в виде подстроки.
Например, мы выбрали строку "AB", которую мы будем искать в ячейках с ID колонна.
Теперь давайте напишем формулу для B4 клетка.
=IF(ISNUMBER(FIND($E$4,B4)), "Найдено", "Не найдено")
Здесь вы можете увидеть функцию ISNUMBER . ISNUMBER возвращает TRUE когда ячейка содержит число, и FALSE если нет
Мы использовали эту функцию, потому что она проверяет, является ли НАЙТИ Результат функции - число или нет. Она возвращает булево значение.
Когда ISNUMBER возвращает TRUE тогда ЕСЛИ сработает функция if_true_value (Найдено) , иначе if_false_value (Не найдено) .
Здесь для первой ячейки ISNUMBER-FIND вернулся TRUE и конечным результатом стало "Found".
Давайте извлечем имя группы. Для этого мы воспользуемся функцией MID функция. Эта функция извлекает символы из середины заданной строки.
=IF(ISNUMBER(FIND($E$4,B4)),MID(B4,FIND($E$4,B4),2),"")
Сначала мы проверили, содержит ли ячейка определенный текст, затем в если_истинное_значение поле, мы установили MID функция для получения значения. НАЙТИ в пределах MID задает начальную точку, а затем 2 символа. Это позволит получить двухсимвольные имена групп.
Мы нашли имя группы, когда ячейка содержит текст.
Поскольку НАЙТИ чувствителен к регистру, он не будет выполнять если_истинное_значение для "ab".
Напишите код для остальных ячеек. Вы найдете название группы, которое было написано точно так же, как и Строка поиска .
Изменить Строка поиска значение, вы найдете обновленный результат.
II. Поиск с помощью функции ПОИСК (без учета регистра)
В предыдущем разделе мы рассмотрели подход, чувствительный к регистру. Чтобы сохранить гибкость, мы можем использовать подход, не чувствительный к регистру. Для этого, в качестве примера можно привести ПОИСК функция будет полезна.
ПОИСК возвращает расположение одной текстовой строки внутри другой. Работает аналогично функции НАЙТИ функция, но она не чувствительна к регистру.
Формула выглядит следующим образом
=IF(ISNUMBER(SEARCH($E$4,B4)),MID(B4,SEARCH($E$4,B4),2),"")
Это похоже на то, что в НАЙТИ раздел. Единственное изменение - мы заменили НАЙТИ с ПОИСК Остальная часть формулы такая же и работает точно так же.
Мы нашли имя группы, когда ячейка содержит текст.
Напишите формулу для остальных ячеек. Вы найдете все названия групп, в которых есть "AB" в любой форме.
Если мы напишем "ab" как Строка поиска все равно будет получать эти значения.
III. Сопоставление с помощью функции COUNTIF (нечувствительно к регистру)
Другой способ проверки того, что ячейка содержит определенный текст в качестве подстроки, заключается в комбинировании ЕСЛИ и COUNTIF Этот подход также не зависит от регистра.
Это COUNTIF функция подсчитывает ячейки в диапазоне, которые удовлетворяют одному условию.
Теперь формула будет выглядеть следующим образом.
=IF(COUNTIF(B4, "*"&$E$4& "*"),MID(B4,SEARCH($E$4,B4),2),"")
Здесь мы проверили логику с помощью COUNTIF . Использование COUNTIF проверяет, равно ли значение count 1 или нет.
Если COUNTIF возвращает 1, тогда функция if_true_value ( MID часть для извлечения имени группы) будет возвращена. MID часть обсуждается в предыдущем разделе.
За 0 от COUNTIF порция, формула вернет значение if_false_value (пустая ячейка, на данный момент).
Мы нашли соответствие, и затем формула вернула имя группы, когда ячейка содержит определенный текст.
Напишите формулу для остальных ячеек. Вы найдете все имена групп, которые имеют значение Строка поиска в любой форме.
Давайте изменим Строка поиска значение, обновленные результаты будут перед нами.
Подробнее COUNTIF Если вас интересует частичное согласование с if, вам может быть полезна статья IF Partial Match.
Заключение
На этом сегодня все. Мы перечислили несколько способов проверки наличия в ячейке определенного текста в Excel. Надеемся, что они будут вам полезны. Не стесняйтесь комментировать, если что-то покажется вам сложным для понимания. Сообщите нам о других способах, которые мы могли упустить.