Excel ячейка содержит часть текста: Excel если ячейка содержит определенный текст то значение равно
Содержание
Функция ЕСЛИ СОДЕРЖИТ — EXCEL СПб
Наверное, многие задавались вопросом, как найти функцию в EXCEL«СОДЕРЖИТ», чтобы применить какое-либо условие, в зависимости от того, есть ли в текстовой строке кусок слова, или отрицание, или часть наименования контрагента, особенно при нестандартном заполнении реестров вручную.
Такой функционал возможно получить с помощью сочетания двух обычных стандартных функций – ЕСЛИ и СЧЁТЕСЛИ.
Рассмотрим пример автоматизации учета операционных показателей на основании реестров учета продаж и возвратов (выгрузки из сторонних программ автоматизации и т.п.)
У нас есть множество строк с документами Реализации и Возвратов.
Все документы имеют свое наименование за счет уникального номера.
Нам необходимо сделать признак «Только реализация» напротив документов продажи, для того, чтобы в дальнейшем включить этот признак в сводную таблицу и исключить возвраты для оценки эффективности деятельности отдела продаж.
Выражение должно быть универсальным, для того, чтобы обрабатывать новые добавляемые данные.
Для того, чтобы это сделать, необходимо:
- Начинаем с ввода функции ЕСЛИ (вводим «=», набираем наименование ЕСЛИ, выбираем его из выпадающего списка, нажимаем fx в строке формул).
- В открывшемся окне аргументов, в поле Лог_выражение вводим СЧЁТЕСЛИ(), выделяем его и нажимаем 2 раза fx.
- Далее в открывшемся окне аргументов функции СЧЁТЕСЛИ в поле «Критерий» вводим кусок искомого наименования *реализ*, добавляя в начале и в конце символ *.
Такая запись даст возможность не думать о том, с какой стороны написано слово реализация (до или после номера документа), а также даст возможность включить в расчет сокращенные слова «реализ.» и «реализац.»
- Аргумент «Диапазон» — это соответствующая ячейка с наименованием документа.
- Далее нажимаем ОК, выделяем в строке формул ЕСЛИ и нажимаем fx и продолжаем заполнение функции ЕСЛИ.
- В Значение_если_истина вводим «Реализация», а в Значение_если_ложь – можно ввести прочерк « — »
- Далее протягиваем формулу до конца таблицы и подключаем сводную.
Теперь мы можем работать и сводить данные только по документам реализации исключая возвраты. При дополнении таблицы новыми данными, остается только протягивать строку с нашим выражением и обновлять сводную таблицу.
Если материал Вам понравился или даже пригодился, Вы можете поблагодарить автора, переведя определенную сумму по кнопке ниже:
(для перевода по карте нажмите на VISA и далее «перевести»)
Формула Эксель ЕСЛИ ячейка содержит текст то значение равно (условия с текстом)
Автор Амина С. На чтение 5 мин. Опубликовано
Функция ЕСЛИ является одной из наиболее часто используемых в Excel. Она позволяет выполнять лишь те действия действий, которые соответствуют заданным пользователем критериям. Она может использоваться для проверки условий любого типа, включая текстовые. Сегодня мы разберем использование этой функции для ситуации, в которых критерием выступает соответствие или несоответствие определенному тексту.
Для начала давайте опишем в общих чертах, как использовать функцию ЕСЛИ. Это условный оператор, позволяющий осуществить проверку, соответствует ли конкретное значение конкретному критерию. Он содержит три обязательных аргумента:
- Условие. Может выступать арифметическим знаком или логической функцией. В любом случае, главное требование к условию – оно должно возвращать значение ИСТИНА или ЛОЖЬ.
- Значение, если ИСТИНА. Это текст, который выводится или функция, которая будет выполняться в случае истинности значения. Допустимо использование нескольких вложенных функций ЕСЛИ для того, чтобы выполнять многоуровневые проверки.
- Значение, если ЛОЖЬ. Это текст, функция или значение любого другого типа, которое будет показываться или выполняться в случае, если описанный в первом аргументе критерий не соответствует действительности.
Теперь же, после того, как мы вспомнили синтаксис этой функции, давайте более детально разберем особенности ее применения вместе с текстовыми значениями.
Проверка условия для полного совпадения текста (ЕСЛИ + СОВПАД)
Совпадение с текстом – одно из наиболее часто используемых условий в Excel. Во время проверки нужно обратить особое внимание на регистр текста, потому что он не учитывается функцией ЕСЛИ. Чтобы проверять регистр текста, необходимо использовать абсолютно другие функции.
В целом, для проверки соответствия переменной текстовой строке необходимо использовать логический оператор =. Общая функция выглядит следующим образом: =ЕСЛИ(G2=”выполнено”,ИСТИНА,ЛОЖЬ).
В этом случае строки могут быть записаны в разном регистре, и этот фактор не будет учитываться в функции ЕСЛИ. А что делать, если нужно проверить именно на разность регистров букв? Для этого вместо оператора = нужно использовать функцию СОВПАД, которая проверяет, являются ли текстовые строки идентичными.
Не стоит забывать заключать все текстовые значения в кавычки.
Сама функция работает следующим образом: она смотрит на текстовую строку 1, текстовую строку 2. Если они полностью совпадают, то она передает в ячейку или в аргумент функции значение ИСТИНА. Если же в результате анализа строк обнаруживается хотя бы одно различие, функция возвращает значение ЛОЖЬ.
Чтобы передать функцию СОВПАД функции ЕСЛИ, необходимо её использовать в качестве первого аргумента. Например, формула может иметь следующий вид: =ЕСЛИ(СОВПАД(G2,”Выполнено”),”Да”,”Нет”). Как мы видим в этом примере, эта формула понимает, что строки “ВЫПОЛНЕНО” и “выполнено” не являются идентичными.
Эта функция будет полезна, например, если вам нужно сравнить артикулы товаров или выполнить любое другое действие, требующее различения строк по регистру.
Функция ЕСЛИ с частичным совпадением текста
Ранее мы разобрались, как сравниваются строки на предмет полного соответствия. Но в некоторых ситуациях достаточно лишь частичного совпадения строки с эталоном. Например, нам нужен город, но какой именно – не столь важно. Самый простой метод, как это сделать – использовать операторы ? и *. Но это хорошая идея далеко не во всех ситуациях.
ЕСЛИ + ПОИСК
Один из самых надежных способов добиться поставленной задачи – использование функции ПОИСК в качестве аргумента функции ЕСЛИ. С её помощью пользователь может определить порядковый номер знака, который начинает отсчёт строки. В общем виде эта функция выглядит следующим образом: =ПОИСК(что_ищем, где_ищем, начиная_с_какого_символа_ищем).
При этом третий аргумент не является обязательным. Если его не указывать, поиск будет осуществляться с самого начала строки. В качестве возвращаемого в этой функции значения используется номер знака, с которого начинается нужная строка или же код ошибки.
Эта функция должна использоваться совместно с ещё одним оператором. Называется он ЕЧИСЛО. Его задача – проверка, является ли определённая переменная числом. Если да, ячейке или функции передаётся значение ИСТИНА. Она может использоваться, чтобы проверить, является ли конкретная переменная текстовой. Вот, как ее использовать для наших целей: =ЕСЛИ(ЕЧИСЛО(ПОИСК(“город”,B2)),”Город”,””).
Эта функция работает по следующему алгоритму: она проверяет, является ли значение, возвращенное функцией поиска, числовым. Если да, то возвращаемое значение – «Город». Логика очень простая. Дело в том, что эта функция также фильтрует любые другие типы данных, кроме текстовых. Поскольку функция «Поиск» может возвращать и ошибку в случае ненахождения соответствующего числа, то функция ЕЧИСЛО дает возможность его отфильтровать. Если оказывается, что функция ЕЧИСЛО говорит, что была выдана ошибка, то в качестве аргумента передается пустое значение.
Единственный момент, который нужно учитывать, используя эту функцию – данный способ не подходит для различения частичного совпадения с учетом регистра. То есть, этот метод по сути аналогичный использованию знака =, только для частичного совпадения.
ЕСЛИ + НАЙТИ
Если же пользователю нужно сравнивать строки и по регистру, то тогда используется другая функция – НАЙТИ. Она работает абсолютно аналогичным образом, только только учитывает большие и малые буквы. Ее синтаксис включает следующие аргументы:
- Что ищем.
- Где осуществляется поиск.
- С какой позиции ищется нужный текст.
Следовательно, и использование формулы будет абсолютно аналогичным. =ЕСЛИ(ЕЧИСЛО(ПОИСК(“город”,B2)),”Город”,””). Как видим, функция ЕСЛИ дает возможность осуществлять самые разнообразные операции. Это один из главных операторов Excel, который позволяет автоматизировать почти все, что только можно.
Оцените качество статьи. Нам важно ваше мнение:
Excel функция: IF ячейка содержит определенный текст, а затем выполняется определенная формула
Помощь была бы признательна ребятам 🙂
Я создаю бухгалтерскую книгу и немного запутался в функции IF, THEN. Моя дилемма заключается в следующем:
Function for Cell E1:
If cell A1 contains the word "BUY", then execute the formula: "B1 * C1"
OR
If cell A1 contains the word "SELL", then execute the formula: "(100 - B1) * C1"
Примечание: ячейка A1 будет содержать ONLY одно из двух слов, «BUY» или «SELL»
Любая помощь будет оценена по достоинству, для меня это как греческий :/
excel
function
if-statement
Поделиться
Источник
Mr SnowGlobe
09 апреля 2018 в 03:03
2 ответа
- Excel если Формула, изменяющая одну ячейку, содержит данные, а другая ячейка имеет конкретное значение
У меня есть электронная таблица excel, которая содержит данные для проектов, над которыми мы работаем. Мне нужно вывести Assign Me в ячейку C3, если A3 содержит какие-либо данные, а B3 не содержит 5 разных имен членов команды. Смотри рисунок ниже: мне нужна информация, чтобы прочитать назначить…
- Как проверить, содержит ли ячейка дату менее 6 месяцев назад или содержит ли она текст?
У меня есть столбец в Excel, который содержит список дат, скажем, например 02/09/13 а затем в другом столбце у меня есть формула, чтобы определить, является ли дата на 6 месяцев старше сегодняшней, и если да, то она должна отображать True в этом столбце: 02/09/13 True моя формула до сих пор такова…
2
Попробуйте это:
=IF(A1 = "BUY", B1 * C1, IF(A1 = "SELL", (100 - B1) * C1, ""))
Поделиться
Loocid
09 апреля 2018 в 03:05
0
Попробуйте это в E1,
=if(b1="sell", 100 -b1, b1) * C1
Поделиться
Unknown
09 апреля 2018 в 03:13
Похожие вопросы:
(SSRS) если ячейка содержит определенный текст, то разделите другую ячейку на число, скажем 2
У меня возникли проблемы с попыткой разделить ячейку на (число) только в том случае, если другая ячейка содержит определенный текст, и если ячейка содержит другой текст, я хочу, чтобы она была…
Определите, какая ячейка в строке содержит определенный текст
У меня есть столбец, содержащий текст, и я хотел бы выполнить поиск по всему этому столбцу, чтобы определить, в какой ячейке содержимое содержит текст, который я ищу. СНиП данных excel Мне нужно…
Условное форматирование, если какая-либо ячейка в строке содержит текст
У меня есть эта формула, которая добавляет границу к строке, если определенная ячейка в этой строке содержит какой-либо текст: =$C5<> Я хочу изменить формулу, чтобы она смотрела не только на…
Excel если Формула, изменяющая одну ячейку, содержит данные, а другая ячейка имеет конкретное значение
У меня есть электронная таблица excel, которая содержит данные для проектов, над которыми мы работаем. Мне нужно вывести Assign Me в ячейку C3, если A3 содержит какие-либо данные, а B3 не содержит 5…
Как проверить, содержит ли ячейка дату менее 6 месяцев назад или содержит ли она текст?
У меня есть столбец в Excel, который содержит список дат, скажем, например 02/09/13 а затем в другом столбце у меня есть формула, чтобы определить, является ли дата на 6 месяцев старше сегодняшней,…
формула, что если ячейка содержит число в строке текста, она отображает его в другой ячейке
Я ищу формулу в excel, что если ячейка содержит число в строке текста, она отображает это число, игнорируя другой текст. Таким образом, если A1 содержит текст license12M, формула в A2 отображает 12….
Ячейка содержит определенный текст
В столбце a ячейка A2 содержит описание с CID и cktID и схемой ID и идентификатором CKT и схемой и ck В столбце B ячейка B2 содержит полосу 10 В столбце C ячейка C2 содержит политику, которая…
как вернуть значение в другую ячейку, если ячейка содержит определенный текст в макросе excel
как вернуть значение в другую ячейку, если ячейка содержит определенный текст в excel с помощью VBA. Например, предположим, что если какая-либо ячейка в диапазоне от B14 до Z14 содержит Jun, то…
Excel VBA: Как очистить содержимое для указанных ячеек, если другая ячейка содержит определенный текст или строку
У меня возникли некоторые проблемы с поиском кода VBA для удаления нескольких определенных ячеек, если определенная ячейка содержит определенный текст. Эта электронная таблица также может содержать…
Создайте встречу Outlook IF ячейка содержит определенный текст
Я пытаюсь создать новую встречу Outlook с данными Excel, если ячейка содержит слово Yes. Sub AddAppointments() ‘ Create the Outlook session Set myOutlook = CreateObject(Outlook.Application) ‘ Start…
Формула в excel если ячейка содержит текст – 4apple – взгляд на Apple глазами Гика
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Допустим, вы хотите убедиться, что столбец имеет текст, а не числа. Или перхапсйоу нужно найти все заказы, соответствующие определенному продавцу. Если вы не хотите учитывать текст верхнего или нижнего регистра, есть несколько способов проверить, содержит ли ячейка.
Вы также можете использовать фильтр для поиска текста. Дополнительные сведения можно найти в разделе Фильтрация данных.
Поиск ячеек, содержащих текст
Чтобы найти ячейки, содержащие определенный текст, выполните указанные ниже действия.
Выделите диапазон ячеек, которые вы хотите найти.
Чтобы выполнить поиск на всем листе, щелкните любую ячейку.
На вкладке Главная в группе Редактирование нажмите кнопку найти _амп_и выберите пункт найти.
В поле найти введите текст (или числа), который нужно найти. Вы также можете выбрать последний поисковый запрос из раскрывающегося списка найти .
Примечание: В критериях поиска можно использовать подстановочные знаки.
Чтобы задать формат поиска, нажмите кнопку Формат и выберите нужные параметры в всплывающем окне Найти формат .
Нажмите кнопку Параметры , чтобы еще больше задать условия поиска. Например, можно найти все ячейки, содержащие данные одного типа, например формулы.
В поле внутри вы можете выбрать лист или книгу , чтобы выполнить поиск на листе или во всей книге.
Нажмите кнопку найти все или Найти далее.
Найдите все списки всех вхождений элемента, который нужно найти, и вы можете сделать ячейку активной, выбрав определенное вхождение. Вы можете отсортировать результаты поиска » найти все «, щелкнув заголовок.
Примечание: Чтобы остановить поиск, нажмите клавишу ESC.
Проверка ячейки на наличие в ней текста
Для выполнения этой задачи используйте функцию текст .
Проверка соответствия ячейки определенному тексту
Используйте функцию Если , чтобы вернуть результаты для указанного условия.
Проверка соответствия части ячейки определенному тексту
Для выполнения этой задачи используйте функции Если, Поиски функция номер .
Примечание: Функция Поиск не учитывает регистр.
Get expert help now
Don’t have time to figure this out? Our expert partners at Excelchat can do it for you, 24/7.
Функция ЕСЛИ СОДЕРЖИТ
Наверное, многие задавались вопросом, как найти функцию в EXCEL«СОДЕРЖИТ» , чтобы применить какое-либо условие, в зависимости от того, есть ли в текстовой строке кусок слова , или отрицание, или часть наименования контрагента, особенно при нестандартном заполнении реестров вручную.
Такой функционал возможно получить с помощью сочетания двух обычных стандартных функций – ЕСЛИ и СЧЁТЕСЛИ .
Рассмотрим пример автоматизации учета операционных показателей на основании реестров учета продаж и возвратов (выгрузки из сторонних программ автоматизации и т.п.)
У нас есть множество строк с документами Реализации и Возвратов .
Все документы имеют свое наименование за счет уникального номера .
Нам необходимо сделать признак « Только реализация » напротив документов продажи, для того, чтобы в дальнейшем включить этот признак в сводную таблицу и исключить возвраты для оценки эффективности деятельности отдела продаж.
Выражение должно быть универсальным , для того, чтобы обрабатывать новые добавляемые данные .
Для того, чтобы это сделать, необходимо:
- Начинаем с ввода функции ЕСЛИ (вводим «=» , набираем наименование ЕСЛИ , выбираем его из выпадающего списка, нажимаем fx в строке формул).
В открывшемся окне аргументов, в поле Лог_выражение вводим СЧЁТЕСЛИ() , выделяем его и нажимаем 2 раза fx.
Далее в открывшемся окне аргументов функции СЧЁТЕСЛИ в поле «Критерий» вводим кусок искомого наименования *реализ* , добавляя в начале и в конце символ * .
Такая запись даст возможность не думать о том, с какой стороны написано слово реализация (до или после номера документа), а также даст возможность включить в расчет сокращенные слова «реализ.» и «реализац.»
Теперь мы можем работать и сводить данные только по документам реализации исключая возвраты . При дополнении таблицы новыми данными, остается только протягивать строку с нашим выражением и обновлять сводную таблицу.
Если материал Вам понравился или даже пригодился, Вы можете поблагодарить автора, переведя определенную сумму по кнопке ниже:
(для перевода по карте нажмите на VISA и далее «перевести»)
Логический оператор ЕСЛИ в Excel применяется для записи определенных условий. Сопоставляются числа и/или текст, функции, формулы и т.д. Когда значения отвечают заданным параметрам, то появляется одна запись. Не отвечают – другая.
Логические функции – это очень простой и эффективный инструмент, который часто применяется в практике. Рассмотрим подробно на примерах.
Синтаксис функции ЕСЛИ с одним условием
Синтаксис оператора в Excel – строение функции, необходимые для ее работы данные.
Разберем синтаксис функции:
Логическое_выражение – ЧТО оператор проверяет (текстовые либо числовые данные ячейки).
Значение_если_истина – ЧТО появится в ячейке, когда текст или число отвечают заданному условию (правдивы).
Значение,если_ложь – ЧТО появится в графе, когда текст или число НЕ отвечают заданному условию (лживы).
Оператор проверяет ячейку А1 и сравнивает ее с 20. Это «логическое_выражение». Когда содержимое графы больше 20, появляется истинная надпись «больше 20». Нет – «меньше или равно 20».
Внимание! Слова в формуле необходимо брать в кавычки. Чтобы Excel понял, что нужно выводить текстовые значения.
Еще один пример. Чтобы получить допуск к экзамену, студенты группы должны успешно сдать зачет. Результаты занесем в таблицу с графами: список студентов, зачет, экзамен.
Обратите внимание: оператор ЕСЛИ должен проверить не цифровой тип данных, а текстовый. Поэтому мы прописали в формуле В2= «зач.». В кавычки берем, чтобы программа правильно распознала текст.
Функция ЕСЛИ в Excel с несколькими условиями
Часто на практике одного условия для логической функции мало. Когда нужно учесть несколько вариантов принятия решений, выкладываем операторы ЕСЛИ друг в друга. Таким образом, у нас получиться несколько функций ЕСЛИ в Excel.
Синтаксис будет выглядеть следующим образом:
Здесь оператор проверяет два параметра. Если первое условие истинно, то формула возвращает первый аргумент – истину. Ложно – оператор проверяет второе условие.
Примеры несколько условий функции ЕСЛИ в Excel:
Таблица для анализа успеваемости. Ученик получил 5 баллов – «отлично». 4 – «хорошо». 3 – «удовлетворительно». Оператор ЕСЛИ проверяет 2 условия: равенство значения в ячейке 5 и 4.
В этом примере мы добавили третье условие, подразумевающее наличие в табеле успеваемости еще и «двоек». Принцип «срабатывания» оператора ЕСЛИ тот же.
Расширение функционала с помощью операторов «И» и «ИЛИ»
Когда нужно проверить несколько истинных условий, используется функция И. Суть такова: ЕСЛИ а = 1 И а = 2 ТОГДА значение в ИНАЧЕ значение с.
Функция ИЛИ проверяет условие 1 или условие 2. Как только хотя бы одно условие истинно, то результат будет истинным. Суть такова: ЕСЛИ а = 1 ИЛИ а = 2 ТОГДА значение в ИНАЧЕ значение с.
Функции И и ИЛИ могут проверить до 30 условий.
Пример использования оператора И:
Пример использования функции ИЛИ:
Как сравнить данные в двух таблицах
Пользователям часто приходится сравнить две таблицы в Excel на совпадения. Примеры из «жизни»: сопоставить цены на товар в разные привозы, сравнить балансы (бухгалтерские отчеты) за несколько месяцев, успеваемость учеников (студентов) разных классов, в разные четверти и т.д.
Чтобы сравнить 2 таблицы в Excel, можно воспользоваться оператором СЧЕТЕСЛИ. Рассмотрим порядок применения функции.
Для примера возьмем две таблицы с техническими характеристиками разных кухонных комбайнов. Мы задумали выделение отличий цветом. Эту задачу в Excel решает условное форматирование.
Исходные данные (таблицы, с которыми будем работать):
Выделяем первую таблицу. Условное форматирование – создать правило – использовать формулу для определения форматируемых ячеек:
В строку формул записываем: =СЧЕТЕСЛИ (сравниваемый диапазон; первая ячейка первой таблицы)=0. Сравниваемый диапазон – это вторая таблица.
Чтобы вбить в формулу диапазон, просто выделяем его первую ячейку и последнюю. «= 0» означает команду поиска точных (а не приблизительных) значений.
Выбираем формат и устанавливаем, как изменятся ячейки при соблюдении формулы. Лучше сделать заливку цветом.
Выделяем вторую таблицу. Условное форматирование – создать правило – использовать формулу. Применяем тот же оператор (СЧЕТЕСЛИ).
Здесь вместо первой и последней ячейки диапазона мы вставили имя столбца, которое присвоили ему заранее. Можно заполнять формулу любым из способов. Но с именем проще.
Оцените статью: Поделитесь с друзьями!
vba — если ячейка содержит определенный текст, скопируйте часть текста и переместите на новый лист
Я пытаюсь использовать VBA для обнаружения ячеек, содержащих слово HELLO, а затем:
Возьмите седьмой по десятый символы и скопируйте их на новый лист в первой доступной строке
Затем скопируйте с 12-го до последнего символа во второй столбец на новом листе.
Повторите для всех ячеек, содержащих фразу.
Прямо сейчас я не могу получить код для копирования первой ячейки, содержащей фразу.
Это текущий код:
Sub test()
Dim LR As Long, i As Long
With Sheets("Sheet1")
LR = .Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To LR
If .Range("A" & i) Like "*HELLO*" Then
.Copy Mid(Range("A" & i), 2, 2)
Next i
End Sub
1
Patrick Bender
10 Авг 2015 в 23:46
2 ответа
Лучший ответ
Вместо копирования было бы лучше просто присвоить частичное строковое значение следующей ячейке второго листа. Я также добавил UCASE к вашему оператору if на случай, если HELLO не написано с большой буквы. Затем добавлен If, чтобы проверить, была ли строка длиной не менее 12 символов перед возвратом с 12-го до последнего символа.
Sub test()
Dim LR As Long, i2 As Long
LR = Sheets(1).Range("A" & Rows.Count).End(xlUp).Row
i2 = 1
For i = 1 To LR
If UCase(Sheets(1).Range("A" & i).Value) Like "*HELLO*" Then
Sheets(2).Range("A" & i2).Value = Mid(Sheets(1).Range("A" & i).Value, 7, 3)
If Len(Sheets(1).Range("A" & i).Value) > 11 Then
Sheets(2).Range("B" & i2).Value = Mid(Sheets(1).Range("A" & i).Value,13, Len(Sheets(1).Range("A" & i).Value) - 12)
End If
i2 = i2 + 1
End If
Next i
End Sub
1
Wyatt Shipman
10 Авг 2015 в 21:37
Вы, вероятно, не можете скопировать его, вы можете просто поместить его в другую ячейку, например
Sub Button1_Click()
Dim LR As Long, i As Long
With Sheets("Sheet1")
LR = .Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To LR
If .Range("A" & i) Like "*HELLO*" Then
Cells(Rows.Count, "C").End(xlUp).Offset(1, 0) = Mid(Range("A" & i), 2, 2)
End If
Next i
End With
End Sub
Изменить: Ах, у кого-то была такая же идея.
0
Davesexcel
10 Авг 2015 в 21:17
Excel найти часть текста в ячейке – Тарифы на сотовую связь
318 пользователя считают данную страницу полезной.
Информация актуальна! Страница была обновлена 16.12.2019
Извлечение части текста – самая распространенная задача при работе с текстом в Excel. Часто к этой задаче и сводится вся работа над текстом. Чтобы получить часть символов из строки, нужно владеть функциями поиска, удаления лишних символов, определения длины строки и др.
Для получения части текста, в Эксель есть 3 функции:
- ЛЕВСИМВ(Строка; Количество_символов) – выводит заданное количество символов с левого края. Например, =ЛЕВСИМВ(А1;10) выведет 10 первых символов строки в ячейке А1 . Функция имеет 2 обязательных аргумента – Строка-источник и количество выводимых символов;
Функция ЛЕВСИМВ в Эксель
- ПРАВСИМВ(Строка; Количество_символов) – функция схожа с предыдущей, она выводит заданное количество символов справа. То есть, =ПРАВСИМВ(А1;10) в результате выдаст 10 последних символов из строки А1 .
Функция ПРАВСИМВ в Excel
- ПСТР(Строка; Начальный_символ; Количество символов) – выбирает из текста нужное количество знаков, начиная с заданного. Например, =ПСТР(А1;5;3) выведет 3 символа начиная с 5-го (5-7 символы строки).
Функция ПСТР в Эксель
Все эти функции в подсчёте количества символов учитывают лишние пробелы, непечатаемые символы, поэтому рекомендую сначала очистить текст от лишних знаков.
Функции ЛЕВИСМВ, ПРАВСИМВ, ПСТР – это простой и мощный инструмент, если используется в комбинации с другими текстовыми функциями. Вы увидите это в уроке-практикуме по строчным функциям.
А следующий пост мы посвятим поиску нужного текста в строке. Заходите и читайте. Только хорошее владение функциями позволит вам эффективно выполнять задачи в Microsoft Excel!
Если вы еще не прочли посты о написании формул и применении функций – обязательно это сделайте, без них изучение функций Excel будет сложнее и дольше!
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Допустим, вы хотите убедиться, что столбец имеет текст, а не числа. Или перхапсйоу нужно найти все заказы, соответствующие определенному продавцу. Если вы не хотите учитывать текст верхнего или нижнего регистра, есть несколько способов проверить, содержит ли ячейка.
Вы также можете использовать фильтр для поиска текста. Дополнительные сведения можно найти в разделе Фильтрация данных.
Поиск ячеек, содержащих текст
Чтобы найти ячейки, содержащие определенный текст, выполните указанные ниже действия.
Выделите диапазон ячеек, которые вы хотите найти.
Чтобы выполнить поиск на всем листе, щелкните любую ячейку.
На вкладке Главная в группе Редактирование нажмите кнопку найти _амп_и выберите пункт найти.
В поле найти введите текст (или числа), который нужно найти. Вы также можете выбрать последний поисковый запрос из раскрывающегося списка найти .
Примечание: В критериях поиска можно использовать подстановочные знаки.
Чтобы задать формат поиска, нажмите кнопку Формат и выберите нужные параметры в всплывающем окне Найти формат .
Нажмите кнопку Параметры , чтобы еще больше задать условия поиска. Например, можно найти все ячейки, содержащие данные одного типа, например формулы.
В поле внутри вы можете выбрать лист или книгу , чтобы выполнить поиск на листе или во всей книге.
Нажмите кнопку найти все или Найти далее.
Найдите все списки всех вхождений элемента, который нужно найти, и вы можете сделать ячейку активной, выбрав определенное вхождение. Вы можете отсортировать результаты поиска » найти все «, щелкнув заголовок.
Примечание: Чтобы остановить поиск, нажмите клавишу ESC.
Проверка ячейки на наличие в ней текста
Для выполнения этой задачи используйте функцию текст .
Проверка соответствия ячейки определенному тексту
Используйте функцию Если , чтобы вернуть результаты для указанного условия.
Проверка соответствия части ячейки определенному тексту
Для выполнения этой задачи используйте функции Если, Поиски функция номер .
Примечание: Функция Поиск не учитывает регистр.
У нас имеется данные для анализа производимой продукции. Нам нужно автоматически выделить все изделия, которые были выпущены в 2006 году. К сожалению, в таблице недостает еще одного столбца содержащего значения года производства каждого изделия. Но видно, что в фрагменте идентификатора (ID) изделия указывается год производства. В таком случае нам нужно выполнить поиск по части текста в Excel. А потом мы будем использовать условное форматирование с текстовыми функциями в формуле. Благодаря этому молниеносно реализуем решение задачи.
Пример таблицы производимой продукции:
Чтобы на основе идентификатора выделить изделия 2006-го года выпуска выполним шаги следующих действий:
- Выделите диапазон ячеек A2:A10 и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило».
- Выберите: «Использовать формулу для определения форматируемых ячеек».
- Чтобы выполнить поиск части текста в ячейке Excel, введите формулу: =ПСТР(A2;5;4)=»2006″
- Нажмите на кнопку «Формат», чтобы задать красный цвет заливки для ячейки. И нажмите ОК на всех открытых окнах.
Экспонированные цветом изделия 2006-го года выпуска:
Далее разберем принцип действия формулы и ее модификации схожими текстовыми функциями.
Функция ПСТР и ее пример в использования условном форматировании
Чтобы легко понять, как удалось экспонировать цветом определенные значения с помощью условного форматирования разберем этапы действий в двух словах. Сначала мы извлекаем часть текста, а потом сравниваем его с требуемым значением. Но как из ячейки извлечь часть текста в Excel? Обратим внимание на функцию =ПСТР() в формуле правила. Данная функция возвращает часть строки, взятой с каждой ячейки столбца A, что указано в первом аргументе. Ссылка в первом аргументе должна быть относительной, так как формула применяется к каждой ячейке столбца A. Во втором аргументе функции указывается номер символа исходного текста, с которого должен начаться отрезок строки. В третьем аргументе указывается количество символов, которые нужно взять после определенного (во втором аргументе) символа исходного текста. В результате функция =ПСТР() возвращает только часть текста длинной 4 символа взятого начиная с 5-ой буквы в каждой ячейки из столбца А. Это «2005» или «2006». После функции стоит оператор сравнения к значению строки «2006». Если ячейка содержит такую часть текста значит ей будет присвоен новый формат.
Аналогичным способом можно использовать и другие текстовые функции в условном форматировании. Например, с помощью функции =ПРАВСИМВ() мы можем экспонировать цветом определенную группу товаров из партии C. Для этого нужно использовать формулу:
Здесь все просто функция позволяет выбрать часть текста из ячейки Excel, начиная с правой стороны исходного текста. Количество необходимых символов указано во втором аргументе функции ПРАВСИМВ. После чего все что возвращает функция сравнивается с значением строки «C».
Во всех выше описанных примерах очень легко применять текстовые функции в условном форматировании так как длина строк в исходных данных одинаковая. Но что, если у нас в исходных данных разного типа индикаторы с разной длинной символов, а нам все еще нужно выделять 2006-й год или группу «C».
В решении данной задачи нам поможет дополнительная текстовая функция в формуле =НАЙТИ(). В первом случаи формула будет выглядеть так:
Для удобного выделения идентификаторов с разной длинной текстовой строки товаров из группы «C» используем такую формулу:
Функция =НАЙТИ() выполняет поиск фрагмента текста в ячейке Excel. Потом возвращает номер символа, в котором был найдет текст, который задан в первом аргументе. Во втором аргументе указываем где искать текст. А третий аргумент – это номер позиции с какого символа вести поиск в исходном тексте. Третий аргумент позволяет нам смещаться по строке. Например, если в идентификаторе 2 раза используется символ «C». В таком случае третий аргумент пользователь задает в зависимости от ситуации.
Так как функция возвращает нужное число мы прекрасно используем ее в качестве аргументов для других функций (ПСТР и ПРАВСИМВ).
DAX функции FIND и SEARCH в Power BI и Power Pivot
Содержание статьи: (кликните, чтобы перейти к соответствующей части статьи):
Приветствую Вас, дорогие друзья, с Вами Будуев Антон. В этой статье мы разберем то, как в Power BI или PowerPivot найти какую-то часть текста в составе другого текста. А именно, рассмотрим две функции в DAX, отвечающие за поиск текста: FIND и SEARCH.
Разберем их параметры, свойства, отличие друг от друга, ну и посмотрим примеры формул.
Для Вашего удобства, рекомендую скачать «Справочник DAX функций для Power BI и Power Pivot» в PDF формате.
Если же в Ваших формулах имеются какие-то ошибки, проблемы, а результаты работы формул постоянно не те, что Вы ожидаете и Вам необходима помощь, то записывайтесь в бесплатный экспресс-курс «Быстрый старт в языке функций и формул DAX для Power BI и Power Pivot».
А также, подписывайтесь на наши социальные сети. Потому что именно в них, Вам будут доступны оперативно и каждый день наши актуальные фишки, секреты, наработки, примеры, кейсы, полезные советы, видео и статьи по темам сквозной BI аналитики (Power BI, DAX, Power Pivot, Excel…): Вконтакте, Инстаграм, Фейсбук, YouTube.
DAX функция FIND в Power BI и Power Pivot
FIND () — ищет один текст в составе другого текста с учетом регистра букв и выводит номер позиции первого символа найденного текста в составе символов другого текста.
Синтаксис:
FIND ("Текст 1"; "Текст 2"; Номер Позиции; Значение Нет)
Где:
- Текст 1 — символы текста, которые нужно найти. Используются подстановочные шаблоны: ? — один любой символ, * — много любых символов. Если в тексте нужно найти знак вопроса (?) или знак звездочка (*), то перед ними нужно поставить значок тильды ~
- Текст 2 — текст, в котором идет поиск
- Номер Позиции — номер позиции того символа, с которого нужно начать поиск
- Значение Нет — (необязательный параметр) числовое значение или значение BLANK (), которое нужно вывести, если текст не найден
Примеры формул на основе DAX функции FIND.
В Power BI Desktop имеется исходная таблица по товару «Обувь», в которой размещен столбец [Кроссовки] с перечислением брендов кроссовок:
Попробуем в этом столбце при помощи функции FIND найти бренд NIKE и вывести номер позиции первого символа найденного текста, то есть номер позиции символа N. Для этого, создадим в этой таблице второй столбец по следующей формуле:
Поиск NIKE = FIND ("NIKE"; [Кроссовки]; 1; BLANK())
В первом параметре мы прописали тот текст, который мы ищем.
Во втором параметре указали исходный столбец с текстовыми данными, где будет происходить поиск.
В третьем параметре прописали номер позиции символа, с которого начнется поиск в исходном тексте, то есть, в исходном столбце [Кроссовки] поиск начнется с самого первого символа.
В последнем четвертом параметре указали функцию BLANK (), которая выведет пустое значение, если текст не будет найден.
Результатом выполнения этой формулы в Power BI будет создан следующий столбец:
То есть, в первой строке функция FIND нашла искомое выражение и вывела номер позиции первого символа, равный 11. Во всех остальных строках — пусто, так как там искомого текстового выражения «NIKE» — нет и в дело вступил четвертый параметр функции FIND, где размещена функция BLANK, возвращающая пустое значение.
Давайте изменим регистр букв искомого выражения с верхнего на нижний, то есть, так:
Поиск NIKE = FIND («nike»; [Кроссовки]; 1; BLANK())
И посмотрим результат в Power BI:
Как мы видим, FIND не нашла текст «nike», написанное в малом регистре, так как эта функция учитывает регистры текста.
Теперь рассмотрим вторую функцию поиска в языке DAX.
DAX функция SEARCH в Power BI и Power Pivot
SEARCH () — ищет один текст в составе другого текста без учета регистра букв и выводит номер позиции первого символа найденного текста в составе символов другого текста.
Синтаксис:
SEARCH ("Текст 1"; "Текст 2"; Номер Позиции; Значение Нет)
Где:
- Текст 1 — символы текста, которые нужно найти. Используются подстановочные шаблоны: ? — один любой символ, * — много любых символов. Если в тексте нужно найти знак вопроса (?) или знак звездочка (*), то перед ними нужно поставить значок тильды ~
- Текст 2 — текст, в котором идет поиск
- Номер Позиции — номер позиции того символа, с которого нужно начать поиск
- Значение Нет — (необязательный параметр) числовое значение или значение BLANK (), которое нужно вывести, если текст не найден
Пример формулы на основе DAX функции SEARCH.
В качестве примера продолжим рассматривать ситуацию, которую мы разбирали в примере выше.
Напишем формулу поиска текста «NIKE» при помощи функции SEARCH:
Поиск NIKE = SEARCH ("NIKE"; [Кроссовки]; 1; BLANK())
Результат будет таким:
Как мы видим, SEARCH нашла искомый текст и, также, вывела номер позиции его первого символа N, равный 11. Теперь, как и в примере выше, изменим текст, которой нужно найти, а именно изменим его регистр на нижний, то есть так:
Поиск NIKE = SEARCH («nike»; [Кроссовки]; 1; BLANK())
И проверим результат:
А результат уже не тот, как был с функцией FIND. Если FIND в этом случае вывел пустое значение, то SEARCH нашла искомый текст, несмотря на то, что регистр букв не совпадал.
В этом и есть различие между двумя функциями FIND и SEARCH — первая функция учитывает регистр букв, а вторая — не учитывает.
Если требуется возвратить найденный текст, то после того, как рассматриваемые функции вернут номер позиции первого символа, можно воспользоваться текстовой функцией MID, которая выведет найденный текст.
То же самое, если найденный текст Вам нужно заменить, то после того, как FIND или SEARCH вернут номер позиции первого символа, нужно воспользоваться текстовой функцией REPLACE, которая произведет замену найденных символов.
На этом, с разбором DAX функций FIND и SEARCH, позволяющих искать один текст в составе другого в Power BI или Power Pivot, все.
Пожалуйста, оцените статью:
- 5
- 4
- 3
- 2
- 1
(5 голосов, в среднем: 5 из 5 баллов)
Успехов Вам, друзья!
С уважением, Будуев Антон.
Проект «BI — это просто»
Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.
Также, делитесь данной статьей со своими знакомыми в социальных сетях, возможно, этот материал кому-то будет очень полезен.
Понравился материал статьи?
Добавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D
содержит определенный текст — Easy Excel Tutorial
Чтобы проверить , содержит ли ячейка определенный текст , используйте ЕЧИСЛО и ПОИСК в Excel . В Excel нет функции СОДЕРЖИТ.
1. Чтобы найти позицию подстроки в текстовой строке, используйте функцию ПОИСК.
Объяснение: «утка» находится в позиции 10, «осел» находится в позиции 1, ячейка A4 не содержит слов «лошадь» и «коза», найденных в позиции 12.
2. Добавьте функцию ЕЧИСЛО. Функция ЕЧИСЛО возвращает ИСТИНА, если ячейка содержит число, и ЛОЖЬ, если нет.
Объяснение: ячейка A2 содержит слово «утка», ячейка A3 содержит слово «осел», ячейка A4 не содержит слова «лошадь», а ячейка A5 содержит слово «коза».
3. Вы также можете проверить, содержит ли ячейка определенный текст, без отображения подстроки. Обязательно заключите подстроку в двойные кавычки.
4. Чтобы выполнить поиск с учетом регистра, замените функцию ПОИСК функцией НАЙТИ.
Объяснение: формула в ячейке C3 теперь возвращает ЛОЖЬ. Ячейка A3 не содержит слова «осел», но содержит слово «осел».
5. Добавьте функцию ЕСЛИ. Приведенная ниже формула (без учета регистра) возвращает «Найдено», если ячейка содержит определенный текст, и «Не найдено», если нет.
6.Вы также можете использовать ЕСЛИ и СЧЁТЕСЛИ в Excel, чтобы проверить, содержит ли ячейка определенный текст. Однако функция СЧЁТЕСЛИ всегда нечувствительна к регистру.
Объяснение: формула в ячейке C2 сокращается до = ЕСЛИ (СЧЁТЕСЛИ (A2, «* утка *»), «Найдено», «Не найдено»). Звездочка (*) соответствует серии из нуля или более символов. Посетите нашу страницу о функции СЧЁТЕСЛИ, чтобы узнать все, что вам нужно знать об этой мощной функции.
Excel IF Function с ЧАСТИЧНЫМ текстовым соответствием (IF с подстановочными знаками) — Xelplus
Первое, что нам нужно понять, это синтаксис функции SEARCH .Синтаксис следующий:
ПОИСК (найти_текст, внутри_текст, [начальное_число])
- find_text — обязательный аргумент, определяющий текст, который вы ищете.
- inside_text — обязательный аргумент, определяющий текст, в котором вы хотите искать значение, определенное в find_text
- Start_num — это аргумент опции, который определяет номер / позицию символа в аргументе within_text , который вы хотите начать поиск.Если не указано, позиция начального символа по умолчанию — 1 ( — первый символ слева от текста. )
Чтобы убедиться, что функция поиска работает должным образом сама по себе, давайте выполним простой тест по следующей формуле.
= ПОИСК («AT», A5)
Нам возвращается позиция символа, в которой буквы «AT» были обнаружены функцией SEARCH . Первый ПОИСК обнаружил буквы «AT», начинающиеся с позиции 1 -го символа в тексте.Следующее открытие было в позиции символа 5 , а последнее открытие было в позиции символа 4 .
Знак « #VALUE! »- это способ функции ПОИСК сообщить нам, что буквы« AT »не были найдены в поисковом тексте.
Мы можем использовать эту новую информацию, чтобы определить, существует ли текст «AT» в строках сопутствующего текста. Если мы видим какое-либо число в качестве ответа, мы знаем, что в текстовой строке существует «AT».Если мы получаем ответ с ошибкой, мы знаем, что текст «AT» не существует в текстовой строке.
ПРИМЕЧАНИЕ. Функция ПОИСК учитывает регистр НЕ . При поиске букв «AT» будут найдены «AT», «At», «aT» и «at». Если вы хотите искать текст и различать разные регистры (с учетом регистра), используйте функцию НАЙТИ . Функция НАЙТИ работает так же, как ПОИСК , но с добавленным поведением чувствительности к регистру.
Excel, если ячейка содержит частичный текст
Вот формула Excel для проверки, содержит ли ячейка частичный текст. Вы можете использовать эту формулу, чтобы определить, что ячейка содержит частичный текст, а также подсчитать, суммировать и выполнить дальнейшую обработку.
Excel, если ячейка содержит частичный текст
Формула ниже проверяет, содержит ли ячейка частичный текст. Он вернет «Да», если содержит частичный текст, и «Нет», если не найден.
= ЕСЛИ (СЧЁТЕСЛИ (A2, «* PartialText *»), «Да», «Нет»)
Эта формула проверяет наличие частичного текста в ячейке A2 и возвращает «Да», если найдено, и «Нет», если не найдено.Вы можете вернуть True, False, если требуется, как показано в данной формуле.
= ЕСЛИ (СЧЁТЕСЛИ (A2; "* PartialText *"); ИСТИНА; ЛОЖЬ)
Excel, если ячейка содержит частичный текстовый подстановочный знак
Ниже приведены полезные символы подстановки, которые помогают сопоставить частичный текст в формулах Excel и очень полезны для проверки, содержит ли ячейка частичный текст в Excel.
Звездочка (*)
Вы можете использовать звездочку (*), чтобы сопоставить ноль или более символов. Посмотрите примеры ниже:
- 1.Формула для проверки Excel, содержит ли ячейка частичный текст, который должен заканчиваться частичным текстом
= IF (COUNTIF (A2, "* PartialText"), TRUE, FALSE)
Здесь * — это подстановочный знак, предшествующий частичному тексту.
- 2. Формула для проверки Excel, содержит ли ячейка частичный текст, который должен начинаться с частичного текста
= ЕСЛИ (СЧЁТЕСЛИ (A2, "PartialText *"), ИСТИНА, ЛОЖЬ)
Здесь * — это подстановочный знак, следующий за частичным текстом.
- 3.Формула для проверки Excel, если ячейка содержит частичный текст, который содержит частичный текст в любой позиции в ячейке
= ЕСЛИ (СЧЁТЕСЛИ (A2, «* PartialText *»), ИСТИНА, ЛОЖЬ)
Здесь * — это подстановочный знак, следующий за частичным текстом и предшествующий ему.
Вопросительный знак (?) — один знак
Вы можете использовать вопросительный знак (?) Для соответствия любому одному символу. Посмотрите примеры ниже:
- 4. Формула для проверки Excel, если ячейка содержит частичный текст, ячейка должна заканчиваться частичным текстом и предшествовать только одному символу.
= ЕСЛИ (СЧЁТЕСЛИ (A2; «? PartialText»); ИСТИНА; ЛОЖЬ)
= ЕСЛИ (СЧЁТЕСЛИ (A2; "Частичный текст ???"); ИСТИНА; ЛОЖЬ)
Формула Excel: Ячейка содержит одну из многих вещей
Цель этого примера — проверить каждую ячейку в B5: B14, чтобы увидеть, содержит ли она какую-либо из строк в именованном диапазоне things (E5: E7). Эти строки могут появляться в любом месте ячейки , так что это буквальная проблема «содержит».Скопированная формула в C5:
.
Эта формула основана на другой формуле, которая проверяет ячейку на наличие единственной подстроки. Если ячейка содержит подстроку, формула возвращает ИСТИНА. В противном случае формула возвращает ЛОЖЬ:
.
Когда функция ПОИСК находит строку, она возвращает позицию этой строки в виде числа. Если ПОИСК не находит строку, возвращается # ЗНАЧ! ошибка. Это означает, что ISNUMBER вернет TRUE, если есть совпадение, и FALSE, если нет.
В этом примере цель состоит в том, чтобы проверить более одной строки, поэтому мы даем функции ПОИСК список строк в именованном диапазоне вещи . Поскольку в объектах есть 3 строки («красный», «зеленый» и «синий»), ПОИСК возвращает 3 результата в виде массива, подобного этому:
Поскольку «красный» и «синий» не найдены, ПОИСК возвращает # ЗНАЧ! ошибка. Однако, поскольку «зеленый» появляется ближе к концу текста в ячейке B5, ПОИСК возвращает 23 (т.е.е. «зеленый» начинается с 23-го символа).
Этот массив возвращается непосредственно в функцию ЕЧИСЛО, которая преобразует элементы в массиве в ИСТИНА или ЛОЖЬ:
ISNUMBER ({# VALUE!; # VALUE!; 23}) // возвращает {FALSE; FALSE; TRUE}Логически, если у нас есть хотя бы одно ИСТИНА в массиве, мы знаем, что ячейка содержит по крайней мере одну из строк, которые мы ищем. Самый простой способ проверить ИСТИНА — сложить все значения вместе. Мы можем сделать это с помощью функции СУММПРОИЗВ, но сначала нам нужно привести значения ИСТИНА / ЛОЖЬ к единицам и нулям с двойным отрицательным знаком (-), например:
- {FALSE; FALSE; TRUE} // приведение к 1 и 0Это дает новый массив, содержащий только единицы и нули:
, который доставляется непосредственно на SUMPRODUCT:
Имея всего один массив для обработки, SUMPRODUCT суммирует элементы в массиве и возвращает результат.Любой ненулевой результат означает, что у нас есть «попадание», поэтому мы добавляем> 0, чтобы получить окончательный результат ИСТИНА или ЛОЖЬ:
Обратите внимание, что любая комбинация совпадений вернет число больше нуля и приведет к тому, что формула вернет ИСТИНА.
с жестко заданным списком
Нет необходимости использовать диапазон для поиска в списке строк. Вы также можете использовать константу массива. Например, чтобы проверить «красный», «синий» или «зеленый», вы можете использовать следующую формулу:
Функция СУММ
Исторически сложилось так, что СУММПРОИЗВ часто появляется в формулах массивов, потому что он может обрабатывать массивы изначально, без управления + сдвиг + ввод .Это делает формулу «более удобной» для большинства пользователей. В Excel 365, который изначально обрабатывает массивы, функцию СУММ можно использовать вместо СУММПРОИЗВ без управления + сдвиг + ввод:
Предотвращение ложных совпадений
Одна из проблем этого подхода заключается в том, что вы можете получить ложные совпадения из подстрок, которые появляются внутри более длинных слов. Например, если вы попытаетесь сопоставить «dr», вы также можете найти «Andrea», «drink», «dry» и т. Д., Поскольку «dr» появляется внутри этих слов. Это происходит потому, что ПОИСК автоматически находит совпадение «содержит».
Для быстрого взлома вы можете добавить пробел вокруг поисковых слов (например, «dr» или «dr»), чтобы не поймать «dr» в другом слове. Но это не удастся, если «dr» появится первым или последним в ячейке или появится с пунктуацией.
Если вам нужно более точное решение, один из вариантов — сначала нормализовать текст во вспомогательном столбце, позаботившись также о добавлении начального и конечного пробелов. Затем вы используете формулу на этой странице для полученного текста.
Формула
Excel: классифицируйте текст с помощью ключевых слов
По сути, это функция ИНДЕКС и ПОИСКПОЗ.
Внутри функции ПОИСКПОЗ мы используем функцию ПОИСК для поиска в ячейках столбца B каждого ключевого слова в указанном диапазоне ключевых слов (E5: E14):
Поскольку мы ищем несколько элементов (в именованном диапазоне ключевых слов ), мы получим несколько результатов, например:
{#VALUE!; # VALUE!; # VALUE!; # VALUE!; # VALUE!; # VALUE!; 24; #VALUE!; # VALUE!; # VALUE!}# ЗНАЧЕНИЕ! ошибка возникает, когда ПОИСК не может найти текст.Когда ПОИСК находит совпадение, он возвращает число, соответствующее положению текста внутри ячейки.
Чтобы преобразовать эти результаты в более удобный формат, мы используем функцию ЕЧИСЛО, которая преобразует все значения в ИСТИНА / ЛОЖЬ следующим образом:
{ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ}Этот массив входит в функцию ПОИСКПОЗ как lookup_array с lookup_value , установленным как ИСТИНА. ПОИСКПОЗ возвращает позицию первого значения ИСТИНА, которое он находит в массиве (в данном случае 7), который предоставляется функции ИНДЕКС как row_num :
ИНДЕКС возвращает 7-й элемент в категориях , «Авто», в качестве окончательного результата.
с XLOOKUP
С помощью функции XLOOKUP эту формулу можно несколько упростить. XLOOKUP может использовать ту же логику, что и вышеупомянутая функция ПОИСКПОЗ, поэтому эквивалентная формула:
XLOOKUP находит первое значение ИСТИНА в массиве и возвращает соответствующее значение из категорий .
Предотвращение ложных совпадений
Одна из проблем этого подхода заключается в том, что вы можете получить ложные совпадения из подстрок, которые появляются внутри более длинных слов.Например, если вы попытаетесь сопоставить «dr», вы также можете найти «Andrea», «drink», «dry» и т. Д., Поскольку «dr» появляется внутри этих слов. Это происходит потому, что ПОИСК автоматически находит совпадение «содержит».
Для быстрого взлома вы можете добавить пробел вокруг поисковых слов (например, «dr» или «dr»), чтобы не поймать «dr» в другом слове. Но это не сработает, если «dr» появляется первым или последним в ячейке, или отображается с пунктуацией и т. Д.
Если вам нужно более точное решение, один из вариантов — сначала нормализовать текст во вспомогательном столбце, позаботившись также о добавлении начального и конечного пробелов.Затем вы можете искать слова целиком, окруженные пробелами.
Проверить, содержит ли ячейка текст (без учета регистра)
Допустим, вы хотите убедиться, что столбец содержит текст, а не числа. Или, возможно, вы хотите найти все заказы, которые соответствуют конкретному продавцу. Если вас не интересует текст в верхнем или нижнем регистре, есть несколько способов проверить, содержит ли ячейка текст.
Вы также можете использовать фильтр для поиска текста. Для получения дополнительной информации см. Фильтр данных.
Найти ячейки, содержащие текст
Выполните следующие действия, чтобы найти ячейки, содержащие определенный текст:
Выберите диапазон ячеек для поиска.
Для поиска по всему листу щелкните любую ячейку.
На вкладке Домашняя страница в группе Редактирование щелкните Найти и выбрать , а затем нажмите Найти .
В поле Find what введите текст или числа, которые вам нужно найти. Или выберите недавний поиск из раскрывающегося списка Найти .
Примечание. В критериях поиска можно использовать подстановочные знаки.
Чтобы указать формат для поиска, щелкните Формат и выберите нужный вариант во всплывающем окне Формат поиска .
Щелкните Параметры , чтобы определить параметры поиска. Например, вы можете искать все ячейки, содержащие данные одного и того же типа, например формулы.
В поле Внутри вы можете выбрать Лист или Рабочая книга для поиска на листе или во всей книге.
Нажмите Найти все или Найти далее .
Найти все перечисляет все вхождения элемента, который необходимо найти, и позволяет сделать ячейку активной, выбрав конкретное вхождение. Вы можете отсортировать результаты поиска Найти все , щелкнув заголовок.
Примечание: Чтобы отменить текущий поиск, нажмите ESC.
Проверить, есть ли в ячейке текст
Для выполнения этой задачи используйте функцию ISTEXT .
Проверить, соответствует ли ячейка определенному тексту
Используйте функцию IF , чтобы вернуть результаты для указанного вами условия.
Проверить, соответствует ли часть ячейки определенному тексту
Для выполнения этой задачи используйте функции IF , SEARCH и ISNUMBER .
Примечание: Функция ПОИСК не чувствительна к регистру.
Excel IF Функция содержит текст — частичное совпадение
В этом посте мы рассмотрим, как использовать функцию ЕСЛИ, чтобы проверить, содержит ли ячейка определенный текст.
Функция ЕСЛИ при использовании для сравнения текстовых значений проверяет точное совпадение. Но в этом сообщении в блоге мы хотим проверить частичное совпадение. Нас интересует, содержит ли ячейка текст где-нибудь внутри.
Для нашего примера у нас есть список адресов, как показано ниже. И мы хотим отображать слово «локальный», если адрес содержит текст «CB2».
Таким образом, любой почтовый индекс, начинающийся с «CB2», считается местным. Ничего другого нет.
Посмотреть видео
Проверить, содержит ли ячейка текст
Как уже упоминалось, функция ЕСЛИ всегда выполняет точное совпадение. Поэтому нам нужна другая функция, чтобы определить, находится ли текст в ячейке или нет.
Мы будем использовать функцию ПОИСК. Эта функция вернет позицию текста внутри ячейки, если она есть.
= ПОИСК («CB2»; A2)Будьте осторожны при проверке частичных совпадений. И в этом примере после CB2 в строке для поиска добавлен пробел. Это сделано для предотвращения поиска совпадений с почтовыми индексами, такими как CB25 или CB22.
Существует также функция FIND, которую можно использовать вместо SEARCH. Ключевое различие между ними в том, что FIND чувствителен к регистру, а SEARCH — нет.
Теперь эта функция возвращает позицию текста, если он найден. Нас это не интересует, и мы просто хотим знать, существует ли оно.
Таким образом, мы окружим функцию ПОИСК ISNUMBER, чтобы вернуть ИСТИНА, если текст найден, и в противном случае вернуть ЛОЖЬ.
= ЕЧИСЛО (ПОИСК ("CB2"; A2))Теперь мы можем, наконец, добавить функцию IF для отображения слова «local», если ISNUMBER возвращает TRUE, и слова «far», если возвращается FALSE.
= ЕСЛИ (ЕЧИСЛО (ПОИСК ("CB2"; A2)), "локальный", "дальний")
Как насчет поиска двух фрагментов текста
Давайте сделаем еще один шаг вперед.А что, если мы считаем адрес локальным, если он содержит текст «CB2» или «CB3».
Для этого введем функцию ИЛИ. Функция, которая может проверять несколько условий и возвращает ИСТИНА, если выполняется какой-либо из ее тестов.
Можно использовать приведенную ниже формулу. На этот раз ячейка будет пустой, если она не локальная.
= ЕСЛИ (ИЛИ (ISNUMBER (ПОИСК ("CB2"; A2)), ISNUMBER (SEARCH ("CB3", A2))), "local", "").