ПОИСК, ПОИСКБ (функции ПОИСК, ПОИСКБ)
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше
В этой статье описаны синтаксис формулы и использование функций ПОИСК и ПОИСКБ в Microsoft Excel.
Описание
Функции ПОИСК И ПОИСКБ находят одну текстовую строку в другой и возвращают начальную позицию первой текстовой строки (считая от первого символа второй текстовой строки). Например, чтобы найти позицию буквы «n» в слове «printer», можно использовать следующую функцию:
=ПОИСК(«н»;»принтер»)
Эта функция возвращает 4, так как «н» является четвертым символом в слове «принтер».
Можно также находить слова в других словах. Например, функция
=ПОИСК(«base»;»database»)
возвращает 5, так как слово «base» начинается с пятого символа слова «database». Можно использовать функции ПОИСК и ПОИСКБ для определения положения символа или текстовой строки в другой текстовой строке, а затем вернуть текст с помощью функций ПСТР и ПСТРБ или заменить его с помощью функций ЗАМЕНИТЬ и ЗАМЕНИТЬБ. Эти функции показаны в примере 1 данной статьи.
Важно:
-
Эти функции могут быть доступны не на всех языках.
-
Функция ПОИСКБ отсчитывает по два байта на каждый символ, только если языком по умолчанию является язык с поддержкой БДЦС. В противном случае функция ПОИСКБ работает так же, как функция ПОИСК, и отсчитывает по одному байту на каждый символ.
К языкам, поддерживающим БДЦС, относятся японский, китайский (упрощенное письмо), китайский (традиционное письмо) и корейский.
Синтаксис
ПОИСК(искомый_текст;просматриваемый_текст;[начальная_позиция])
ПОИСКБ(искомый_текст;просматриваемый_текст;[начальная_позиция])
Аргументы функций ПОИСК и ПОИСКБ описаны ниже.
-
Искомый_текст Обязательный. Текст, который требуется найти.
-
Просматриваемый_текст Обязательный. Текст, в котором нужно найти значение аргумента искомый_текст.
-
Начальная_позиция Необязательный. Номер знака в аргументе просматриваемый_текст, с которого следует начать поиск.
Замечание
-
Функции ПОИСК и ПОИСКБ не учитывают регистр. Если требуется учитывать регистр, используйте функции НАЙТИ и НАЙТИБ.
-
В аргументе искомый_текст можно использовать подстановочные знаки: вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому знаку, звездочка — любой последовательности знаков. Если требуется найти вопросительный знак или звездочку, введите перед ним тильду (~).
-
Если значение find_text не найдено, #VALUE! возвращается значение ошибки.
-
Если аргумент начальная_позиция опущен, то он полагается равным 1.
-
Если start_num больше нуля или больше, чем длина аргумента within_text, #VALUE! возвращается значение ошибки.
-
Аргумент начальная_позиция можно использовать, чтобы пропустить определенное количество знаков. Допустим, что функцию ПОИСК нужно использовать для работы с текстовой строкой «МДС0093.МужскаяОдежда». Чтобы найти первое вхождение «М» в описательной части текстовой строки, задайте для аргумента начальная_позиция значение 8, чтобы поиск не выполнялся в той части текста, которая является серийным номером (в данном случае — «МДС0093»). Функция ПОИСК начинает поиск с восьмого символа, находит знак, указанный в аргументе искомый_текст, в следующей позиции, и возвращает число 9. Функция ПОИСК всегда возвращает номер знака, считая от начала просматриваемого текста, включая символы, которые пропускаются, если значение аргумента начальная_позиция больше 1.
Примеры
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Данные |
||
Выписки |
||
Доход: маржа |
||
маржа |
||
Здесь «босс». |
||
Формула |
Описание |
Результат |
=ПОИСК(«и»;A2;6) |
Позиция первого знака «и» в строке ячейки A2, начиная с шестого знака. |
7 |
=ПОИСК(A4;A3) |
Начальная позиция строки «маржа» (искомая строка в ячейке A4) в строке «Доход: маржа» (ячейка, в которой выполняется поиск — A3). |
8 |
=ЗАМЕНИТЬ(A3;ПОИСК(A4;A3);6;»объем») |
Заменяет слово «маржа» словом «объем», определяя позицию слова «маржа» в ячейке A3 и заменяя этот знак и последующие пять знаков текстовой строкой «объем.» |
Доход: объем |
=ПСТР(A3;ПОИСК(» «;A3)+1,4) |
Возвращает первые четыре знака, которые следуют за первым пробелом в строке «Доход: маржа» (ячейка A3). |
марж |
=ПОИСК(«»»»;A5) |
Позиция первой двойной кавычки («) в ячейке A5. |
5 |
=ПСТР(A5;ПОИСК(«»»»;A5)+1;ПОИСК(«»»»;A5;ПОИСК(«»»»;A5)+1)-ПОИСК(«»»»;A5)-1) |
Возвращает из ячейки A5 только текст, заключенный в двойные кавычки. |
босс |
Нужна дополнительная помощь?
Пользователи Excel, несмотря на то, что поиск нужного символа кажется довольно простой задачей, часто не понимают, как сделать это. С некоторыми из них проще, с частью – сложнее. Также иногда появляются проблемы с поиском таких символов, как знак вопроса или звездочка из-за того, что они используются в фильтрах. Сегодня мы опишем способы доставать символы самых разных типов.
Содержание
- Как найти в ячейке текстовые символы (буквы и цифры)
- Как найти в ячейке таблицы цифры
- Как узнать, что ячейка Эксель содержит латиницу
- Как найти слова в ячейке, которые содержат кириллицу и латиницу
- Как найти в ячейке заглавные буквы
- Поиск символов в Excel при помощи регулярных выражений
- Что делать с найденными символами
- Удаление лишних символов в Excel
- Извлечение определенных символов в Excel
- Изменение символов в Excel
Как найти в ячейке текстовые символы (буквы и цифры)
Для начала попробуем выполнить самую простую задачу: определить наличие текстовых символов в ячейки и найти тот, который надо. Для этого нужно воспользоваться дополнением !SEMTools, с помощью которого можно искать символы разных типов. Последовательность действий следующая:
- Выделяем тот диапазон, который является изначальным и копируем его в соседнюю колонку.
- Затем выделяем второй диапазон.
- Открываем вкладку «!SEMTools». Там в самой левой части панели инструментов будет вкладка «Обнаружить».
- После этого открываем меню «Символы».
- Затем появится дополнительное меню, в котором надо найти пункт «Буквы-цифры» и нажать на него.
На этой анимации вы можете точно увидеть, как правильно действовать, чтобы отыскать в ячейке текстовые символы. С помощью этой функции надстройки пользователь может определить, а есть ли в других ячейках непечатаемые символы.
Как найти в ячейке таблицы цифры
Иногда нужно определить ячейки, в которой есть цифры, но они находятся вместе с текстом. Когда таких ячеек становится очень много, может быть довольно нелегко определить их. Перед тем, как реализовывать эту задачу, нужно определиться с некоторыми базовыми терминами. Главное наше понятие – «обнаружить». Это означает – проверить, есть ли определенный тип символа в строке. Если да, возвращается значение «ИСТИНА», если нет «ЛОЖЬ». Если же кроме поиска цифр в ячейке пользователь хочет произвести иные действия, то можно воспользоваться дальнейшими разделами этой инструкции.
Второе понятие, которое нужно разобрать – цифры. Это интегральный термин, который обозначает аж 10 символов, которые соответствуют числам от 0 до 9. Соответственно, чтобы проверить наличие чисел, пользователю нужно 10 раз проверить диапазон. Это можно сделать с помощью функции ЕСЛИ, но такой подход требует очень много времени.
Чтобы решить эту проблему, можно воспользоваться специальной формулой, которая выполнит все проверки за один раз: =СЧЁТ(ПОИСК({1:2:3:4:5:6:7:8:9:0};A1))>0. Эта функция имеет тот же синтаксис, что и та, которая ищет кириллические символы в тексте.
Также можно воспользоваться надстройкой, в которой уже вмонтирован макрос для того, чтобы выполнять эту задачу. В таком случае достаточно просто воспользоваться специальной вкладкой !SEMTools, которую нужно применять на дополнительном столбце, который является полной копией того, который является исходным.
Следовательно, набор шагов, которые нужно предпринимать, полностью соответствует предыдущему пункту. Нужно сначала выделить исходный диапазон, скопировать его, а потом выделить появившуюся колонку и применить к ней макрос согласно последовательности шагов, приведенной в этой анимации.
Предположим, нам нужно найти только определенные цифры из всех приведенных. Как можно это сделать? Для начала давайте покажем, как это делать с помощю !SEMTools. Использовать инструмент просто. Достаточно в скобках записывать все нужные цифры, и потом нажать кнопку ОК для подтверждения. С помощью этого же метода можно найти латиницу или найти большие буквы в строке текста.
Также можно воспользоваться формулой для того, чтобы отыскать в диапазоне ячеек необходимые цифры. Для этого надо применять комбинацию функций СЧЕТ и ПОИСК. С ее помощью можно обнаружить не только отдельные цифры, но и целые числовые последовательности: =СЧЁТ(ПОИСК({01:02:03:911:112};A1))>0.
Иногда надо найти числа, отделенные пробелами. В этом случае они называются словами-числами. Чтобы их найти, необходимо также воспользоваться соответствующими инструментами !SEMTools. На этой анимации наглядно показано, какие действия нужно выполнить, чтобы это сделать.
Как узнать, что ячейка Эксель содержит латиницу
Очень часто пользователи Excel смешивают понятия «Найти» и «Извлечь», хотя между ними довольно большая разница. Под первым выражением подразумевают проверку, есть ли определенный символ в текстовой строке или диапазоне данных. В свою очередь, под понятием «Извлечь» подразумевают вытащить нужный символ из текста и передать его другой функции или записать в ячейку.
Что же нужно делать для того, чтобы обнаружить латиницу? Например, можно воспользоваться специальными шрифтами, которые дадут возможность определить английские символы на глаз. Например, это делает шрифт Dubai Medium, который делает английские символы жирными.
Но что же делать, если много данных? В этом случае определения на глаз нужной последовательности значений для того, чтобы проанализировать данные, недостаточно. В этом случае нужно искать способы автоматизации этого процесса. Есть несколько способов, как можно это сделать.
Использование специальной функции
Основная проблема поиска латинских букв, что их в два с половиной раза больше, чем цифр. Следовательно, нужно задавать программе цикл, состоящий из 26 итераций, что может быть довольно напряжно. Но если использовать формулу массива, состоящую из приведенных выше функций СЧЕТ и ПОИСК, то эта затея уже и не кажется настолько сложной: =СЧЁТ(ПОИСК({«a»:»b»:»c»:»d»:»e»:»f»:»g»:»h»:»i»:»j»:»k»:»l»:»m»:»n»:»o»:»p»:»q»:»r»:»s»:»t»:»u»:»v»:»w»:»x»:»y»:»z»};A1))>0. Эта формула вполне подходит для большинства ситуаций. Например, если нет возможности установить соответствующие макросы, которые бы смогли делать это проще и быстрее.
В описанной выше формуле A1 – это та ячейка, в которой осуществляется проверка. Соответственно, вам нужно поставить ту, которая подходит в вашей ситуации. В результате проверки с помощью этой функции возвращается логическое значение. Если совпадения обнаруживаются, то оператор возвращает ИСТИНА, если их нет – ЛОЖЬ.
Функция ПОИСК не дает возможности учитывать регистр при поиске символов. Чтобы это сделать, надо воспользоваться оператором НАЙТИ, который выполняет те же операции, имеет такие же самые аргументы, только уже учитывает регистр. Еще один способ – сделать описанную выше формулу формулой массива. В таком случае она будет иметь следующий вид:{=СЧЁТ(ПОИСК(СИМВОЛ(СТРОКА(65:90));A1))>0}.
Поскольку это формула массива, ее нужно указывать без скобок. При этом после ввода надо нажать комбинацию клавиш Ctrl + Shift + Enter (вместо простого нажатия клавиши ввода, как в случае с обычной функцией), после чего фигурные скобки появятся сами.
Если же нужно найти кириллицу, последовательность действий аналогичная, только в качестве диапазона поиска нужно задавать всю последовательность кириллических символов. =СЧЁТ(ПОИСК({«а»:»б»:»в»:»г»:»д»:»е»:»ё»:»ж»:»з»:»и»:»й»:»к»:»л»:»м»:»н»:»о»:»п»:»р»:»с»:»т»:»у»:»ф»:»х»:»ц»:»ч»:»ш»:»щ»:»ъ»:»ы»:»ь»:»э»:»ю»:»я»};A1))>0. Также можно юзать функцию СИМВОЛ, чтобы сделать это. {=СЧЁТ(ПОИСК(СИМВОЛ(СТРОКА(192:223));A1))>0}
Эта формула должна записываться так, как формула массива. Следовательно, нужно нажать комбинацию клавиш Ctrl + Shift + Enter вместо простого нажатия клавиши ввода. Но есть некоторые исключения, при которых эта функция не будет работать. Нужно предварительно убедиться в том, что язык по умолчанию для программ не в кодировке Unicode стоит русский. В этом случае проблем возникнуть не должно. Эти формулы имеют некоторые отличия между собой. Вместо 33 букв последняя формула применяет только 32. То есть, она не учитывает букву ё, как кириллическую.
В этом случае, аналогично, как и в предыдущем, для поиска нужных символов с учетом регистра, необходимо использовать функцию НАЙТИ. Поэтому можно искать, к примеру, половину алфавита, записанную маленькими буквами и половину, записанную большими. Аргументы те же самые.
Как найти слова в ячейке, которые содержат кириллицу и латиницу
Мы можем логически сделать вывод, что для поиска тех слов, которые содержат и кириллицу, и латиницу, нужно использовать в качестве того, что мы ищем, все символы русского и английского алфавитов.
Как найти в ячейке заглавные буквы
Чтобы найти заглавные буквы, необходимо воспользоваться функцией НАЙТИ, а в качестве аргументов указать заглавные кириллические буквы (или элементы латинского алфавита, если нужно найти их) или же их коды.
При поиске кириллических букв через коды нужно помнить о том, что предварительно таблица ASCII должна быть настроена на русский язык. Простыми словами, чтобы стояла русская локализация.
Если же нужно найти какие-угодно заглавные буквы, независимо от алфавита, в котором их надо искать, нужно использовать функции СТРОЧН и СОВПАД. Последовательность действий следующая:
- Делаем нижний регистр значений в отдельной ячейке.
- Сравниваем результаты с первоначальными.
- После этого используем следующую формулу: =НЕ(СОВПАД(СТРОЧН(A1);A1))
Если эти ячейки не совпадают, это говорит о том, что какой-то из символов в изначальной ячейке был в верхнем регистре.
Поиск символов в Excel при помощи регулярных выражений
Можно также воспользоваться регулярными выражениями для того, чтобы найти символы. Лучше всего это делать с помощью инструмента !SEMTools, поскольку он автоматизирует множество процессов их использования. Спектр использования регулярных выражений в Excel достаточно широк. Мы же остановимся прежде всего на функциях ПОИСК, ЗАМЕНИТЬ, ИЗВЛЕЧЬ.
Приятная новость: эти функции можно использовать как в Гугл таблицах, так и в Excel с этой настройкой.
Первая регулярная функция – REGEXMATCH, которая умеет проверять, похож ли этот паттерн на тот, который был в другой ячейке. Синтаксис: =REGEXMATCH(«текст»;»RegEx-паттерн для поиска»). Эта функция возвращает одно из двух значений: истинное или ложное. Что именно – зависит от того, действительно ли наблюдается соответствие или нет. Вторая функция – =REGEXEXTRACT(«текст»;»RegEx-паттерн для поиска») Она позволяет извлечь нужные символы из строки.
При этом данная функция имеет небольшие отличия от Google Таблиц. Заключается оно в том, что последние в случае ненахождения заданного текста возвращают ошибку, в то время как эта надстройка показывает лишь пустое значение.
Ну и наконец, нужно воспользоваться этой формулой для того, чтобы заменить текст: =REGEXREPLACE(«текст»;»RegEx-паттерн для поиска»;»текст, которым заменяем найденное»).
Что делать с найденными символами
Хорошо. Предположим, мы нашли символы. А что с ними можно делать дальше? Здесь есть несколько возможных вариантов, как можно поступить. Например, можно их удалить. Например, если мы среди кириллических значений нашли латиницу. Также можно заменить ее на аналогичный символ, только в кириллице (например, большую английскую М на русскую М) или же извлечь этот символ для использования в другой формуле.
Удаление лишних символов в Excel
Существует множество способов, как убрать ненужные знаки в Excel. Как один из вариантов – использование функции «Найти и заменить», где заменить тот символ, который нужно убрать, на пустую строку “». Можно воспользоваться теми же регулярными выражениями, которые используются для замены найденного символа.
Извлечение определенных символов в Excel
Для этого можно использовать функцию «Найти», но также можно использовать соответствующее регулярное выражение, где первым аргументом является текст, который надо извлечь, а вторым – та ячейка или диапазон, в которой будет осуществляться поиск.
Изменение символов в Excel
Процедура такая же самая, как и удаление, только искомый символ нужно заменять на другой знак (в том числе, и на непечатаемый), а не писать в соответствующем аргументе пустую строку.
Оцените качество статьи. Нам важно ваше мнение:
- Что делает функция ПОИСК?
- Синтаксис
- Форматирование
- Поиск символа в ячейке
- Извлечь первое слово
- Другие примеры использования
- Функция ПОИСК в формуле массива
Что делает функция ПОИСК?
Эта функция аналогична функции НАЙТИ и так же ищет подстроку в строке. Когда искомое найдено, отображается его позиция в тексте в виде числа.
Отличие от функции НАЙТИ в том, что ПОИСК не принимает в расчет регистр текста. Как искомого, так и того, в котором мы ищем. Также она поддерживает подстановочные операторы.
У обеих функций есть процедура-аналог Найти и Заменить – как у процедуры, у нее есть свои преимущества и недостатки.
Синтаксис
=ПОИСК(ИскомыйТекст;СтрокаВКоторойИщем;[СтартоваяПозиция])
- ИскомыйТекст — символ или сочетание, которое ищем
- СтрокаВКоторойИщем — ячейка, текстовое значение или любое возвращаемое другой функцией выражение.
- Стартовая позиция — опциональный параметр, при отсутствии поиск происходит с первого символа
Если текст содержит более одного вхождения, возвращается позиция первого.
Третий (опциональный) параметр используется для поиска с определенной позиции в тексте и по умолчанию равен 1.
Если искомое не найдено в тексте, функция возвращает ошибку #ЗНАЧ.
Форматирование
При поиске дат функция ПОИСК, как и все текстовые функции, воспринимает их как числа, поэтому для корректного поиска может понадобиться функция ТЕКСТ.
При этом логические значения ИСТИНА и ЛОЖЬ конвертируются в текст, соответствующий их написанию.
Поиск символа в ячейке
Наиболее простой пример использования функции – осуществление поиска определенного символа в ячейке.
Логика проста – если поиск позиции символа не возвращает ошибку, значит, символ в ячейке присутствует:
=НЕ(ЕОШ(ПОИСК(паттерн;текст)))
Извлечь первое слово
В этом простейшем примере извлекаем первое слово из ячейки с помощью комбинации — функция ЛЕВСИМВ + функция ПОИСК. Поскольку пробел — регистронезависимый символ, для этого случая можно использовать и функцию НАЙТИ.
Таблица выше была использована для извлечения имени из строки с именем и фамилией.
- ПОИСК возвращает позицию пробела между именем и фамилией.
- Длина имени вычисляется как позиция пробела минус 1.
- Функция ЛЕВСИМВ извлекает имя на основе его длины.
Другие примеры использования
Найти первую цифру в ячейке:
=МИН(ЕСЛИОШИБКА(ПОИСК({0:9:8:7:6:5:4:3:2:1};A1);1000))
Найти первую цифру в ячейке и вернуть все, что перед ней:
=ЛЕВСИМВ(A1,МИН(ЕСЛИОШИБКА(ПОИСК({0:9:8:7:6:5:4:3:2:1};A1);1000))-1)
Узнать, содержит ли ячейка латиницу. Формула вернет «ИСТИНА» или «ЛОЖЬ»:
=СЧЁТ(ПОИСК({"a":"b":"c":"d":"e":"f":"g":"h":"i":"j":"k":"l":"m":"n":"o":"p":"q":"r":"s":"t":"u":"v":"w":"x":"y":"z"};A1))>0
Найти кириллицу в тексте аналогичным путем:
=СЧЁТ(ПОИСК({"а":"б":"в":"г":"д":"е":"ё":"ж":"з":"и":"й":"к":"л":"м":"н":"о":"п":"р":"с":"т":"у":"ф":"х":"ц":"ч":"ш":"щ":"ъ":"ы":"ь":"э":"ю":"я"};A1))>0
Функция ПОИСК в формуле массива
Примеры выше, где буквы перечислены явно в строковом массиве, занимает довольно много места. Буквы при этом идут подряд, что наводит на мысль, что их можно как-то иначе выразить как диапазон.
И действительно, это возможно с помощью комбинации с функциями СТРОКА и ПОИСК:
{=СЧЁТ(ПОИСК(СИМВОЛ(СТРОКА(65:90));A1))>0}
Отличие этой формулы массива от предыдущих — ее нужно вводить без фигурных скобок, они появятся при вводе формулы сочетанием Ctrl+Shift+Enter (вместо обычного Enter). В формуле выше, где явно прописаны все буквы, фигурные скобки вводятся вручную — это явное указание строкового массива.
Что происходит в этой формуле?
- Функция СТРОКА с численным аргументом “65:90” возвращает массив чисел с 65 по 90 включительно. Как раз в этом диапазоне в таблице ASCII находятся все символы латиницы;
- Функция СИМВОЛ возвращает для каждого числового значения в этом массиве его символ, таким образом создавая массив латинских символов;
- Функция ПОИСК производит поиск каждого из этих символов в строке и возвращает либо число, либо ошибку, таким образом создавая массив чисел и ошибок
- Функция СЧЁТ считает числовые значения в полученном массиве. Если результат больше нуля, значит, хотя бы один символ латиницы был найден. Если нет (все поиски вернули ошибку), значит, не был
Аналогичная формула для кириллицы:
{=СЧЁТ(ПОИСК(СИМВОЛ(СТРОКА(192:223));A1))>0}
Подробнее о поиске и извлечении кириллицы и латиницы в Excel можно почитать тут:
Найти латиницу или кириллицу в тексте
Есть еще множество комбинаций функции ПОИСК с другими функциями Excel, смотрите разделы:
Функция ИЛИ
Функция И
Функция ЗНАЧЕН
Удалить первое слово в ячейке Excel
Смотрите также по теме:
ОБНАРУЖИТЬ (функционал надстройки !SEMTools)
Регулярные выражения в Excel
Найти определенные символы в Excel
Найти слова в ячейках
Найти числа в текстовых ячейках
Понравилась статья? Поддержите ее автора!
Набор инструментов !SEMTools поможет решить множество задач без ввода сложных формул и сэкономит ваше время. И вам полезно, и автору приятно!
Функция ПОИСК() в MS EXCEL
Смотрите также текстом имеет адрес ячейка, в которой а обработчик php быть указана, как улиц будут найдены(ЕСЛИОШИБКА) появилась в
Синтаксис функции
поиск начнётся с Мы также разберем,
найти, и позволяетнажмите кнопку можно оперативнее обеспечивать
=ИНДЕКС(Список;НАИМЕНЬШИЙ( т.е. 5 букв).Найдем все названия инструментов, использована совместно с 8-й позиции слева.
Функция ПОИСК(), английский вариант «А2» и в находится произвольный текст. этот символ значение аргумента фразы CENTRAL, CENTER Excel, начиная с первого символа.
как справиться с сделать активной ячейки,Найти и выделить вас актуальными справочнымиЕСЛИОШИБКА(ЕСЛИ(ПОИСК($G$2;Список);СТРОКА(Список)-СТРОКА($A$4);НД());»»); Критерию также будут которые функциями ЛЕВСИМВ(), ПРАВСИМВ()Пусть в ячейке SEARCH(), находит первое данной ячейке следующийВ тексте ячейки не любит.start_num
и CENTRE. версии 2007. ВФункция
теми ситуациями, когда выбрав нужное вхождение.и нажмите кнопку материалами на вашемСТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))))
Примеры
соответствовать такие несуразныеначинаются и ПСТР().А2
вхождение одной текстовой текст «аб. Абвгд»: постоянно меняются первыеRAN(нач_позиция) в «главной»=ISNUMBER(SEARCH($E$2,B3)) более ранних версияхSEARCH эта функция выдаёт
Можно сортировать результатыНайти языке. Эта страница) значения как дрел5,с фразы дрелНапример, в ячейке
введена строка Первый строки в другой200?’200px’:»+(this.scrollHeight+5)+’px’);»> 1-3 символа, например:: Так вы что, функции=ЕЧИСЛО(ПОИСК($E$2;B3)) тот же результат(ПОИСК) возвратит позицию ошибку.Найти. переведена автоматически, поэтомуЧасть формулы ПОИСК($G$2;Список) определяет: дрелМ и т.п.
иА2 канал — лучший. строке и возвращаетxcell = Range(«A2»).Value а. 1111111, аб. каждый день сюдаSEARCH
Функция НАЙТИ() vs ПОИСК()
Если мы запишем два можно было получить, первой совпадающей строки,Итак, давайте рассмотрим внимательновсе, щелкнув заголовок.В поле ее текст можетсодержит (если они содержатся
Связь с функциями ЛЕВСИМВ(), ПРАВСИМВ() и ПСТР()
длина строкисодержится фамилия и Формула =ПОИСК(СИМВОЛ(32);A2) вернет начальную позицию найденной
xcellpart = Left(xcell,4) 1111111, абв. 1111111. новый файл выкладывать(ПОИСК). В результате знака минус (двойное используя не зависимо от теорию и практическиеПримечание:Найти содержать неточности или значение из в списке).
excel2.ru
Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть2. Подстановочные знаки
которых составляет 5 имя «Иванов Иван», 7, т.к. символ строки.То есть, методомКаким образом можно будете, чтобы мы названия городов будут отрицание) перед функциейIF регистра. Если Вам примеры по функции Чтобы прекратить процесс поиска,введите текст —
грамматические ошибки. Для диапазонаКритерий вводится в ячейку символов. то формула =ЛЕВСИМВ(A2;ПОИСК(СИМВОЛ(32);A2)-1)
Задача
пробела (код 32)ПОИСКискомый_текстпросматриваемая_строка Left взять 4 проверить ячейку на вам меняли? проигнорированы поиском.ISNUMBER
А. Найти значения, которые начинаются с критерия и содержат определенное количество символов
(ЕСЛИ) вместе с нужен поиск сSEARCH нажмите клавишу ESC. или номера —,
нас важно, чтобыA5:A13E2
Критерий будет вводиться в извлечет фамилию, а находится на 7-й;[нач_позиция]) первые символа ячейки наличие в первыеShAMТеперь проверенная и исправленная
(ЕЧИСЛО), то онаISERROR учётом регистра, Вы(ПОИСК). Если уДля выполнения этой задачи вам нужно найти.
эта статья былафразу «?дрел?». Критериюи выглядит так: ячейку =ПРАВСИМВ(A2;ДЛСТР(A2)-ПОИСК(СИМВОЛ(32);A2)) — имя. позиции.Искомый_текст и уже их 4 символах содержимого: Андрей, убил. Пойду,
формула будет считать возвратит значения(ЕОШИБКА).
можете использовать функцию
Вас припрятаны какие-то
используется функция
Или выберите из
вам полезна. Просим также будут соответствовать «дрел??». В этомС2 Если между именемФормула =ПОИСК(«#???#»;»Артикул #123# ID»)
— текст, который требуется передав в переменную ячейки (в том отдышусь. только те строки,1
=IFERROR(SEARCH(B5,B2),»Not Found»)FIND хитрости или примерыЕТЕКСТ раскрывающегося списка вас уделить пару значения содержащие фразы случае будут выведеныи выглядеть так: и фамилией содержится будет искать в найти. при помощи конструкции числе и точку),
Б. Найти значения, которые начинаются со слова дрель или дрели и содержат как минимум 6 букв
palmin90 которые содержат слово/=ЕСЛИОШИБКА(ПОИСК(B5;B2);»Not Found»)(НАЙТИ), с которой работы с этой.Найти секунд и сообщить, 5дрел7, Адрелу и все значения, в «дрел?». Вопросительный знак
более одного пробела, строке «Артикул #123#Просматриваемая_строка
if then else
на наличие одного
: ShAM, я рад,
«bank» в названии
0Еще один способ проверить мы познакомимся далее функцией, пожалуйста, делитесьДля возвращения результатов дляпоследнего поиска. помогла ли она т.п. которые является подстановочным знаком.
В. Найти значения, у которых слово дрель находится в середине строки
то для работоспособности ID» последовательность из — текст, в которой проверять на совпадение из вариантов: «а.», что развеселил. Тяжкий профессии:вместо TRUE/FALSE (ИСТИНА/ЛОЖЬ). результат, возвращаемый в рамках марафона ими в комментариях. условия, которое можно
Примечание: вам, с помощьюКритерий вводится в ячейку
начинаются
Для реализации этого варианта
вышеупомянутых формул используйте
5 символов, которая
ищется с текстом, который «аб», «абв.», вырезать день, проблема в=—ISNUMBER(SEARCH($E$1,B2,SEARCH(«|»,B2))) Далее, функцияSEARCH30 функций Excel заФункция указать с помощью
Г. Найти значения, которые заканчиваются на слово дрель или дрели
В условиях поиска можно кнопок внизу страницы.I2с текста-критерия (со поиска требуется функция функцию СЖПРОБЕЛЫ(). начинается и заканчиваетсяИскомый_текст ищется.
их из ячейки
том, что уже=—ЕЧИСЛО(ПОИСК($E$1;B2;ПОИСК(«|»;B2)))SUM
(ПОИСК), на наличие
30 дней
SEARCH
функции
использовать подстановочные знаки. Для удобства такжеи выглядит так: слова дрел) и позволяющая использовать подстановочныеНайдем текстовые значения, удовлетворяющие на знак #..Подскажите, пожалуйста, как и передать в
есть макрос и
Урок подготовлен для Вас(СУММ) в ячейке ошибки – воспользоваться.(ПОИСК) ищет текстовуюЕслиЧтобы задать формат для
excel2.ru
Проверка ячейки на наличие в ней текста (без учета регистра)
приводим ссылку на «дрел?». В этомдлиной как минимум знаки: используем функцию заданному пользователем критерию.Чтобы найти позицию второгоНач_позиция проверить при помощи переменную, либо делать хотелось его дополнить командой сайта office-guru.ru E2 подсчитает суммарное функциейИспользуйте функцию строку внутри другой. поиска, нажмите кнопку оригинал (на английском случае будут выведены6 символов. ПОИСК(). Согласно критерию Критерии заданы с
вхождения буквы «а» — позиция знака в .Find взятые от иное действие, если функцией, принцип ничегоИсточник: http://blog.contextures.com/archives/2011/01/19/30-excel-functions-in-30-days-18-search/ количество записей, гдеISNUMBERSEARCH текстовой строки, и,Для выполнения этой задачиФормат языке) .
все значения,Для создания списка, содержащего «дрел?» (длина 5 использованием подстановочных знаков. в строке «мама
Поиск ячеек, содержащих текст
просматриваемой_строке, с которой исходного текста 4 одного их данных
-
не делать повторяющегосяПеревел: Антон Андронов искомый текст был
(ЕЧИСЛО). Если строка(ПОИСК), чтобы найти если находит, то
-
используются функциии внесите нужныеПредположим, что вы хотитезаканчивающиеся найденные значения, воспользуемся символов) — должны Поиск будем осуществлять мыла раму» используйте должен начинаться поиск.
-
первых символа на вариантов вначале ячейки ежедневно хорош, дляАвтор: Антон Андронов найден. найдена, результатом какой-либо текст внутри сообщает её позицию.Если
изменения во всплывающем убедиться, что столбецна слова дрель
-
формулой массива: быть выведены 3 в диапазоне с формулу =ПОИСК(«а»;»мама мыла Если аргумент наличие текста «аб.»? нет. этого и нужны
-
palmin90В следующем примере вSEARCH текстовой строки. ВФункция, окне содержит текст, не
или дрели.=ИНДЕКС(Список;НАИМЕНЬШИЙ( значения: Дрель, дрель, повторяющимися значениями. При раму»;ПОИСК(«а»;»мама мыла раму»)+1).нач_позиция То есть, чтобыСможет ли помочь программисты.: Приветствую, нужна помощь.
-
столбце B показаны:(ПОИСК) будет число, этом примере мыSEARCHПоиск
Найти формат номера. Или perhapsyou ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($E$2;Список)=1;СТРОКА(Список)-СТРОКА($A$4);НД());»»); Дрели. наличии повторов, можно Чтобы определить естьопущен, то предполагается в случае, если
в данном вопросеВ общем вопросНужно найти и
Проверка ячейки на наличие в ней любого текста
Название города | Профессия а значит функция будем искать одиночный(ПОИСК) ищет текстовую
Проверка соответствия содержимого ячейки определенному тексту
и. необходимо найти всеДля создания списка, содержащегоСТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))))Для создания списка, содержащего
Проверка соответствия части ячейки определенному тексту
ожидать, что критерию ли третье вхождение значение 1. в первых 4 инструмент Find в закрыт, на стадии заменить символ наНаша задача найти профессии,
ISNUMBER символ (введённый в строку внутри другойЕЧИСЛО
support.office.com
30 функций Excel за 30 дней: ПОИСК (SEARCH)
Кнопка заказы, которые соответствуют найденные значения, воспользуемся) найденные значения, воспользуемся будет соответствовать несколько буквы «м» вВ аргументе символах есть текст VBA? компилирования из csv всем рабочем пространстве
содержащие текстовую строку,(ЕЧИСЛО) вернет TRUE ячейке B5) внутри текстовой строки. Она.Параметры определенным Продавец. Если формулой массива:Часть формулы ПОИСК($E$2;Список)=1 определяет: формулой массива: значений. Для их строке «мама мылаискомый_текст
«аб.», выполнялась одноПробовал написать макрос в json эту листа. введённую в ячейке (ИСТИНА). Если же текстовой строки, находящейся может:Примечание:служит для задания
Функция 18: SEARCH (ПОИСК)
у вас нет=ИНДЕКС(Список;НАИМЕНЬШИЙ(начинается=ИНДЕКС(Список; вывода в отдельный раму» используйте формулуможно использовать подстановочные
Как можно использовать функцию SEARCH (ПОИСК)?
условие, а если при помощи Find, вещь править будут.Ситуация такая: E1. Формула в текст не найден,
- в ячейке B2.Найти строку текста внутри Функция
- более подробных условий проблемой верхний или
- ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($I$2;ПРАВСИМВ((Список);ДЛСТР($I$2)));СТРОКА(Список)-СТРОКА($A$4);НД());»»);ли значение из
Синтаксис SEARCH (ПОИСК)
НАИМЕНЬШИЙ(ЕСЛИОШИБКА(ЕСЛИ((ПОИСК($C$2;Список)=1)*(ДЛСТР($C$2)=ДЛСТР(Список))=1;СТРОКА(Список)-СТРОКА($A$4);НД());»»); диапазон удобно использовать =ЕСЛИ(ДЛСТР(ПОДСТАВИТЬ(«мама мыла раму»;»м»;»»;3))=ДЛСТР(«мама знаки — вопросительный
текст не "аб.",
но не могу
- palmin901. Нужно выделить ячейке C2 будет
- то=SEARCH(B5,B2) другой текстовой строкипоиска
- поиска. Например, можно найти нижний регистр текста,СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))) диапазонаСТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))))
Ловушки SEARCH (ПОИСК)
формулы массива. мыла раму»);»Нет третьего знак (?) и а просто «а.», никак понять, как: RAN, только дошло всю страницу от следующая:SEARCH=ПОИСК(B5;B2) (без учёта регистра).не учитывается регистр. все ячейки, содержащие существует несколько способов)A5:A13
Пример 1: Находим текст в строке
)Пусть Исходный список значений вхождения м»;»Есть третье звездочку (*). Вопросительный выполнялось другое? задать именно жесткий как вы до ctrl-home до ctrl-end.=—ISNUMBER(SEARCH($E$1,B2))(ПОИСК) сообщит обЕсли текст найден, функция
Использовать в поиске символы
Вчера в марафоне
данных определенного типа, проверки, если ячейкаЧасть формулы ПОИСК($I$2;ПРАВСИМВ((Список);ДЛСТР($I$2))) определяет:с фразы «дрел??».Часть формулы ПОИСК($C$2;Список)=1 определяет: (например, перечень инструментов) вхождение м») знак соответствует любомуkrosav4ig поиск по вышеуказаным
этой странности додумались,2. Найти в=—ЕЧИСЛО(ПОИСК($E$1;B2)) ошибке, аSEARCH подстановки.30 функций Excel за такого как формулы. содержит текст.совпадают ли последние 5 Критерию также будутначинается находится в диапазонеФормула =ПОИСК(«клад?»;»докладная») вернет 3, знаку; звездочка —:наборам символов, чтобы раз ctrl-home написано ячейках , иДанная формула нашла строки,ISNUMBER
(ПОИСК) возвратит номер
Определить стартовую позицию в
Пример 2: Используем символы подстановки с SEARCH (ПОИСК)
30 днейДля поиска на текущемДля поиска текста можно символов соответствовать значения начинающиесяли значение изA5:A13. т.е. в слове любой последовательности знаков.giovanni указать макросу, что значит я все заменить его на которые содержат слово(ЕЧИСЛО) возвратит FALSE позиции его первого просматриваемом тексте.мы распознавали типы листе или во также использовать фильтр.значений из диапазона с фраз дрелью, диапазона
См. Файл примера. «докладная» содержится слово Если нужно найти, .Find не о ищутся именно «а.», руками делаю))) /. «bank», но в (ЛОЖЬ). символа в текстовойФункция
ошибок с помощью всей книге можно Дополнительные сведения см.A5:A13 дрел23 и т.п.A5:A13Выведем в отдельный диапазон
из 5 букв,
в тексте вопросительный
Пример 3: Определяем стартовую позицию для SEARCH (ПОИСК)
том, вам нужен «аб.» или «абв.»RANPelena одной из нихВ значении аргумента строке. Если неSEARCH функции выбрать в поле в статье Фильтрацияс фразой «дрел?».Критерий вводится в ячейкус фразы «дрел?». значения, которые удовлетворяют первые 4 из знак или звездочку,
Instr и именно вначале
: Неужели есть? И
: Обязательно макросом? Стандартный это слово встречаетсяfind_text найден, результатом будет(ПОИСК) имеет вотERROR.TYPE
Искать
данных.
Критерию также будутG2Часть формулы ДЛСТР($C$2)=ДЛСТР(Список) критерию, причем критерий которых клад (начиная следует поставить перед200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub dd() содержимого ячейки где об этом
инструмент Найти/Заменить не не в названии(искомый_текст) можно использовать сообщение об ошибке такой синтаксис:(ТИП.ОШИБКИ) и убедились,вариантВыполните следующие действия, чтобы соответствовать значения заканчивающиесяи выглядит так: определяет: задан с использованием с третьей буквы ними тильду (~).Dim xcell AsПодскажите, пожалуйста, в хоть намек? вариант?
профессии, а в символы подстановки. Символ#VALUE!SEARCH(find_text,within_text,[start_num]) что она можетЛист
найти ячейки, содержащие
на фразы дрела,
«?дрель?». В этомравна ли длина строки
подстановочных знаков (*,
слова докладная).
Если искомый_текст не найден,
office-guru.ru
Поиск в диапазоне ячеек символа «/» и замена оного (Макросы/Sub)
Variant какую сторону смотреть)
palmin90palmin90 названии города. Это*
(#ЗНАЧ).
ПОИСК(искомый_текст;текст_для_поиска;[нач_позиция]) быть очень полезнаили
определенный текст. дрел6 и т.п. случае будут выведенызначения из диапазона
?). Рассмотрим различныеФункция НАЙТИ() учитывает РЕгиСТР возвращается значение ошибкиxcell = Range(«A2»).Value
Спасибо!: RAN,: Pelena, к сожалению нас не устраивает!(звёздочка) заменяет любоеВ случае, когда результатомfind_text для исправления ошибок
КнигаВыделите диапазон ячеек, средиСОВЕТ: все значения,A5:A13 варианты поиска.
букв и не #ЗНАЧ!Select Case 1krosav4igShAM нет, у меня
После каждого названия города количество символов или является ошибка, Вы
(искомый_текст) – текст, в Excel.. которых требуется осуществитьО поиске текстовыхсодержащие5 символам?Для удобства написания формул допускает использование подстановочныхФункция ПОИСК() не учитываетCase InStr(xcell, «абв.»): Доброй ночи
: Макрорекордер рулит: каждый день новый стоит символ их отсутствие, а можете использовать функцию
который Вы ищете.18-й день марафона мыНажмите кнопку поиск. значений с учетомслово дрель, иЗнак * (умножить) между
создадим Именованный диапазон знаков. Для поиска РЕгиСТР букв. ДляMsgBox «абв.»
200?’200px’:»+(this.scrollHeight+5)+’px’);»>.Find(«абв.*», , xlFormulas, xlWhole,200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Макрос1(): Cells.Replace What:=»»,
файл от 5|
?IFERROR
excelworld.ru
Поиск определенных символов вначале содержимого ячейки (Макросы/Sub)
within_text посвятим изучению функции
Найти всеЧтобы выполнить поиск по
РЕгиСТра читайте в у которых есть частями формулы представляет
Список для диапазона без учета регистра, поиска с учетомCase InStr(xcell, «аб.») xlByRows, xlNext)
Replacement:=»/»: End Sub до 13 тыс.строк,(вертикальная черта), поэтому(вопросительный знак) заменяет(ЕСЛИОШИБКА), чтобы вместо(текст_для_поиска) – текстоваяSEARCHили всему листу, щелкните статье Поиск текстовых перед ним и условие И (значениеA5:A13 а также для регистра следует воспользоватьсяMsgBox «аб.»
giovannigiovanni где в некоторых мы, используя функцию
любой одиночный символ. выполнения функции строка, внутри которой(ПОИСК). Она ищетНайти далее любую ячейку.
значений в списках. после него как должно начинаться с. поиска с использованием функцией НАЙТИ().
Case InStr(xcell, «а.»): Пришла на ум
: Доброй ночи!
ячейках эти символы.SEARCHВ нашем примере использованSEARCH
происходит поиск. символ (или символы).На вкладке Часть3. Поиск с минимум 1 символ. дрел и иметьПеречень найденных значений будем подстановочных знаков пользуйтесь
Формула =ПОИСК("к";"Первый канал") вернет
MsgBox "а."
примерно такая идея
Подскажите, пожалуйста, поДело в том,(ПОИСК), можем найти символ подстановки(ПОИСК) вывести соответствующееstart_num внутри текстовой строкиНайти всеГлавная учетом РЕГИСТРА.
Для создания списка, содержащего такую же длину, помещать в отдельный функцией ПОИСК(). 8, т.к. букваEnd Select решения задачи. Например, следующему вопросу. что далее файл позицию этого символа.* сообщение. Функция(нач_позиция) – если и сообщает, гдесписки каждого экземпляра
в группеПримечание: найденные значения, воспользуемся как и критерий, столбец.Функция ПОИСК() может быть к находится на
End Sub ячейка с исходным
К примеру, есть
конвертим в .json,
Его позиция может
, поэтому в названиях
IFERROR
не указан, то
он был найден.
элемента, который необходимо
Редактирование
Мы стараемся как
excelworld.ru
формулой массива:
В учебнике показано, как использовать функции подстроки в Excel для извлечения текста из ячейки, получения подстроки до или после указанного символа, найти ячейки, содержащие часть строки, и многое другое.
Прежде чем мы начнем обсуждать различные методы работы с подстроками в Excel, давайте уделим немного времени определению термина, чтобы мы могли начать с той же страницы. Итак, что такое подстрока? Проще говоря, это часть текстовой записи. Например, если вы наберете что-то вроде «AA-111» в ячейке, вы назовете это буквенно-цифровая строкаи любая часть строки, скажем, «AA», будет подстрока.
Хотя в Excel нет такой функции, как функция подстроки, существуют три текстовые функции (LEFT, RIGHT и MID) для извлечения подстроки заданной длины. Кроме того, есть функции НАЙТИ и ПОИСК для получения подстроки до или после определенного символа. И есть несколько других функций для выполнения более сложных операций, таких как извлечение чисел из строки, замена одной подстроки на другую, поиск частичного совпадения текста и т. д. Ниже вы найдете примеры формул для выполнения всего этого и многого другого. .
Microsoft Excel предоставляет три различные функции для извлечения текста заданной длины из ячейки. В зависимости от того, где вы хотите начать извлечение, используйте одну из следующих формул:
- Функция LEFT — извлечь подстроку слева.
- Функция ПРАВО — извлечь текст справа.
- Функция MID — для извлечения подстроки из середины текстовой строки, начиная с указанной вами точки.
Как и в случае с другими формулами, функции работы с подстроками в Excel лучше всего изучать на примере, поэтому давайте рассмотрим несколько из них.
Чтобы извлечь текст слева от строки, вы используете функцию Excel LEFT:
СЛЕВА(текст, [num_chars])
Где текст адрес ячейки, содержащей исходную строку, и num_chars количество символов, которые вы хотите извлечь.
Например, чтобы получить первые 4 символа из начала текстовой строки, используйте следующую формулу:
=ЛЕВО(A2,4)
Получить подстроку с конца строки (ВПРАВО)
Чтобы получить подстроку из правой части текстовой строки, воспользуйтесь функцией Excel ПРАВИЛЬНО:
ПРАВИЛЬНО(текст, [num_chars])
Например, чтобы получить последние 4 символа с конца строки, используйте следующую формулу:
=ВПРАВО(A2,4)
Если вы хотите извлечь подстроку, начинающуюся в середине строки, в указанной вами позиции, то MID — это функция, на которую вы можете положиться.
По сравнению с двумя другими текстовыми функциями, MID имеет несколько иной синтаксис:
MID(текст, start_num, num_chars)
Помимо текст (исходная текстовая строка) и num_chars (количество символов для извлечения), вы также указываете start_num (отправная точка).
В нашем примере набора данных, чтобы получить три символа из середины строки, начинающейся с 6-го символа, вы используете следующую формулу:
=СРЕДНЕЕ(A2,6,3)
Кончик. Вывод формул Right, Left и Mid всегда является текстом, даже если вы извлекаете число из текстовой строки. Если вы хотите оперировать результатом как числом, оберните формулу в функцию ЗНАЧЕНИЕ следующим образом:
= ЗНАЧЕНИЕ (СРЕДНЕЕ (A2,6,3))
Как показано в приведенных выше примерах, функции Left, Right и Mid прекрасно справляются с однородными строками. Когда вы имеете дело с текстовыми строками переменной длины, потребуются более сложные манипуляции.
Примечание. Во всех приведенных ниже примерах мы будем использовать функцию SEARCH без учета регистра, чтобы получить позицию символа. Если вам нужна формула с учетом регистра, используйте функцию НАЙТИ.
Как извлечь текст перед определенным символом
Чтобы получить подстроку, предшествующую заданному символу, нужно сделать две вещи: сначала определить позицию интересующего символа, а затем вытянуть все символы перед ним. Точнее, вы используете функцию ПОИСК, чтобы найти положение символа, и вычитаете 1 из результата, потому что вы не хотите включать сам символ в вывод. А затем вы отправляете возвращенный номер непосредственно на num_chars аргумент ЛЕВОЙ функции:
ОСТАВИЛ(клеткаПОИСК(«уголь«, клетка)-1)
Например, чтобы извлечь подстроку перед символом дефиса (-) из ячейки A2, используйте следующую формулу:
=ВЛЕВО(A2, ПОИСК(«-«,A2)-1)
Независимо от того, сколько символов содержит ваша строка Excel, формула извлекает только текст до первого дефиса:
Чтобы получить текст после определенного символа, вы используете несколько иной подход: получите позицию символа с помощью ПОИСК или НАЙТИ, вычтите это число из общей длины строки, возвращаемой функцией ДЛСТР, и извлеките столько же символов из конца строки. Струна.
ПРАВИЛЬНО(клетка,ЛЕН(клетка)-ПОИСК(«уголь«, клетка))
В нашем примере мы будем использовать следующую формулу для извлечения подстроки после первого дефиса:
=ВПРАВО(A2,ДЛСТР(A2)-ПОИСК(«-«,A2))
Как извлечь текст между двумя экземплярами символа
Чтобы получить подстроку между двумя вхождениями определенного символа, используйте следующую общую формулу:
СРЕДНЯЯ(клеткаПОИСК(«уголь«, клетка)+1, ПОИСК («уголь«, клеткаПОИСК («чар», клетка)+1) — ПОИСК («уголь«, клетка)-1)
Первые два аргумента этой формулы MID предельно ясны:
Текст это ячейка, содержащая исходную текстовую строку.
Start_num (начальная точка) — простая формула ПОИСК возвращает позицию нужного символа, к которой вы добавляете 1, потому что хотите начать извлечение со следующего символа.
Num_chars (количество символов для извлечения) — самая сложная часть:
- Во-первых, вы определяете положение второго вхождения символа, вкладывая одну функцию поиска в другую.
- После этого вы вычитаете позицию 1-го вхождения из позиции 2-го вхождения и вычитаете 1 из результата, так как вы не хотите включать символ-разделитель в результирующую подстроку.
Например, чтобы извлечь текст, окруженный двумя дефисами, вы должны использовать эту формулу:
=СРЕДН(A2, ПОИСК(«-«,A2) + 1, ПОИСК(«-«,A2,ПОИСК(«-«,A2)+1) — ПОИСК(«-«,A2) — 1)
На скриншоте ниже показан результат:
Если вы хотите извлечь текст между 2-м и 3-м или 3-м и 4-м вхождением одного и того же символа, вы можете использовать более компактную комбинацию ПОИСК ПОДСТАВКИ, чтобы получить позицию символа, как описано в разделе Как найти N-е вхождение символа в строку. :
НАЙТИ(СИМВОЛ(1),ПОДСТАВИТЬ(клетка,персонаж,СИМВОЛ(1),N-е вхождение))
В нашем случае мы могли бы извлечь подстроку между 2-м и 3-м дефисом по следующей формуле:
=MID(A2, НАЙТИ(СИМВОЛ(1),ЗАМЕНИТЬ(A2,»-«,СИМВОЛ(1),2))+1, НАЙТИ(СИМВОЛ(1),ЗАМЕНИТЬ(A2,»-«,СИМВОЛ(1) ,3)) — НАЙТИ(СИМВОЛ(1),ПОДСТАВИТЬ(A2,»-«,СИМВОЛ(1),2))-1)
В ситуациях, когда вы не хотите извлекать подстроку, а хотите найти только ячейки, содержащие ее, вы используете функцию ПОИСК или НАЙТИ, как показано в приведенных выше примерах, но выполняете поиск внутри функции ЕСНИМ. Если ячейка содержит подстроку, функция поиска возвращает позицию первого символа, и если ISNUMBER получает любое число, она возвращает TRUE. Если подстрока не найдена, поиск приводит к ошибке, заставляя ISNUMBER возвращать FALSE.
IНОМЕР(ПОИСК(«подстрока«, клетка))
Предположим, у вас есть список британских почтовых индексов в столбце A, и вы хотите найти те, которые содержат подстроку «1ZZ». Чтобы это сделать, используйте эту формулу:
=ISNUMBER(ПОИСК(«1zz», A2))
Результаты будут выглядеть примерно так:
Если вы хотите вернуть собственное сообщение вместо логических значений ИСТИНА и ЛОЖЬ, вложите приведенную выше формулу в функцию ЕСЛИ:
=ЕСЛИ(IЧИСЛО(ПОИСК(«1zz», A2)), «Да», «»)
Если ячейка содержит подстроку, формула возвращает «Да», в противном случае — пустую строку («»):
Как вы помните, функция ПОИСК в Excel нечувствительна к регистру, поэтому вы используете ее, когда регистр символов не имеет значения. Чтобы ваша формула различала прописные и строчные буквы, выберите функцию НАЙТИ с учетом регистра.
Дополнительные сведения о том, как найти текст и числа в Excel, см. в разделе Если ячейка содержит примеры формул.
Как вы только что видели, Microsoft Excel предоставляет множество различных функций для работы с текстовыми строками. Если вы не уверены, какая функция лучше всего подходит для ваших нужд, передайте задание нашему Ultimate Suite for Excel. Имея эти инструменты в своем арсенале Excel, вы просто переходите к Данные об аблебитах вкладка > Текст группу и нажмите Извлечь:
Теперь вы выбираете исходные ячейки и любые сложные строки, которые они содержат, извлечение подстроки сводится к этим двум простым действиям:
- Укажите, сколько символов вы хотите получить из начала, конца или середины строки; или выберите извлечение всего текста до или после заданного символа.
- Нажмите Вставить результаты. Сделанный!
Например, чтобы получить доменные имена из списка адресов электронной почты, выберите Все после текста переключатель и введите @ в поле рядом с ним. Чтобы извлечь имена пользователей, выберите Все перед текстом переключатель, как показано на скриншоте ниже.
И через мгновение вы получите следующие результаты:
Помимо скорости и простоты, инструмент Извлечь текст имеет дополнительную ценность — он поможет вам изучить формулы Excel в целом и функции работы с подстроками в частности. Как? Установив флажок «Вставить как формулу» в нижней части панели, вы гарантируете, что результаты выводятся в виде формул, а не значений.
В этом примере, если вы выберете ячейки B2 и C2, вы увидите следующие формулы соответственно:
- Чтобы извлечь имя пользователя:
=ЕСЛИОШИБКА(СЛЕВА(A2,ПОИСК(«@»,A2)-1),»»)
- Чтобы извлечь домен:
=ЕСЛИОШИБКА(ПРАВО(A2, ДЛСТР(A2)- ПОИСК(«@»,A2) — ДЛСТР(«@») + 1),»»)
Сколько времени у вас ушло бы на то, чтобы вычислить эти формулы самостоятельно? 😉
Поскольку результаты представляют собой формулы, извлеченные подстроки будут обновляться автоматически, как только в исходные строки будут внесены какие-либо изменения. Когда в ваш набор данных добавляются новые записи, вы можете копировать формулы в другие ячейки, как обычно, без необходимости заново запускать инструмент «Извлечь текст».
Если вам интересно попробовать это, а также многие другие полезные функции, включенные в Ultimate Suite for Excel, вы можете загрузить ознакомительную версию.
Дополнительные формулы для подстрок в Excel
В этом уроке мы продемонстрировали некоторые классические формулы Excel для извлечения текста из строки. Как вы понимаете, может быть почти бесконечное количество вариаций этих базовых сценариев. Ниже вы найдете еще несколько примеров формул, в которых вам пригодятся функции Text.
Доступные загрузки
Функции работы с подстроками в Excel — практическая рабочая тетрадь (файл .xlsx)
Ultimate Suite — пробная версия (файл .exe)