Excel найти все символы в строке

ПОИСК, ПОИСКБ (функции ПОИСК, ПОИСКБ)

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 – примеры

Что делает функция ПОИСК?

Эта функция аналогична функции НАЙТИ и так же ищет подстроку в строке. Когда искомое найдено, отображается его позиция в тексте в виде числа.

Отличие от функции НАЙТИ в том, что ПОИСК не принимает в расчет регистр текста. Как искомого, так и того, в котором мы ищем. Также она поддерживает подстановочные операторы.

У обеих функций есть процедура-аналог Найти и Заменить – как у процедуры, у нее есть свои преимущества и недостатки.

Синтаксис

=ПОИСК(ИскомыйТекст;СтрокаВКоторойИщем;[СтартоваяПозиция])
  • ИскомыйТекст — символ или сочетание, которое ищем
  • СтрокаВКоторойИщем — ячейка, текстовое значение или любое возвращаемое другой функцией выражение.
  • Стартовая позиция — опциональный параметр, при отсутствии поиск происходит с первого символа

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

Если искомое не найдено в тексте, функция возвращает ошибку #ЗНАЧ.

Форматирование

При поиске дат функция ПОИСК, как и все текстовые функции, воспринимает их как числа, поэтому для корректного поиска может понадобиться функция ТЕКСТ.

При этом логические значения ИСТИНА и ЛОЖЬ конвертируются в текст, соответствующий их написанию.

Поиск символа в ячейке

Наиболее простой пример использования функции – осуществление поиска определенного символа в ячейке.

Логика проста – если поиск позиции символа не возвращает ошибку, значит, символ в ячейке присутствует:

=НЕ(ЕОШ(ПОИСК(паттерн;текст)))
поиск символа в ячейке - пример таблицы
Поиск символа в ячейке формулой ПОИСК

Извлечь первое слово

В этом простейшем примере извлекаем первое слово из ячейки с помощью комбинации — функция ЛЕВСИМВ + функция ПОИСК. Поскольку пробел — регистронезависимый символ, для этого случая можно использовать и функцию НАЙТИ.

Функция поиск в формуле извлечения текста до пробела
Определяем номер позиции первого пробела и возвращаем символы до этой позиции

Таблица выше была использована для извлечения имени из строки с именем и фамилией.

  1. ПОИСК возвращает позицию пробела между именем и фамилией.
  2. Длина имени вычисляется как позиция пробела минус 1.
  3. Функция ЛЕВСИМВ извлекает имя на основе его длины.

Другие примеры использования

Найти первую цифру в ячейке:

=МИН(ЕСЛИОШИБКА(ПОИСК({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 поможет решить множество задач без ввода сложных формул и сэкономит ваше время. И вам полезно, и автору приятно!

ПОИСК, ПОИСКБ (функции ПОИСК, ПОИСКБ)

​Смотрите также​ подстроку заданного размера.​ полученному числу прибавляется​​ дат.​​ — это я​​ колонке С не​​ арифметические операции (по​

Описание

​ ячейке​​ специальные комбинации символов​​и выглядит так:​​ ПОИСК(). Согласно критерию​​=ПСТР(A2;1;НАЙТИ(» №»;A2;1)-1)​Если «нач_позиция» больше, чем​ так и двухбайтовый,​ A2, начиная с​ или больше, чем​ В противном случае​В этой статье описаны​ Начальная позиция символа​ единица для нахождения​Вид исходной таблицы данных:​ так полагаю 12​

​ пусто.​

​ смежным столбцам)​​A1​​ (^v, ^l). В​ «?дрель?». В этом​ «дрел?» (длина 5​

​Выделяет текст от позиции​ длина аргумента «просматриваемый_текст»,​ как один знак,​

​ шестого знака.​

​ длина​​ функция ПОИСКБ работает​​ синтаксис формулы и​ в строке соответствует​ позиции первого символа​Для заполнения номера дня​ часть единицы, а​​- количество строк,​​Формуляр​​).​​ окне стандартного поиска​ случае будут выведены​ символов) — должны​ 1 до знака​ функции НАЙТИ и​ независимо от выбранного​​7​​просматриваемого текста​​ так же, как​​ использование функций​ числу 1. Если​​ названия марки продукта.​​ используем следующую формулу​​ именно суток), например​​ у которых в​: Для этого существует​Формула для подсчета символа​

​ EXCEL использование таких​​ все значения,​

  • ​ быть выведены 3​ «№» в строке​ НАЙТИБ, то возвращается​

  • ​ по умолчанию языка.​=ПОИСК(A4;A3)​, возвращается значение ошибки​ функция ПОИСК, и​ПОИСК​ данный аргумент принимает​ Итоговое значение используется​ (использовать в качестве​ если надо более​ колонке D значение​ обычный​ Z в слове​ комбинаций не предусмотрено,​

​содержащие​ значения: Дрель, дрель,​ («Керамический изолятор»)​ значение ошибки #ЗНАЧ!.​Функция НАЙТИБ при подсчете​

Синтаксис

​Начальная позиция строки «маржа»​

​ #ЗНАЧ!.​

​ отсчитывает по одному​и​

  • ​ дробное число из​​ в качестве аргумента​ формулы массива):​

  • ​ 2 дней​​ равно «Ожидание»​FIND(find_text,within_text,start_num)​ Zigzag (с учетом​​ но из ситуации​​слово дрель, и​

  • ​ Дрели.​​Керамический изолятор​Аргумент «нач_позиция» можно использовать,​​ рассматривает каждый двухбайтовый​​ (искомая строка в​Аргумент​

Замечание

  • ​ байту на каждый​​ПОИСКБ​​ диапазона допустимых значений,​​ начальная_позиция функции ПСТР.​​Описание аргументов:​то поставить >2​_Boroda_​​ALARMus​​ регистра), см. файл​​ можно выйти по-другому.​​ у которых есть​

  • ​Для создания списка, содержащего​​=ПСТР(A3;1;НАЙТИ(» №»;A3;1)-1)​​ чтобы пропустить нужное​ знак как два​ ячейке A4) в​​начальная_позиция​​ символ.​​в Microsoft Excel.​​ дробная часть будет​ Для упрощения, вместо​A2:A10 – диапазон ячеек​ ?​: Красные ячейки​: Именно его я​ примера:​​Для поиска, например, спецсимвола​​ перед ним и​

  • ​ найденные значения, воспользуемся​​Выделяет текст от позиции​​ количество знаков. Предположим,​ знака, если включена​

  • ​ строке «Доход: маржа»​​можно использовать, чтобы​​К языкам, поддерживающим БДЦС,​Функции​

  • ​ усечена;​​ поиска номера последней​​ с текстовым представлением​Serge_007​ALARMus​​ и пробовал, или​​=ДЛСТР(A1) — ДЛСТР(ПОДСТАВИТЬ(A1;»Z»;»»))​ Разрыв страницы (см.​

  • ​ после него как​​ формулой массива:​​ 1 до знака​ например, что для​ поддержка языка с​ (ячейка, в которой​​ пропустить определенное количество​​ относятся японский, китайский​ПОИСК​число_знаков – обязательный аргумент,​ позиции (например, с​ дат, из которых​: Да. Дни в​: вот это спасибо.​​ я не так​​Формула для подсчета символа​ статью Вставка символа​ минимум 1 символ.​=ИНДЕКС(Список;​ «№» в ячейке​ поиска строки «МДС0093.МесячныеПродажи»​ БДЦС и такой​​ выполняется поиск — A3).​​ знаков. Допустим, что​ (упрощенное письмо), китайский​И​ принимающий значение из​​ помощью функции ДЛСТР)​​ будут выделены номера​ Excel — это​Вот помогли. (+1​​ составил функцию или​​ Z (или z)​ Разрыва строки для​Для создания списка, содержащего​​НАИМЕНЬШИЙ(ЕСЛИОШИБКА(ЕСЛИ((ПОИСК($C$2;Список)=1)*(ДЛСТР($C$2)=ДЛСТР(Список))=1;СТРОКА(Список)-СТРОКА($A$4);НД());»»);​​ А3 («Медная пружина»)​ используется функция НАЙТИ.​ язык установлен по​​8​​ функцию​

Примеры

​ (традиционное письмо) и​ПОИСКБ​ диапазона неотрицательных чисел,​ указано число 100,​ дней;​ целая часть числа,​ exp. для моего​ одно из двух,​ в слове Zigzag​ удобства чтения формул​ найденные значения, воспользуемся​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))))​Медная пружина​

​ Чтобы найти номер​

​ умолчанию. В противном​

​=ЗАМЕНИТЬ(A3;ПОИСК(A4;A3);6;»объем»)​

​ПОИСК​

​ корейский.​

​находят одну текстовую​

​ которое характеризует длину​

​ которое в данном​

​1 – номер начальной​

​ значения даты и​ опыта)​ но НАЙТИ если​ (без учета РЕгиСТра):​

​ в ячейке) нужно​

​ формулой массива:​

​)​=ПСТР(A4;1;НАЙТИ(» №»;A4;1)-1)​ первого вхождения «М»​ случае функция НАЙТИБ​Заменяет слово «маржа» словом​нужно использовать для​

​ПОИСК(искомый_текст;просматриваемый_текст;[начальная_позиция])​

​ строку в другой​

​ в символах возвращаемой​ примере гарантированно превышает​ позиции символа извлекаемой​ времени.​ALARMus​ указать диапазон в​=ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A1);»z»;»»))​ сделать следующее:​

​=ИНДЕКС(Список;НАИМЕНЬШИЙ(​

​Часть формулы ПОИСК($C$2;Список)=1 определяет:​

​Выделяет текст от позиции​ в описательную часть​ рассматривает каждый знак​ «объем», определяя позицию​ работы с текстовой​

​ПОИСКБ(искомый_текст;просматриваемый_текст;[начальная_позиция])​

​ и возвращают начальную​

​ подстроки. Если в​ количество знаков в​ подстроки (первый символ​

​ЗЫ И можно​

​: А еще дополнительный​

​ котором надо искать​Для подсчета количества пробелов​перейти в раскладку Английский​

​ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($G$2;Список);СТРОКА(Список)-СТРОКА($A$4);НД());»»);​

support.office.com

НАЙТИ, НАЙТИБ (функции НАЙТИ, НАЙТИБ)

​начинается​ 1 до знака​ текстовой строки, задайте​​ как один знак.​​ слова «маржа» в​​ строкой «МДС0093.МужскаяОдежда». Чтобы​​Аргументы функций ПОИСК и​

Описание

​ позицию первой текстовой​ качестве этого аргумента​ изначальной строке.​ в исходной строке);​ не вводить как​ вопрос.​ ищет до первого​

​ (код символа пробела​​ (США)​

  • ​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))))​ли значение из​ «№» в ячейке​

  • ​ значение аргумента «нач_позиция»​К языкам, поддерживающим БДЦС,​ ячейке A3 и​ найти первое вхождение​ ПОИСКБ описаны ниже.​ строки (считая от​ передано число 0​В результате расчетов получим:​2 – номер последней​ формулу массива​

  • ​Если у функции​ найденного.​ — 32) в​нажать​)​ диапазона​ А4 («Переменный резистор»)​

  • ​ равным 8, чтобы​ относятся японский, китайский​ заменяя этот знак​ «М» в описательной​Искомый_текст​ первого символа второй​ (нуль), функция ПСТР​Пример 3. В таблице​ позиции символа извлекаемой​ALARMus​ есть координаты ячеек​

​По крайней мере​ ячейке используйте формулу:​CTRL+F​Часть формулы ПОИСК($G$2;Список) определяет:​A5:A13​

Синтаксис

​Переменный резистор​

​ поиск в той​

​ (упрощенное письмо), китайский​ и последующие пять​

  • ​ части текстовой строки,​​    Обязательный. Текст, который требуется​ текстовой строки). Например,​

  • ​ вернет пустую строку.​​ содержатся данные о​ подстроки.​: Что-то не все​

  • ​ с другого листа,​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММПРОИЗВ((ЕСЛИОШИБКА(((НАЙТИ(«искомое слово»;’2012.07′!C2:C29))>0);0))*1)​=ДЛСТР(A1) — ДЛСТР(ПОДСТАВИТЬ(A1;СИМВОЛ(32);»»))​;​содержит​с фразы «дрел?».​Найдем текстовые значения, удовлетворяющие​ части текста, которая​ (традиционное письмо) и​

Замечания

  • ​ знаков текстовой строкой​ задайте для аргумента​ найти.​ чтобы найти позицию​ Если аргумент задан​ сотрудниках в столбцах​Аналогичным способом выделим номера​ получается.​ то пишется это​Дало результат 1,​

  • ​В статье Подсчет вхождений​установить курсор в поле​ли значение из​Часть формулы ДЛСТР($C$2)=ДЛСТР(Список)​ заданному пользователем критерию.​ является серийным номером,​ корейский.​ «объем.»​начальная_позиция​

  • ​Просматриваемый_текст​ буквы «n» в​

  • ​ числом, превышающим количество​ ФИО и дата​ месяца и годы​Первая часть подсчет​ так (‘Лист1’!;…;..)​

  • ​ хотя строк содержащих​ последовательности символов показано,​ Найти;​ диапазона​

  • ​ определяет:​ Критерии заданы с​ не производился. Функция​НАЙТИ(искомый_текст;просматриваемый_текст;[нач_позиция])​Доход: объем​

  • ​значение 8, чтобы​    Обязательный. Текст, в котором​ слове «printer», можно​ символов в строке,​ рождения. Создать столбец,​ для заполнения соответствующих​ и отбор строк​Как вместо указания​ «искомое слово» гараздо​ как подсчитать количество​удерживая клавишу ALT, набрать​A5:A13​равна ли длина строки​ использованием подстановочных знаков.​ НАЙТИ начинает со​НАЙТИБ(искомый_текст;просматриваемый_текст;[нач_позиция])​=ПСТР(A3;ПОИСК(» «;A3)+1,4)​ поиск не выполнялся​ нужно найти значение​ использовать следующую функцию:​ будет возвращена вся​ в котором будет​ столбцов с учетом,​ содержащих определенный текст​ конкретного имени листа​ больше. Ну как​ вхождений некоторой последовательности​

Примеры

​ на цифровой клавиатуре​фразу «?дрел?». Критерию​значения из диапазона​ Поиск будем осуществлять​ знака 8, находит​Аргументы функций НАЙТИ и​Возвращает первые четыре знака,​ в той части​ аргумента​=ПОИСК(«н»;»принтер»)​ часть строки начиная​ отображаться фамилия сотрудника​ что номер месяца​

​ работает, а вот​

​ указать значение ячейки,​

​ понимаете я расчитывал​

​ символов в текстовой​

​ (блок цифр справа)​

​ также будут соответствовать​

​A5:A13​ в диапазоне с​

​ искомый_текст в следующем​

​ НАЙТИБ описаны ниже.​

​ которые следуют за​ текста, которая является​

​искомый_текст​

​Эта функция возвращает​

​ с указанной вторым​ и его возраст​ начинается с 4-го​

​ попробовал сделать тоже​

Пример 2

​ сама ячейка содержит​

​ получить количество строк​

​ строке.​

​ 0010;​

​ значения содержащие фразы​

​5 символам?​

​ повторяющимися значениями. При​

​ знаке и возвращает​

​Искомый_текст​ первым пробелом в​ серийным номером (в​.​

​4​

​ аргументом позиции. В​

​ в формате «Иванов​ символа в каждой​ самое для НЕ​ как раз имя​

​ содержащих «искомое слово».​

​О поиске позиции n-го​

​отпустить ALT (символ может​ 5дрел7, Адрелу и​Знак * (умножить) между​ наличии повторов, можно​

​ число 9. Функция​

support.office.com

Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть2. Подстановочные знаки

​    — обязательный аргумент. Текст,​ строке «Доход: маржа»​ данном случае —​Начальная_позиция​, так как «н»​ дробных числах, используемых​ – 27».​ строке, а год​ содержащих такой текст​ нужного листа (это​ALARMus​ вхождения буквы в​ быть не отображен);​ т.п.​

​ частями формулы представляет​ ожидать, что критерию​ НАЙТИ всегда возвращает​​ который необходимо найти.​​ (ячейка A3).​

Задача

​ «МДС0093»). Функция​    Необязательный. Номер знака в​ является четвертым символом​ в качестве данного​Вид исходной таблицы:​ – с 7-го.​ — правильно посчиталось​

А. Найти значения, которые начинаются с критерия и содержат определенное количество символов

​ когда много листов,​: вот файлик​ слове или в​​нажать ОК.​​Критерий вводится в ячейку​

​ условие И (значение​ будет соответствовать несколько​ номер знака, считая​

​Просматриваемый_текст​марж​​ПОИСК​​ аргументе​ в слове «принтер».​​ аргумента, дробная часть​​Для возврата строки с​ Используем следующие формулы:​

​ только общее количество,​ и ячейка это​​Serge_007​​ текстовой строке можно​В статье Ввод символов​I2​

​ должно начинаться с​ значений. Для их​ от левого края​    — обязательный аргумент. Текст,​=ПОИСК(«»»»;A5)​начинает поиск с​просматриваемый_текст​Можно также находить слова​ усекается.​ фамилией и текущим​

​=ПСТР(A2:A10;4;2)​ а вот остальное​ список содержит имя​
​:​
​ прочитать здесь.​
​ с помощью клавиши​
​и выглядит так:​

​ дрел и иметь​​ вывода в отдельный​​ текста «просматриваемый_текст», а​ в котором нужно​​Позиция первой двойной кавычки​​ восьмого символа, находит​
​, с которого следует​ в других словах.​​Функция ПСТРБ имеет схожий​​ возрастом используем следующую​​=ПСТР(A2:A10;7;4)​​ не правильно​

​ листа)​Quote​ALARMus​ Alt показано как​ «дрел?». В этом​ такую же длину,​ диапазон удобно использовать​ не от значения​ найти искомый текст.​ («) в ячейке​ знак, указанный в​ начать поиск.​ Например, функция​ синтаксис:​

Б. Найти значения, которые начинаются со слова дрель или дрели и содержат как минимум 6 букв

​ формулу:​​Вид заполненной таблицы данных:​​_Boroda_​у меня листы​(ALARMus)200?’200px’:»+(this.scrollHeight+5)+’px’);»>я расчитывал получить​: В целом задача:​ ввести любой символ,​​ случае будут выведены​​ как и критерий,​ формулы массива.​​ аргумента «нач_позиция».​​Начальная_позиция​

​ A5.​ аргументе​Функции​
​=ПОИСК(«base»;»database»)​
​=ПСТРБ(текст;начальная_позиция;число_байтов)​
​Функция ПСТР возвращает часть​
​Таким образом нам удалось​

​: Тут немного иначе​​ названы как 2012.7,​​ количество строк содержащих​Поиск слова(части слова)​​ зная его ASCII​​ все значения,​ т.е. 5 букв).​Пусть Исходный список значений​Скопируйте образец данных из​    — необязательный аргумент. Знак,​

В. Найти значения, у которых слово дрель находится в середине строки

​5​​искомый_текст​​ПОИСК​возвращает​Она отличается единственным аргументом:​ строки до символа​​ разрезать на части​​ нужно​ 2012.8,2012.9,…​ «искомое слово»​ в ячейке и​ код. Таблицу кодов​

​заканчивающиеся​ Критерию также будут​ (например, перечень инструментов)​
​ следующей таблицы и​
​ с которого нужно​
​=ПСТР(A5;ПОИСК(«»»»;A5)+1;ПОИСК(«»»»;A5;ПОИСК(«»»»;A5)+1)-ПОИСК(«»»»;A5)-1)​
​, в следующей позиции,​

​и​​5​​число_байтов – обязательный аргумент,​ пробела, позиция которого​​ текст в ячейках​​Serge_007​ALARMus​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММПРОИЗВ(—ЕЧИСЛО(НАЙТИ(«ввв»;A2:A14)))​ вычисление % значений,​ можно скачать здесь:​

Г. Найти значения, которые заканчиваются на слово дрель или дрели

​на слова дрель​​ соответствовать такие несуразные​​ находится в диапазоне​ вставьте их в​ начать поиск. Первый​Возвращает из ячейки A5​​ и возвращает число​​ПОИСКБ​, так как слово​

​ принимающий целые числа​

​ определяется функцией НАЙТИ.​ столбца A. Удалось​:​
​: Вот файлик.​
​Quote​
​ которые больше заданного​
​ .​

​ или дрели.​​ значения как дрел5,​A5:A13.​​ ячейку A1 нового​​ знак в тексте​​ только текст, заключенный​ 9. Функция​не учитывают регистр.​ «base» начинается с​ из диапазона от​

​ Для нахождения возраста​
​ отдельно каждую дату​Функция ПСТР в Excel​Может если я​(ALARMus)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Нужно так как​ в другой ячейке​С помощью диалогового окна​ ​

excel2.ru

Поиск ячеек содержащих в MS EXCEL спецсимволы

​ дрелМ и т.п.​См. Файл примера.​ листа Excel. Чтобы​ «просматриваемый_текст» имеет номер​ в двойные кавычки.​ПОИСК​​ Если требуется учитывать​​ пятого символа слова​ 1 до N,​ сотрудника используется функция​ разделить на несколько​ предназначена для выделения​ не оптимально решил​ работает текстовый фильтр​ этой строки.​

​ Символ (Вставка/ Текст/​Для создания списка, содержащего​ (если они содержатся​Выведем в отдельный диапазон​ отобразить результаты формул,​ 1. Если номер​босс​

  • ​всегда возвращает номер​ регистр, используйте функции​
  • ​ «database». Можно использовать​​ где N –​​ ДОЛЯГОДА, полученное значение​
  • ​ ячеек по столбцам:​ подстроки из строки​
  • ​ так строить файл​ по колонке с​Или иными словами​ Символ) можно вставлять​
  • ​ найденные значения, воспользуемся​ в списке).​
  • ​ значения, которые удовлетворяют​

​ выделите их и​ опущен, он полагается​В этой статье описаны​ знака, считая от​НАЙТИ​ функции​ число байтов в​ которой усекается до​

​ день, месяц и​ текста, переданной в​ для данной цели,​ условием — «содержит»​ из общего числа​ символы, такие как​ формулой массива:​Критерий вводится в ячейку​ критерию, причем критерий​ нажмите клавишу F2,​ равным 1.​ синтаксис формулы и​ начала​и​​ПОИСК​​ исходной строке, характеризующий​ ближайшего меньшего целого,​ год.​ качестве первого аргумента,​ то так же​ — только воплотить​ содержащих заданное слово​ ©, или специальные​=ИНДЕКС(Список;НАИМЕНЬШИЙ(​E2​ задан с использованием​ а затем — клавишу​

excel2.ru

Подсчет вхождений в MS EXCEL Букв (Символов) в ТЕКСТовой строке

​Функции НАЙТИ и НАЙТИБ​ использование функций​просматриваемого текста​НАЙТИБ​

​и​ количество байт в​ чтобы получить число​​​ и возвращает требуемое​​ приветствуются рекомендации и​

​ с помощью какой-либо​ в ячейке A1,​ знаки, такие как​ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($I$2;ПРАВСИМВ((Список);ДЛСТР($I$2)));СТРОКА(Список)-СТРОКА($A$4);НД());»»);​и выглядит так:​
​ подстановочных знаков (*,​

​ ВВОД. При необходимости​ работают с учетом​НАЙТИ​, включая символы, которые​
​.​

​ПОИСКБ​ возвращаемой подстроке.​ полных лет. Функция​Пример 2. В столбце​
​ количество символов начиная​

​ правки.​ функции​ вычислить процент тех,​ длинное тире (—)​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))))​ «дрел??». В этом​

​ ?). Рассмотрим различные​ измените ширину столбцов,​ регистра и не​и​ пропускаются, если значение​

excel2.ru

Поиск строк СОДЕРЖАЩИХ заданные символы

​В аргументе​​для определения положения​
​Примечания:​ ТЕКСТ преобразует полученное​ таблицы хранятся текстовые​ с заданной позиции.​Я попробовал вот​Функции не могут​
​ у которых длительность,​ или многоточие (…),​)​ случае будут выведены​ варианты поиска.​ чтобы видеть все​ позволяют использовать подстановочные​НАЙТИБ​ аргумента​
​искомый_текст​ символа или текстовой​Функция ПСТР вернет пустую​ значение в текстовую​ записи с наименованием​Один символ в языках​ так​

​ скрывать строки, как​​ заданная в соответствующей​

​ которых нет на​​Часть формулы ПОИСК($I$2;ПРАВСИМВ((Список);ДЛСТР($I$2))) определяет:​ все значения, в​Для удобства написания формул​
​ данные.​ знаки. Если необходимо​в Microsoft Excel.​начальная_позиция​можно использовать подстановочные​ строки в другой​ строку, если в​ строку.​ и маркой товаров.​ с однобайтовой кодировкой​но не работает:​ фильтр​

​ ячейке B1 более​​ клавиатуре. Следует помнить,​совпадают ли последние 5​​ которые​

​ создадим Именованный диапазон​​Данные​ выполнить поиск без​Функции НАЙТИ и НАЙТИБ​больше 1.​ знаки: вопросительный знак​ текстовой строке, а​ качестве аргумента начальная_позиция​Для соединения (конкатенации) полученных​ Разделить имеющиеся строки​ соответствует 1 байту.​
​200?’200px’:»+(this.scrollHeight+5)+’px’);»> =ДВССЫЛ(«‘»&(ТЕКСТ(B4;»ГГГГ.ММ»))&»‘!»&$A$2:$A$325)​
​ALARMus​
​ некоторой величины.​ что отображение символов в​ символов​начинаются​ Список для диапазона​Владимир Егоров​ учета регистра или​

​ находят вхождение одной​​Скопируйте образец данных из​

​ (​​ затем вернуть текст​​ было передано число,​​ строк используются символы​ на подстроки с​ При работе с​
​_Boroda_​
​: Ну мне же​​Сама загвоздка в​ ячейке зависит от​значений из диапазона​с текста-критерия (со​A5:A13​Формула​ использовать подстановочные знаки,​
​ текстовой строки в​ следующей таблицы и​?​

​ с помощью функций​​ превышающее количество символов​ «&». В результате​ наименованием и маркой​ такими языками результаты​: Почти правильно. Только​ не скрывать, анолог​ том как отобрать​
​ выбранного шрифта ячейки​
​A5:A13​ слова дрел) и​
​.​Описание​ воспользуйтесь функцией ПОИСК​
​ другую и возвращают​
​ вставьте их в​) и звездочку (​ПСТР​
​ в исходной строке.​ вычислений получим:​ соответственно и записать​ функций ПСТР и​
​ формат должен быть​ с фильтром я​ те строки в​ (​
​с фразой «дрел?».​длиной как минимум​Перечень найденных значений будем​Результат​

​ или ПОИСКБ.​​ начальную позицию искомой​

​ ячейку A1 нового​​*​
​и​Если в качестве аргумента​Функция имеет следующую синтаксическую​

​ полученные значения в​​ ПСТРБ (возвращает подстроку​ ГГГГ.М (или ГГГ.М)​
​ привел не как​ которых содержится(т.е. среди​CTRL+SHIFT+F​ Критерию также будут​6 символов.​
​ помещать в отдельный​=НАЙТИ(«В»;A2)​Если в качестве аргумента​ строки относительно первого​ листа Excel. Чтобы​). Вопросительный знак соответствует​ПСТРБ​ начальная_позиция было передано​ запись:​ соответствующие столбцы таблицы.​
​ из строки на​ или листы должны​ визуальное скрытие, а​

​ прочего текста) словофразачасть​​). Например, некоторые шрифты​
​ соответствовать значения заканчивающиеся​Для создания списка, содержащего​ столбец.​Позиция первой «В» в​ «искомый_текст» задана пустая​ знака второй строки.​ отобразить результаты формул,​
​ любому знаку, звездочка —​или заменить его​
​ значение 1, а​​=ПСТР(текст;начальная_позиция;число_знаков)​

​Вид таблицы данных:​​ основе количества заданных​ называться не 2012.7,​ как отбор строк,​ фразы набор символов…​ включают дроби, знаки​ на фразы дрела,​
​ найденные значения, воспользуемся​
​Найдем все названия инструментов,​
​ ячейке A2​

​ строка («»), функция​​Важно:​ выделите их и​ любой последовательности знаков.​ с помощью функций​
​ аргумент число_знаков определен​

​Описание аргументов:​​Для заполнения столбца «Наименование»​ байт) не отличаются.​

​ а 2012.07​​ для дальнейшей обработки.​ ?​ национальных алфавитов и​ дрел6 и т.п.​ формулой массива:​ которые​1​ НАЙТИ выводит значение,​ ​
​ нажмите клавишу F2,​ Если требуется найти​

​ЗАМЕНИТЬ​​ числом, которое равно​текст – обязательный для​ используем следующую формулу:​ Если на компьютере​Общая формула​
​Спасибо.​RAN​ символы национальных валют​

​СОВЕТ:​​=ИНДЕКС(Список;НАИМЕНЬШИЙ(​начинаются​
​=НАЙТИ(«в»;A2)​ равное первому знаку​Эти функции могут быть​ а затем — клавишу​ вопросительный знак или​и​ или больше общему​ заполнения аргумент, принимающий​=ПСТР(A2;1;НАЙТИ(» «;A2))​ используется двухбайтовый язык,​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММПРОИЗВ(—ЕЧИСЛО(ПОИСК(Справочник!$C$1;ДВССЫЛ(«‘»&ТЕКСТ($B$4;»ГГГ.М»)&»‘!A2:A325″))))​sad

​А остальные пункты​​: А сюда заглянуть?​ (см. статью ).​

​О поиске текстовых​​ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($E$2;Список)=1;СТРОКА(Список)-СТРОКА($A$4);НД());»»);​

excelworld.ru

Пример функция ПСТР для разделения текста на части в Excel

​с фразы дрел​Позиция первой «в» в​ в строке поиска​ доступны не на​ ВВОД. При необходимости​ звездочку, введите перед​ЗАМЕНИТЬБ​ числу знаков в​

Примеры использования функции ПСТР в Excel

​ ссылку на ячейку​Функция НАЙТИ возвращает номер​ каждый символ при​см. вложение​ как реализовать:​ALARMus​ Встроенный шрифт Symbol​ значений с учетом​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))))​ и​ ячейке A2​ (знак с номером,​ всех языках.​ измените ширину столбцов,​ ним тильду (​. Эти функции показаны​ исходной строке, функция​ с текстом или​

Как разделить текст на несколько ячеек по столбцам в Excel?

​ позиции символа пробела​ использовании ПСТРБ будет​ALARMus​Отобрать все те​: Что то я​ содержит стрелки, маркеры​ РЕгиСТра читайте в​)​длина строки​

​15​

Пример 1.

​ соответствующим аргументу «нач_позиция»​Функция НАЙТИ предназначена для​ чтобы видеть все​~​

ПСТР.

​ в примере 1​

  • ​ ПСТР вернет всю​ текстовую строку, заключенную​ « » в​ считаться за два.​: А чтобы задать​
  • ​ строки в которых​ не нашел там​ и знаки, используемые​ статье Поиск текстовых​
  • ​Часть формулы ПОИСК($E$2;Список)=1 определяет:​которых составляет 5​=НАЙТИ(«и»;A2;3)​

​ или 1).​ языков с однобайтовой​ данные.​).​ данной статьи.​ строку целиком.​ в кавычки, из​ просматриваемой строке, который​ Двухбайтовыми языками являются​ все те которые​

​ заголовок содержит «ввв».​

​ нужного.​

​ в науке. Имеются​

разделить текст на несколько ячеек.

​ значений в списках.​начинается​ символов.​Позиция первой «и» в​Искомый_текст не может содержать​ кодировкой, а функция​Данные​Если​Важно:​

​Если аргумент начальная_позиция был​

Как вырезать часть текста ячейки в Excel?

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

​ строке А2, начиная​

Пример 2.

​ подстановочные знаки.​ НАЙТИБ — для​

​Выписки​

​искомый_текст​ ​ указан числом из​ подстрока определенной длины​ аргумента число_знаков функции​ китайский.​ текст ?​Среди этих строк​

НАЙТИ.

​ работает текстовый фильтр​ такие как Wingdings,​ учетом РЕГИСТРА.​

​ диапазона​

​ ячейку​ с третьего знака​Если «искомый_текст» отсутствует в​ языков с двухбайтовой​Доход: маржа​не найден, возвращается​Эти функции могут быть​ диапазона отрицательных чисел​ начиная с указанной​ ПСТР. В результате​Пример 1. В столбце​200?’200px’:»+(this.scrollHeight+5)+’px’);»>ПОИСК(НЕ(Справочник!$C$1);…​ (найденных по требованию​ по колонке с​ содержащие декоративные символы.​В MS WORD спецсимволы​A5:A13​С2​

​8​

вырезать часть текста ячейки.

Как посчитать возраст по дате рождения в Excel?

​ тексте «просматриваемый_текст», функции​ кодировкой. Заданный на​маржа​ значение ошибки #ЗНАЧ!.​ доступны не на​ или 0 (нулем),​ позиции первого символа;​ расчетов получим:​ таблицы содержатся даты,​_Boroda_​

​ выше) вычилсить:​

Пример 3.

​ условием — «содержит»​Найдем количество вхождений определенной​ (конец абзаца, разрыв​с фразы «дрел??».​

​и выглядеть так:​Данные​ НАЙТИ и НАЙТИБ​ компьютере язык по​Здесь «босс».​Если аргумент​ всех языках.​ функция ПСТР вернет​начальная_позиция – обязательный аргумент,​Для заполнения столбца «Марка»​ записанные в виде​: вместо ЕЧИСЛО нужно​- количество строк,​ — только воплотить​

​ Буквы или любого​ строки и т.п.)​ Критерию также будут​ «дрел?». Вопросительный знак​

посчитать возраст по дате рождения.

Особенности использования функции ПСТР в Excel

​Керамический изолятор №124-ТД45-87​ возвращают значение ошибки​

​ умолчанию влияет на​

​Формула​

  • ​начальная_позиция​Функция ПОИСКБ отсчитывает по​ код ошибки #ЗНАЧ!.​ принимающий целые числа​ используем следующую формулу​ текстовых строк. Записать​ написать ЕОШИБКА​ у которых в​ с помощью какой-либо​ символа в ячейке​
  • ​ легко найти с​ соответствовать значения начинающиеся​ является подстановочным знаком.​Медная пружина №12-671-6772​ #ЗНАЧ!.​ возвращаемое значение указанным​Описание​опущен, то он​ два байта на​Если аргумент число_знаков задан​ из диапазона от​ массива:​ отдельно в соседних​ALARMus​ колонке B длительность​ функции, с тем​
  • ​ EXCEL.​ помощью стандартного поиска​ с фраз дрелью,​Для реализации этого варианта​Переменный резистор №116010​Если «нач_позиция» не больше​ ниже образом.​Результат​ полагается равным 1.​ каждый символ, только​ отрицательным числом, результатом​ 1 до N,​=ПСТР(A2:A8;НАЙТИ(» «;A2:A8)+1;100)​ столбцах номер дня,​: а поясните расчет​ более 2 часов.​ чтобы с отобранным​Определим, сколько букв Z​ (​ дрел23 и т.п.​ поиска требуется функция​

​Формула​ нуля, функции НАЙТИ​

​Функция НАЙТИ при подсчете​

​=ПОИСК(«и»;A2;6)​

  • ​Если аргумент​ если языком по​ выполнения функции ПСТР​ где N –​Функция НАЙТИ возвращает позицию​ месяца и год,​ тех у кого​- количество строк,​ таким способом списком​

​ в слове Zigzag​

  1. ​CTRL+F​Критерий вводится в ячейку​ позволяющая использовать подстановочные​Описание (результат)​ и НАЙТИБ возвращают​ всегда рассматривает каждый​
  2. ​Позиция первого знака «и»​начальная_позиция​ умолчанию является язык​ будет код ошибки​ длина строки, из​ символа пробела. К​ выделенные из представленных​ более 2 часов(2/24​ у которых в​ строк уже производить​
  3. ​ (слово находится в​), т.к. им соответствуют​G2​ знаки: используем функцию​Результат​ значение ошибки #ЗНАЧ!.​
  4. ​ знак, как однобайтовый,​ в строке ячейки​не больше 0​ с поддержкой БДЦС.​ #ЗНАЧ!.​

exceltable.com

​ которой требуется извлечь​

Функции Excel для работы с элементами строк

Следующие функции находят и возвращают части текстовых строк или составляют большие строки из небольших: НАЙТИ (FIND), ПОИСК (SEARCH), ПРАВСИМВ (RIGHT), ЛЕВСИМВ (LEFT), ПСТР (MID), ПОДСТАВИТЬ (SUBSTITUTE), ПОВТОР (REPT), ЗАМЕНИТЬ (REPLACE), СЦЕПИТЬ (CONCATENATE).

Функции НАЙТИ и ПОИСК

Функции НАЙТИ (FIND) и ПОИСК (SEARCH) используются для определения позиции одной текстовой строки в другой. Обе функции возвращают номер символа, с которого начинается первое вхождение искомой строки. Эти две функции работают одинаково за исключением того, что функция НАЙТИ учитывает регистр букв, а функция ПОИСК допускает использование символов шаблона. Функции имеют следующий синтаксис:

=НАЙТИ(искомый_текст;просматриваемый_текст;нач_позиция)
=ПОИСК(искомый_текст;просматриваемый_текст;нач_позиция)

Аргумент искомый_текст задает текстовую строку, которую надо найти, а аргумент просматриваемый_текст — текст, в котором производится поиск. Любым из этих аргументов может быть строка символов, заключенная в двойные кавычки, или ссылка на ячейку. Необязательный аргумент нач_позиция задает позицию в просматриваемом тексте, с которой начинается поиск. Аргумент нач_позиция следует использовать в том случае, когда просматриваемый_текст содержит несколько вхождений искомого текста. Если данный аргумент опущен, Excel возвращает позицию первого вхождения.

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

Например, чтобы определить позицию буквы «ж» в строке «Гаражные ворота», надо использовать формулу:

Эта формула возвращает 5.

Если точная последовательность символов искомого текста неизвестна, можно использовать функцию ПОИСК и включить в строку искомый_текст символы шаблона: знак вопроса (?) и звездочку (*). Знак вопроса соответствует одному произвольно набранному символу, а звездочка заменяет любую последовательность символов в указанной позиции. Например, чтобы найти позицию имен Анатолий, Алексей, Акакий в тексте, находящемся в ячейке А1, надо использовать формулу:

Функции ПРАВСИМВ и ЛЕВСИМВ

Функция ПРАВСИМВ (RIGHT) возвращает крайние правые символы строки аргумента, в то время как функция ЛЕВСИМВ (LEFT) возвращает первые (левые) символы. Синтаксис:

=ПРАВСИМВ(текст;количество_символов)
=ЛЕВСИМВ(текст;количество_символов)

Аргумент количество_символов задает число символов, извлекаемых из аргумента текст. Эти функции учитывают пробелы и поэтому, если аргумент текст содержит пробелы в начале или конце строки, в аргументах функций следует использовать функцию СЖПРОБЕЛЫ.

Аргумент количестов_символов должен быть больше или равен нулю. Если этот аргумент опускается, Excel считает его равным 1. Если количество_символов больше числа символов в аргументе текст, то возвращается весь аргумент.

Функция ПСТР

Функция ПСТР (MID) возвращает заданное число символов из строки текста, начиная с указанной позиции. Эта функция имеет следующий синтаксис:

=ПСТР(текст;нач_позиция;количество_символов)

Аргумент текст — это текстовая строка, содержащая извлекаемые символы, нач_позиция — это позиция первого символа, извлекаемого из текста (относительно начала строки), а количество_символов — это число извлекаемых символов.

Функции ЗАМЕНИТЬ и ПОДСТАВИТЬ

Эти две функции заменяют символы в тексте. Функция ЗАМЕНИТЬ (REPLACE) замещает часть текстовой строки другой текстовой строкой и имеет синтаксис:

=ЗАМЕНИТЬ(старый_текст;нач_позиция;количество_символов;новый_текст)

Аргумент старый_текст — это текстовая строка, а которой надо заменить символы. Следующие два аргумента задают символы, которые нужно заменить (относительно начала строки). Аргумент новый_текст задает вставляемую текстовую строку.

Например, ячейка А2 содержит текст «Вася Иванов». Чтобы поместить этот же текст в ячейку А3, заменив имя, надо в ячейку А3 вставить следующую функцию:

В функции ПОДСТАВИТЬ (SUBSTITUTE) начальная позиция и число заменяемых символов не задаются, а явно указывается замещаемый текст. Функция ПОДСТАВИТЬ имеет следующий синтаксис:

=ПОДСТАВИТЬ(текст;старый_текст;новый_текст;номер_вхождения)

Аргумент номер_вхождения является необязательным. Он предписывает Excel заменить только заданное вхождение строки старый_текст.

Например, ячейка А1 содержит текст «Ноль меньше восьми». Надо заменить слово «ноль» на «нуль».

Число 1 в этой формуле указывает, что надо изменить только первое «о» в строке ячейки А1. Если аргумент номер_вхождения опущен, Excel заменяет все вхождения строки старый_текст на строку новый_текст.

Функция ПОВТОР

Функция ПОВТОР (REPT) позволяет заполнить ячейку строкой символов, повторенной заданное количество раз. Синтаксис:

=ПОВТОР(текст;число_повторений)

Аргумент текст — это размноженная строка символов, заключенная в кавычки. Аргумент число_повторений указывает, сколько раз нужно повторить текст. Если аргумент число_повторений равен 0, функция ПОВТОР оставляет ячейку пустой, а если он не является целым числом, эта функция отбрасывает десятичные знаки после запятой.

Функция СЦЕПИТЬ

Функция СЦЕПИТЬ (CONCATENATE) является эквивалентом текстового оператора & и используется для объединения строк. Синтаксис:

=СЦЕПИТЬ(текст1;текст2;. )

В функции можно использовать до 30 аргументов.

Например, ячейка А5 содержит текст «первое полугодие», следующая формула возвращает текст «Всего за первое полугодие»:

=СЦЕПИТЬ(«Всего за «;А5)

В начало страницы

В начало страницы

ПОИСК, ПОИСКБ (функции ПОИСК, ПОИСКБ)

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

В этой статье описаны синтаксис формулы и использование функций ПОИСК и ПОИСКБ в Microsoft Excel.

Функции ПОИСК И ПОИСКБ находят одну текстовую строку в другой и возвращают начальную позицию первой текстовой строки (считая от первого символа второй текстовой строки). Например, чтобы найти позицию буквы «n» в слове «printer», можно использовать следующую функцию:

Эта функция возвращает 4, так как «н» является четвертым символом в слове «принтер».

Можно также находить слова в других словах. Например, функция

возвращает 5, так как слово «base» начинается с пятого символа слова «database». Можно использовать функции ПОИСК и ПОИСКБ для определения положения символа или текстовой строки в другой текстовой строке, а затем вернуть текст с помощью функций ПСТР и ПСТРБ или заменить его с помощью функций ЗАМЕНИТЬ и ЗАМЕНИТЬБ. Эти функции показаны в примере 1 данной статьи.

Эти функции могут быть доступны не на всех языках.

Функция ПОИСКБ отсчитывает по два байта на каждый символ, только если языком по умолчанию является язык с поддержкой БДЦС. В противном случае функция ПОИСКБ работает так же, как функция ПОИСК, и отсчитывает по одному байту на каждый символ.

К языкам, поддерживающим БДЦС, относятся японский, китайский (упрощенное письмо), китайский (традиционное письмо) и корейский.

Аргументы функций ПОИСК и ПОИСКБ описаны ниже.

Искомый_текст Обязательный. Текст, который требуется найти.

Просматриваемый_текст Обязательный. Текст, в котором нужно найти значение аргумента искомый_текст.

Начальная_позиция Необязательный. Номер знака в аргументе просматриваемый_текст, с которого следует начать поиск.

Функции ПОИСК и ПОИСКБ не учитывают регистр. Если требуется учитывать регистр, используйте функции НАЙТИ и НАЙТИБ.

В аргументе искомый_текст можно использовать подстановочные знаки: вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому знаку, звездочка — любой последовательности знаков. Если требуется найти вопросительный знак или звездочку, введите перед ним тильду (

Если значение аргумента искомый_текст не найдено, #VALUE! возвращено значение ошибки.

Если аргумент начальная_позиция опущен, то он полагается равным 1.

Если Нач_позиция не больше 0 или больше, чем длина аргумента просматриваемый_текст , #VALUE! возвращено значение ошибки.

Аргумент начальная_позиция можно использовать, чтобы пропустить определенное количество знаков. Допустим, что функцию ПОИСК нужно использовать для работы с текстовой строкой «МДС0093.МужскаяОдежда». Чтобы найти первое вхождение «М» в описательной части текстовой строки, задайте для аргумента начальная_позиция значение 8, чтобы поиск не выполнялся в той части текста, которая является серийным номером (в данном случае — «МДС0093»). Функция ПОИСК начинает поиск с восьмого символа, находит знак, указанный в аргументе искомый_текст, в следующей позиции, и возвращает число 9. Функция ПОИСК всегда возвращает номер знака, считая от начала просматриваемого текста, включая символы, которые пропускаются, если значение аргумента начальная_позиция больше 1.

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Функция ПОИСК() в MS EXCEL

Синтаксис функции

ПОИСК(искомый_текст;просматриваемая_строка;[нач_позиция])

Искомый_текст — текст, который требуется найти.

Просматриваемая_строка — текст, в которой ищется Искомый_текст.

Нач_позиция — позиция знака в просматриваемой_строке, с которой должен начинаться поиск. Если аргумент нач_позиция опущен, то предполагается значение 1.

В аргументе искомый_текст можно использовать подстановочные знаки — вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому знаку; звездочка — любой последовательности знаков. Если нужно найти в тексте вопросительный знак или звездочку, следует поставить перед ними тильду (

Если искомый_текст не найден, возвращается значение ошибки #ЗНАЧ!

Функция ПОИСК() не учитывает РЕгиСТР букв. Для поиска с учетом регистра следует воспользоваться функцией НАЙТИ() .

Формула =ПОИСК(«к»;»Первый канал») вернет 8, т.к. буква к находится на 8-й позиции слева.

Пусть в ячейке А2 введена строка Первый канал — лучший. Формула =ПОИСК(СИМВОЛ(32);A2) вернет 7, т.к. символ пробела (код 32) находится на 7-й позиции.

Формула =ПОИСК(«#. #»;»Артикул #123# ID») будет искать в строке «Артикул #123# ID» последовательность из 5 символов, которая начинается и заканчивается на знак #.

Чтобы найти позицию второго вхождения буквы «а» в строке «мама мыла раму» используйте формулу =ПОИСК(«а»;»мама мыла раму»;ПОИСК(«а»;»мама мыла раму»)+1). Чтобы определить есть ли третье вхождение буквы «м» в строке «мама мыла раму» используйте формулу =ЕСЛИ(ДЛСТР(ПОДСТАВИТЬ(«мама мыла раму»;»м»;»»;3))=ДЛСТР(«мама мыла раму»);»Нет третьего вхождения м»;»Есть третье вхождение м»)

Формула =ПОИСК(«клад?»;»докладная») вернет 3, т.е. в слове «докладная» содержится слово из 5 букв, первые 4 из которых клад (начиная с третьей буквы слова докладная).

Функция НАЙТИ() vs ПОИСК()

Функция НАЙТИ() учитывает РЕгиСТР букв и не допускает использование подстановочных знаков. Для поиска без учета регистра, а также для поиска с использованием подстановочных знаков пользуйтесь функцией ПОИСК() .

Связь с функциями ЛЕВСИМВ() , ПРАВСИМВ() и ПСТР()

Функция ПОИСК() может быть использована совместно с функциями ЛЕВСИМВ() , ПРАВСИМВ() и ПСТР() .

Например, в ячейке А2 содержится фамилия и имя «Иванов Иван», то формула =ЛЕВСИМВ(A2;ПОИСК(СИМВОЛ(32);A2)-1) извлечет фамилию, а =ПРАВСИМВ(A2;ДЛСТР(A2)-ПОИСК(СИМВОЛ(32);A2)) — имя. Если между именем и фамилией содержится более одного пробела, то для работоспособности вышеупомянутых формул используйте функцию СЖПРОБЕЛЫ() .

Поиск в Excel, функции поиска

Поиск символов в строке – важнейшая задача, которая позволяет автоматизировать работу с текстом. Например, она облегчает извлечение, замену текста, когда положение целевой строки неизвестно.

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

Для поиска текста в Microsoft Excel есть две функции:

  1. НАЙТИ(Текст для поиска; Исходный текст; [Начальная позиция]). Эта функция имеет 2 обязательных аргумента и один необязательный:
    • Текст для поиска – та последовательность символов, которую нужно найти. Это обязательный аргумент
    • Исходный текст – строка, в которой осуществляется поиск. Обязательный аргумент
    • Начальная позиция – порядковый номер символа в исходном тексте, с которого начинается поиск. Необязательный аргумент . Если он не задан, поиск начинается с первого символа

Функция НАЙТИ учитывает регистр текста и не поддерживает использование подстановочных символов (о них читайте дальше).

Функция НАЙТИ в Эксель

  1. ПОИСК(Текст для поиска; Исходный текст; [Начальная позиция]) имеет аналогичный синтаксис и аргументы. Отличается тем, что не учитывает регистр и поддерживает использование постановочных символов.

Функция ПОИСК в Excel

Как видите, эта функция дала другой результат, поскольку регистр символов не учитывался в поиске

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

  • ? – один любой символ
  • * – любая последовательность символов

Если знак вопроса или звёздочка – часть строки для поиска, а не подстановочный символ, поставьте перед ними знак тильда (

Давайте запишем такую формулу: =ПОИСК(«??чн»;A1;1). Функция будет искать строку из двух любых символов, после которых идут буквы «чн». Поиску соответствует часть слова «Табличный» в тексте примера, т.е. комбинация символов «личн». Результатом функции будет значение «4».

Подстановочные символы в Excel

Теперь запишем формулу =ПОИСК(«п*с»;A2;1) . Функция ищет комбинацию «п» + любое количество любых символов + «с». В примере – это часть слова «процессор». Результат выполнения функции – 11.

Подстановочный символ-звездочка в Эксель

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

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

Задавайте вопросы в комментариях и подписывайтесь на обновления, чтобы ничего не пропустить!

Пример преимущества функции ПОИСК в Excel перед функцией НАЙТИ

В приложении Excel предусмотрено большое разнообразие инструментов для обработки текстовых и числовых данных. Одним из наиболее востребованных является функция ПОИСК. Она позволяет определять в строке, ячейке с текстовой информацией позицию искомой буквенной или числовой комбинации и записывать ее с помощью чисел.

Примеры использования функции ПОИСК в Excel

Для нахождения позиции текстовой строки в другой аналогичной применяют ПОИСК и ПОИСКБ. Расчет ведется с первого символа анализируемой ячейки. Так, если задать функцию ПОИСК “л” для слова «апельсин» мы получим значение 4, так как именно такой по счету выступает заданная буква в текстовом выражении.

Функция ПОИСК работает не только для поиска позиции отдельных букв в тексте, но и для целой комбинации. Например, задав данную команду для слов «book», «notebook», мы получим значение 5, так как именно с этого по счету символа начинается искомое слово «book».

Используют функцию ПОИСК наряду с такими, как:

  • НАЙТИ (осуществляет поиск с учетом регистра);
  • ПСТР (возвращает текст);
  • ЗАМЕНИТЬ (заменяет символы).

Важно помнить, что рассматриваемая команда ПОИСК не учитывает регистра. Если мы с помощью нее станем искать положение буквы «а» в слове «Александр», в ячейке появится выражение 1, так как это первый символ в анализируемой информации. При задании команды НАЙТИ «а» в том же отрезке текста, мы получим значение 6, так как именно 6 позицию занимает строчная «а» в слове «Александр».

Кроме того, функция ПОИСК работает не для всех языков. От команды ПОИСКБ она отличается тем, что на каждый символ отсчитывает по 1 байту, в то время как ПОИСКБ — по два.

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

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

  1. Искомый текст. Это числовая и буквенная комбинация, позицию которой требуется найти.
  2. Анализируемый текст. Это тот фрагмент текстовой информации, из которого требуется вычленить искомую букву или сочетание и вернуть позицию.
  3. Начальная позиция. Данный фрагмент необязателен для ввода. Но, если вы желаете найти, к примеру, букву «а» в строке со значением «А015487.Мужская одежда», то необходимо указать в конце формулы 8, чтобы анализ этого фрагмента проводился с восьмой позиции, то есть после артикула. Если этот аргумент не указан, то он по умолчанию считается равным 1. При указании начальной позиции положение искомого фрагмента все равно будет считаться с первого символа, даже если начальные 8 были пропущены в анализе. То есть в рассматриваемом примере букве «а» в строке «А015487.Мужская одежда» будет присвоено значение 14.

При работе с аргументом «искомый_текст» можно использовать следующие подстановочные знаки.

  1. Вопросительный знак (?). Он будет соответствовать любому знаку.
  2. Звездочка (*). Этот символ будет соответствовать любой комбинации знаков.

Если же требуется найти подобные символы в строке, то в аргументе «искомый_текст» перед ними нужно поставить тильду (

Если искомый текст не был найден приложением или начальная позиция установлена меньше 0, больше общего количества присутствующих символов, в ячейке отобразиться ошибка #ЗНАЧ.

Если «искомый_текст» не найден, возвращается значение ошибки #ЗНАЧ.

Пример использования функции ПОИСК и ПСТР

Пример 1. Есть набор текстовой информации с контактными данными клиентов и их именами. Информация записана в разных форматах. Необходимо найти, с какого символа начинается номер телефона.

Введем исходные данные в таблицу:

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

Нажмем Enter для отображения искомой информации:

Далее мы можем использовать любые другие функции для отображения представленной информации в удобном формате:

На рисунке видно, как с помощью формулы из двух функций ПСТР и ПОИСК мы вырезаем фрагмент текста из строк разной длины. Притом разделяем текстовый фрагмент в нужном месте так, чтобы отделить ее от номера телефона.

Пример формулы ПОИСК и ЗАМЕНИТЬ

Пример 2. Есть таблица с текстовой информацией, в которой слово «маржа» нужно заменить на «объем».

Откроем книгу Excel с обрабатываемыми данными. Пропишем формулу для поиска нужного слова «маржа»:

Теперь дополним формулу функцией ЗАМЕНИТЬ:

Чем отличается функция ПОИСК от функции НАЙТИ в Excel?

Функция ПОИСК очень схожа с функцией НАЙТИ по принципу действия. Более того у них фактически одинаковые аргументы. Только лишь названия аргументов отличаются, а по сути и типам значений – одинаковые:

Но опытный пользователь Excel знает, что отличие у этих двух функций очень существенные.

Отличие №1. Чувствительность к верхнему и нижнему регистру (большие и маленькие буквы). Функция НАЙТИ чувствительна к регистру символов. Например, есть список номенклатурных единиц с артикулом. Необходимо найти позицию маленькой буквы «о».

Теперь смотрите как ведут себя по-разному эти две функции при поиске большой буквы «О» в критериях поиска:

Отличие №2. В первом аргументе «Искомый_текст» для функции ПОИСК мы можем использовать символы подстановки для указания не точного, а приблизительного значения, которое должно содержаться в исходной текстовой строке. Вторая функция НАЙТИ не умеет использовать в работе символы подстановки масок текста: «*»; «?»; «

Для примера попробуем в этих же исходных строках столбца «наименования» найти приблизительный текст. Для этого укажем следующий вид критерия поиска используя символы подстановки: «н*ая».

Как видим во втором отличии функция НАЙТИ совершенно не умеет работать и распознавать спецсимволы для подстановки текста в критериях поиска при неточном совпадении в исходной строке.

В приложении Excel предусмотрено большое разнообразие инструментов для обработки текстовых и числовых данных. Одним из наиболее востребованных является функция ПОИСК. Она позволяет определять в строке, ячейке с текстовой информацией позицию искомой буквенной или числовой комбинации и записывать ее с помощью чисел.

Примеры использования функции ПОИСК в Excel

Для нахождения позиции текстовой строки в другой аналогичной применяют ПОИСК и ПОИСКБ. Расчет ведется с первого символа анализируемой ячейки. Так, если задать функцию ПОИСК “л” для слова «апельсин» мы получим значение 4, так как именно такой по счету выступает заданная буква в текстовом выражении.

Функция ПОИСК работает не только для поиска позиции отдельных букв в тексте, но и для целой комбинации. Например, задав данную команду для слов «book», «notebook», мы получим значение 5, так как именно с этого по счету символа начинается искомое слово «book».

Используют функцию ПОИСК наряду с такими, как:

  • НАЙТИ (осуществляет поиск с учетом регистра);
  • ПСТР (возвращает текст);
  • ЗАМЕНИТЬ (заменяет символы).

Важно помнить, что рассматриваемая команда ПОИСК не учитывает регистра. Если мы с помощью нее станем искать положение буквы «а» в слове «Александр», в ячейке появится выражение 1, так как это первый символ в анализируемой информации. При задании команды НАЙТИ «а» в том же отрезке текста, мы получим значение 6, так как именно 6 позицию занимает строчная «а» в слове «Александр».

Кроме того, функция ПОИСК работает не для всех языков. От команды ПОИСКБ она отличается тем, что на каждый символ отсчитывает по 1 байту, в то время как ПОИСКБ — по два.

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

=ПОИСК(нужный_текст;анализируемый_текст;[начальная_позиция]).

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

  1. Искомый текст. Это числовая и буквенная комбинация, позицию которой требуется найти.
  2. Анализируемый текст. Это тот фрагмент текстовой информации, из которого требуется вычленить искомую букву или сочетание и вернуть позицию.
  3. Начальная позиция. Данный фрагмент необязателен для ввода. Но, если вы желаете найти, к примеру, букву «а» в строке со значением «А015487.Мужская одежда», то необходимо указать в конце формулы 8, чтобы анализ этого фрагмента проводился с восьмой позиции, то есть после артикула. Если этот аргумент не указан, то он по умолчанию считается равным 1. При указании начальной позиции положение искомого фрагмента все равно будет считаться с первого символа, даже если начальные 8 были пропущены в анализе. То есть в рассматриваемом примере букве «а» в строке «А015487.Мужская одежда» будет присвоено значение 14.

При работе с аргументом «искомый_текст» можно использовать следующие подстановочные знаки.

  1. Вопросительный знак (?). Он будет соответствовать любому знаку.
  2. Звездочка (*). Этот символ будет соответствовать любой комбинации знаков.

Если же требуется найти подобные символы в строке, то в аргументе «искомый_текст» перед ними нужно поставить тильду (~).

Если искомый текст не был найден приложением или начальная позиция установлена меньше 0, больше общего количества присутствующих символов, в ячейке отобразиться ошибка #ЗНАЧ.

Если «искомый_текст» не найден, возвращается значение ошибки #ЗНАЧ.



Пример использования функции ПОИСК и ПСТР

Пример 1. Есть набор текстовой информации с контактными данными клиентов и их именами. Информация записана в разных форматах. Необходимо найти, с какого символа начинается номер телефона.

Введем исходные данные в таблицу:

исходные данные в таблицу.

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

=ПОИСК(“, тел.”;адрес_анализируемой_ячейки).

Нажмем Enter для отображения искомой информации:

адрес_анализируемой_ячейки.

Далее мы можем использовать любые другие функции для отображения представленной информации в удобном формате:

ПСТР.

На рисунке видно, как с помощью формулы из двух функций ПСТР и ПОИСК мы вырезаем фрагмент текста из строк разной длины. Притом разделяем текстовый фрагмент в нужном месте так, чтобы отделить ее от номера телефона.

Пример формулы ПОИСК и ЗАМЕНИТЬ

Пример 2. Есть таблица с текстовой информацией, в которой слово «маржа» нужно заменить на «объем».

Откроем книгу Excel с обрабатываемыми данными. Пропишем формулу для поиска нужного слова «маржа»:

ПОИСК.

Теперь дополним формулу функцией ЗАМЕНИТЬ:

ЗАМЕНИТЬ.

Чем отличается функция ПОИСК от функции НАЙТИ в Excel?

Функция ПОИСК очень схожа с функцией НАЙТИ по принципу действия. Более того у них фактически одинаковые аргументы. Только лишь названия аргументов отличаются, а по сути и типам значений – одинаковые:

аргументы ПОИСК и НАЙТИ.

Но опытный пользователь Excel знает, что отличие у этих двух функций очень существенные.

Отличие №1. Чувствительность к верхнему и нижнему регистру (большие и маленькие буквы). Функция НАЙТИ чувствительна к регистру символов. Например, есть список номенклатурных единиц с артикулом. Необходимо найти позицию маленькой буквы «о».

найти позицию маленькой буквы.

Теперь смотрите как ведут себя по-разному эти две функции при поиске большой буквы «О» в критериях поиска:

при поиске большой буквы.

Отличие №2. В первом аргументе «Искомый_текст» для функции ПОИСК мы можем использовать символы подстановки для указания не точного, а приблизительного значения, которое должно содержаться в исходной текстовой строке. Вторая функция НАЙТИ не умеет использовать в работе символы подстановки масок текста: «*»; «?»; «~».

Для примера попробуем в этих же исходных строках столбца «наименования» найти приблизительный текст. Для этого укажем следующий вид критерия поиска используя символы подстановки: «н*ая».

спецсимволы для подстановки текста.

Скачать примеры функций ПОИСК и НАЙТИ в Excel

Как видим во втором отличии функция НАЙТИ совершенно не умеет работать и распознавать спецсимволы для подстановки текста в критериях поиска при неточном совпадении в исходной строке.

В учебнике показано, как использовать функции подстроки в 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)
Формула MID для извлечения текста из середины строки

Кончик. Вывод формул 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)
Извлечение подстроки между 2-м и 3-м дефисом

В ситуациях, когда вы не хотите извлекать подстроку, а хотите найти только ячейки, содержащие ее, вы используете функцию ПОИСК или НАЙТИ, как показано в приведенных выше примерах, но выполняете поиск внутри функции ЕСНИМ. Если ячейка содержит подстроку, функция поиска возвращает позицию первого символа, и если ISNUMBER получает любое число, она возвращает TRUE. Если подстрока не найдена, поиск приводит к ошибке, заставляя ISNUMBER возвращать FALSE.

IНОМЕР(ПОИСК(«подстрока«, клетка))

Предположим, у вас есть список британских почтовых индексов в столбце A, и вы хотите найти те, которые содержат подстроку «1ZZ». Чтобы это сделать, используйте эту формулу:

=ISNUMBER(ПОИСК(«1zz», A2))

Результаты будут выглядеть примерно так:
Поиск ячеек, содержащих определенную подстроку

Если вы хотите вернуть собственное сообщение вместо логических значений ИСТИНА и ЛОЖЬ, вложите приведенную выше формулу в функцию ЕСЛИ:

=ЕСЛИ(IЧИСЛО(ПОИСК(«1zz», A2)), «Да», «»)

Если ячейка содержит подстроку, формула возвращает «Да», в противном случае — пустую строку («»):
Формула для идентификации ячеек, содержащих определенную подстроку

Как вы помните, функция ПОИСК в Excel нечувствительна к регистру, поэтому вы используете ее, когда регистр символов не имеет значения. Чтобы ваша формула различала прописные и строчные буквы, выберите функцию НАЙТИ с учетом регистра.

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

Как вы только что видели, Microsoft Excel предоставляет множество различных функций для работы с текстовыми строками. Если вы не уверены, какая функция лучше всего подходит для ваших нужд, передайте задание нашему Ultimate Suite for Excel. Имея эти инструменты в своем арсенале Excel, вы просто переходите к Данные об аблебитах вкладка > Текст группу и нажмите Извлечь:
Инструмент «Извлечь текст» в Excel

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

  1. Укажите, сколько символов вы хотите получить из начала, конца или середины строки; или выберите извлечение всего текста до или после заданного символа.
  2. Нажмите Вставить результаты. Сделанный!

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

И через мгновение вы получите следующие результаты:
Части адресов электронной почты извлекаются в отдельные столбцы.

Помимо скорости и простоты, инструмент Извлечь текст имеет дополнительную ценность — он поможет вам изучить формулы Excel в целом и функции работы с подстроками в частности. Как? Установив флажок «Вставить как формулу» в нижней части панели, вы гарантируете, что результаты выводятся в виде формул, а не значений.

В этом примере, если вы выберете ячейки B2 и C2, вы увидите следующие формулы соответственно:

  • Чтобы извлечь имя пользователя:

    =ЕСЛИОШИБКА(СЛЕВА(A2,ПОИСК(«@»,A2)-1),»»)

  • Чтобы извлечь домен:

    =ЕСЛИОШИБКА(ПРАВО(A2, ДЛСТР(A2)- ПОИСК(«@»,A2) — ДЛСТР(«@») + 1),»»)

Сколько времени у вас ушло бы на то, чтобы вычислить эти формулы самостоятельно? 😉

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

Если вам интересно попробовать это, а также многие другие полезные функции, включенные в Ultimate Suite for Excel, вы можете загрузить ознакомительную версию.

Дополнительные формулы для подстрок в Excel

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

Доступные загрузки

Функции работы с подстроками в Excel — практическая рабочая тетрадь (файл .xlsx)
Ultimate Suite — пробная версия (файл .exe)

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

Содержание

  1. Как найти в ячейке текстовые символы (буквы и цифры)
  2. Как найти в ячейке таблицы цифры
  3. Как узнать, что ячейка Эксель содержит латиницу
  4. Как найти слова в ячейке, которые содержат кириллицу и латиницу
  5. Как найти в ячейке заглавные буквы
  6. Поиск символов в Excel при помощи регулярных выражений
  7. Что делать с найденными символами
  8. Удаление лишних символов в Excel
  9. Извлечение определенных символов в Excel
  10. Изменение символов в Excel

Как найти в ячейке текстовые символы (буквы и цифры)

Для начала попробуем выполнить самую простую задачу: определить наличие текстовых символов в ячейки и найти тот, который надо. Для этого нужно воспользоваться дополнением !SEMTools, с помощью которого можно искать символы разных типов. Последовательность действий следующая:

  1. Выделяем тот диапазон, который является изначальным и копируем его в соседнюю колонку.
  2. Затем выделяем второй диапазон.
  3. Открываем вкладку «!SEMTools». Там в самой левой части панели инструментов будет вкладка «Обнаружить».
  4. После этого открываем меню «Символы».
  5. Затем появится дополнительное меню, в котором надо найти пункт «Буквы-цифры» и нажать на него.

Поиск символа в строке таблицы Excel

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

Как найти в ячейке таблицы цифры

Иногда нужно определить ячейки, в которой есть цифры, но они находятся вместе с текстом. Когда таких ячеек становится очень много, может быть довольно нелегко определить их. Перед тем, как реализовывать эту задачу, нужно определиться с некоторыми базовыми терминами. Главное наше понятие – «обнаружить». Это означает – проверить, есть ли определенный тип символа в строке. Если да, возвращается значение «ИСТИНА», если нет «ЛОЖЬ». Если же кроме поиска цифр в ячейке пользователь хочет произвести иные действия, то можно воспользоваться дальнейшими разделами этой инструкции.

Второе понятие, которое нужно разобрать – цифры. Это интегральный термин, который обозначает аж 10 символов, которые соответствуют числам от 0 до 9. Соответственно, чтобы проверить наличие чисел, пользователю нужно 10 раз проверить диапазон. Это можно сделать с помощью функции ЕСЛИ, но такой подход требует очень много времени.

Чтобы решить эту проблему, можно воспользоваться специальной формулой, которая выполнит все проверки за один раз: =СЧЁТ(ПОИСК({1:2:3:4:5:6:7:8:9:0};A1))>0. Эта функция имеет тот же синтаксис, что и та, которая ищет кириллические символы в тексте.

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

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

Поиск символа в строке таблицы Excel

Предположим, нам нужно найти только определенные цифры из всех приведенных. Как можно это сделать? Для начала давайте покажем, как это делать с помощю !SEMTools. Использовать инструмент просто. Достаточно в скобках записывать все нужные цифры, и потом нажать кнопку ОК для подтверждения. С помощью этого же метода можно найти латиницу или найти большие буквы в строке текста. Поиск символа в строке таблицы Excel

Также можно воспользоваться формулой для того, чтобы отыскать в диапазоне ячеек необходимые цифры. Для этого надо применять комбинацию функций СЧЕТ и ПОИСК. С ее помощью можно обнаружить не только отдельные цифры, но и целые числовые последовательности: =СЧЁТ(ПОИСК({01:02:03:911:112};A1))>0.

Иногда надо найти числа, отделенные пробелами. В этом случае они называются словами-числами. Чтобы их найти, необходимо также воспользоваться соответствующими инструментами !SEMTools. На этой анимации наглядно показано, какие действия нужно выполнить, чтобы это сделать.

Поиск символа в строке таблицы Excel

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

Очень часто пользователи 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 должна быть настроена на русский язык. Простыми словами, чтобы стояла русская локализация.

Если же нужно найти какие-угодно заглавные буквы, независимо от алфавита, в котором их надо искать, нужно использовать функции СТРОЧН и СОВПАД. Последовательность действий следующая:

  1. Делаем нижний регистр значений в отдельной ячейке.
  2. Сравниваем результаты с первоначальными.
  3. После этого используем следующую формулу: =НЕ(СОВПАД(СТРОЧН(A1);A1))

Если эти ячейки не совпадают, это говорит о том, что какой-то из символов в изначальной ячейке был в верхнем регистре.

Поиск символов в Excel при помощи регулярных выражений

Можно также воспользоваться регулярными выражениями для того, чтобы найти символы. Лучше всего это делать с помощью инструмента !SEMTools, поскольку он автоматизирует множество процессов их использования. Спектр использования регулярных выражений в Excel достаточно широк. Мы же остановимся прежде всего на функциях ПОИСК, ЗАМЕНИТЬ, ИЗВЛЕЧЬ.

Приятная новость: эти функции можно использовать как в Гугл таблицах, так и в Excel с этой настройкой.

Первая регулярная функция – REGEXMATCH, которая умеет проверять, похож ли этот паттерн на тот, который был в другой ячейке. Синтаксис: =REGEXMATCH(«текст»;»RegEx-паттерн для поиска»). Эта функция возвращает одно из двух значений: истинное или ложное. Что именно – зависит от того, действительно ли наблюдается соответствие или нет. Вторая функция – =REGEXEXTRACT(«текст»;»RegEx-паттерн для поиска») Она позволяет извлечь нужные символы из строки.

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

Ну и наконец, нужно воспользоваться этой формулой для того, чтобы заменить текст: =REGEXREPLACE(«текст»;»RegEx-паттерн для поиска»;»текст, которым заменяем найденное»).

Что делать с найденными символами

Хорошо. Предположим, мы нашли символы. А что с ними можно делать дальше? Здесь есть несколько возможных вариантов, как можно поступить. Например, можно их удалить. Например, если мы среди кириллических значений нашли латиницу. Также можно заменить ее на аналогичный символ, только в кириллице (например, большую английскую М на русскую М) или же извлечь этот символ для использования в другой формуле.

Удаление лишних символов в Excel

Существует множество способов, как убрать ненужные знаки в Excel. Как один из вариантов – использование функции «Найти и заменить», где заменить тот символ, который нужно убрать, на пустую строку “». Можно воспользоваться теми же регулярными выражениями, которые используются для замены найденного символа.

Извлечение определенных символов в Excel

Для этого можно использовать функцию «Найти», но также можно использовать соответствующее регулярное выражение, где первым аргументом является текст, который надо извлечь, а вторым – та ячейка или диапазон, в которой будет осуществляться поиск.

Изменение символов в Excel

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

Оцените качество статьи. Нам важно ваше мнение:

На чтение 12 мин. Просмотров 18.2k.

VBA Instr

Функция VBA InStr является одной из наиболее часто используемых функций в VBA. Он используется для нахождения текста внутри строки и действительно отлично справляется с работой.

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

Если вы обнаружили, что извлечение текста в VBA является болезненным процессом, тогда читайте дальше. Эта статья покажет вам более простой и лучший способ, используя три реальных примера!

Содержание

  1. Краткое руководство к статье
  2. Краткая справка
  3. Введение
  4. Когда VBA InStr, Left, Right и Mid полезны
  5. Работа со строками различной длины
  6. Использование функции VBA InStr с Mid
  7. Функция Split
  8. Пример 1: Получение части имени файла
  9. Пример 2: диапазон IP-адресов
  10. Пример 3. Проверьте правильность имени файла
  11. Заключение

Краткое руководство к статье

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

Строка Тип Задача Как
1234ABC334 Фиксированный размер Оставить слева 4 символа Left(s,4)
1234ABC334 Фиксированный размер Оставить
справа 3
символа
Right(s,3)
1234ABC334 Фиксированный размер Оставить 5, 6, 7 символы Mid(s,5,3)
«Иван
Петрович
Сидоров»
Переменный
размер
Оставить имя Split(s,» «)(0)
«Иван
Петрович
Сидоров»
Переменный
размер
Оставить
отчество
Split(s,» «)(1)
«Иван
Петрович
Сидоров»
Переменный
размер
Оставить
фамилию
Split(s,» «)(2)
«Иван
Петрович
Сидоров»
Переменный
размер
Оставить
фамилию
Dim v As
Variant
v = Split(s, » «)
lastname= v(UBound(v))

Краткая справка

Чтобы узнать больше об элементах, упомянутых в статье, перейдите по следующим ссылкам:

  • Если вы хотите узнать больше о функциях InStr или InStrRev, пожалуйста, прочитайте Поиск в строке.
  • Если вы хотите узнать больше о функциях Mid, Left или Right, посмотрите раздел Извлечение части строки.
  • Для получения дополнительной информации о функции Split проверьте Строка в массив, используя Split.
  • Оператор Like включен в Сравнение строк с шаблоном

Я использую Debug.Print в моих примерах. Он печатает значения в Immediate Window, которое вы можете просмотреть, нажав Ctrl + G (или выберите View-> Immediate Window)

Введение

В этой статье я собираюсь показать вам лучший способ извлечения символов из строки, чем использование функции VBA InStr с Left, Right или Mid.

Эта статья разбита следующим образом:

  • Раздел 1: Как извлечь из строк фиксированного размера.
  • Раздел 2: Как извлечь из строк переменного размера.
  • Раздел 3: Как извлечь из строки переменного размера, используя функцию Split.
  • Разделы с 4 по 6: некоторые примеры из реальной жизни.

Когда VBA InStr, Left, Right и Mid полезны

Если вы хотите проверить, содержит ли строка значение, InStr подходит для этой работы. Если вы хотите сделать простое извлечение, то отлично подойдут Left, Right и Mid.

Использование InStr для проверки, содержит ли строка текст

В следующем примере мы проверяем, содержит ли ФИО «Петрович». Если возвращаемое значение InStr больше нуля, то строка содержит значение, которое мы проверяем.

' Проверьте, содержит ли строка Петрович
    If InStr("Иван Петрович Сидоров", "Петрович") > 0 Then
        Debug.Print "Найдено"
    End If

Извлечение с Left, Right и Mid

Функция Left используется для получения символов слева от строки.
Функция Right используется для получения символов справа от строки.
Функция Mid используется для середины строки. Она такая же, как
Left, за исключением того, что вы даете ему стартовую позицию.

Sub IzvlechTekst()

    Dim s As String: s = "ABCD-7789.WXYZ"

    Debug.Print Left(s, 2) ' Печатает AB
    Debug.Print Left(s, 4) ' Печатает ABCD

    Debug.Print Right(s, 2) ' Печатает YZ
    Debug.Print Right(s, 4) ' Печатает WXYZ

    Debug.Print Mid(s, 1, 2) ' Печатает AB
    Debug.Print Mid(s, 6, 4) ' Печатает 7789

End Sub

VBA Left, Right and Mid

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

Используйте Left, Right или Mid, когда символы всегда будут в одной и той же позиции.

Работа со строками различной длины

Многие из строк, с которыми вы имеет дело, разной длины. Простой пример — когда у вас есть дело со списком имен. Длина строки и требуемая часть (например, имя) могут каждый раз отличаться. Например:

Brooke Hilt
Pamela Jurado
Zack Kinzel
Eddy Wormley
Kaitlyn Rainer
Jacque Trickett
Kandra Stanbery
Margo Hoppes
Berenice Meier
Garrett Hyre

(Если вам нужен случайный список имен, попробуйте этот генератор случайных имен)

Использование функции VBA InStr с Left

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

Мы используем функцию VBA InStr, чтобы получить позицию первого пробела. Мы хотим получить все символы до пробела. Мы вычитаем одну из позиции, так как это дает нам позицию последней буквы имени.

Sub PoluchitImya()

    Dim s As String, lPosition As Long

    s = "John Henry Smith"
    ' Печатает John
    lPosition = InStr(s, " ") - 1
    Debug.Print Left(s, lPosition)

    s = "Lorraine Huggard"
    ' Печатает Lorraine
    lPosition = InStr(s, " ") - 1
    Debug.Print Left(s, lPosition)

End Sub

Давайте посмотрим на первый пример в приведенном выше коде. Первый пробел находится в позиции 5. Мы вычтем 1, что дает нам позицию 4. Это позиция последней буквы John, т.е.

VBA InStr and Left

Затем мы даем 4 функции Left, и она возвращает первые четыре символа, например, «John»

Мы можем выполнить ту же задачу в одной строке, передав возвращаемое значение из InStr в функцию Left.

 Dim s As String
    s = "John Henry Smith"

    ' Печатает John
    Debug.Print Left(s, InStr(s, " ") - 1)

Использование функции VBA InStr с Right

В этом примере мы получим последнее слово в строке, то есть Smith. Мы можем использовать функцию InStrRev. Это то же самое, что InStr, за исключением того, что поиск выполняется с конца строки.

Важно отметить, что InStrRev дает нам позицию с начала строки. Поэтому нам нужно использовать его немного иначе, чем мы использовали InStr и Left.

Sub PoluchitFamiliyu()

    Dim s As String: s = "John,Henry,Smith"
    Dim Position As Long, Length As Long

    Position = InStrRev(s, ",")
    Length = Len(s)

    ' Печатает Smith
    Debug.Print Right(s, Length - Position)

    ' Альтернативный метод. Печатает Smith - делает в одну строку
    Debug.Print Right(s, Len(s) - InStrRev(s, ","))

End Sub

Как работает приведенный выше пример:

  • Мы получаем позицию последнего пробела, используя InStrRev: 11
  • Мы получаем длину строки: 16.
  • Вычитаем позицию из длины: 16-11 = 5
  • Мы даем 5 функции Right и возвращаем Smith

VBA Instr and Right

Использование функции VBA InStr с Mid

В следующем примере мы получим «Henry» из строки. Слово, которое мы ищем, находится между первым и вторым пробелом.

Мы будем использовать функцию Mid здесь.

Sub PoluchitVtoroeImya()

    Dim s As String: s = "John Henry Smith"

    Dim firstChar As Long, secondChar As Long
    Dim count As Long

    ' Найти пробел плюс 1. Результат 6
    firstChar = InStr(s, " ") + 1
    ' Найти 2-й пробел. Результат 11
    secondChar = InStr(firstChar, s, " ")
    ' Получить число символов. Результат 5
    count = secondChar - firstChar

    ' Печатает Henry
    Debug.Print Mid(s, firstChar, count)

End Sub

Как видите, это сложно сделать и требует немного усилий, чтобы выяснить. Нам нужно найти первое место. Тогда нам нужно найти второе место. Затем мы должны вычесть одно из другого, чтобы дать нам количество символов, которые нужно взять.

VBA Instr and Mid

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

Функция Split

Мы можем использовать функцию Split для выполнения приведенных выше примеров. Функция Split разбивает строку на массив. Тогда мы можем легко получить доступ к каждому элементу.

Давайте попробуем те же три примера еще раз, и на этот раз мы будем использовать Split.

  Dim s As String: s = "John Henry Smith"

    Debug.Print Split(s, " ")(0) ' John
    Debug.Print Split(s, " ")(1) ' Henry
    Debug.Print Split(s, " ")(2) ' Smith

Ого! Какая разница с использованием Split. Как это работает:

  1. Функция Split разбивает строку везде, где есть пробел.
  2. Каждый элемент помещается в массив, начиная с нуля.
  3. Используя номер местоположения, мы можем получить доступ к элементу массива.  

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

Примечание: первая позиция в массиве равна нулю. Наличие нулевых массивов является стандартным в языках программирования.

0 1 2
John Henry Smith

В приведенном выше коде мы разделяем строку каждый раз, когда ее используем. Мы также можем разделить строку один раз и сохранить ее в переменной массива. Тогда мы можем получить к нему доступ, когда захотим.

Sub SplitName()
    Dim s As String: s = "John Henry Smith"
    Dim arr() As String
    arr = Split(s, " ")

    Debug.Print arr(0) ' John
    Debug.Print arr(1) ' Henry
    Debug.Print arr(2) ' Smith
End Sub

Если вы хотите узнать больше о массивах, я написал о них целую статью под названием «Полное руководство по использованию массивов в Excel VBA».

В следующих разделах мы рассмотрим примеры из реальной жизни. Вы увидите преимущество использования Split вместо функции InStr.

Пожалуйста, не стесняйтесь попробовать это сами. Это отличный способ учиться, и вы можете повеселиться, пытаясь понять их (или, может быть, только у меня так!)

Пример 1: Получение части имени файла

Представьте, что мы хотим извлечь числа из следующих имен файлов

«VB_23476_Val.xls»
«VV_987_Val.txt»
«VZZA_12223_Val.doc»

Это похоже на пример, где мы получаем второй элемент. Чтобы получить значения здесь, мы используем подчеркивание (то есть «_»), чтобы разбить строку. Смотрите пример кода ниже:

Sub PoluchitNomer()

    ' Печатает 23476
    Debug.Print Split("VB_23476_Val.xls", "_")(1)
    ' Печатает 987
    Debug.Print Split("VV_987_Val.txt", "_")(1)
    ' Печатает 12223
    Debug.Print Split("ABBZA_12223_Val.doc", "_")(1)

End Sub

В реальном мире вы обычно читаете такие строки из разных ячеек. Допустим, эти имена файлов хранятся в ячейках от А1 до А3. Мы немного изменим приведенный выше код:

Sub ChitatNomera()

    Dim c As Range
    For Each c In Range("A1:A3")
        ' Разделите каждый элемент по мере его прочтения
        Debug.Print Split(c, "_")(1)
    Next c

End Sub

Пример 2: диапазон IP-адресов

Пример здесь взят из вопроса на веб-сайте StackOverflow.

У пользователя есть строка с IP-адресом в формате «BE-ABCDDD-DDS 172.16.23.3».

Он хочет, чтобы IP в диапазоне от 172,16 до 172,31 был действительным. Так например:

  • «BE-ABCDDD-DDS 172.16.23.3» действителен
  • «BE-ABCDDD-DDS 172.25.23.3» действителен
  • «BE-ABCDDED-DDS 172.14.23.3» не действителен
  • «BE-ABCDDDZZ-DDS 172.32.23.3» не действителен

Вот как бы я это сделал. Сначала я разбил строку по периодам. Число, которое мы ищем, находится между первым и вторым периодом. Поэтому это второй пункт. Когда мы разделяем строку, она помещается на первую позицию в массиве (помните, что массив начинается с нулевой позиции).

Полученный массив будет выглядеть так:

0 1 2 3
BE-ABCDDD-DDS 172 31 23 3

Код ниже показывает, как это сделать.

Sub IPAdd()

    ' Проверьте номер, чтобы проверить разные IP-адреса
    Dim s1 As String: s1 = "BE-ABCDDD-DDS 172.31.23.3"

    ' Разбить строку, используя символ точки
    Dim num As Long
    num = Split(s1, ".")(1)

    ' Проверьте правильность номера
    Debug.Print num >= 16 And num <= 31

End Sub

Пример 3. Проверьте правильность имени файла

В этом последнем примере мы хотим проверить правильность имени файла. Есть три правила.

  1. Должно заканчиваться на .pdf
  2. Он должен содержать АА
  3. Он должен содержать 1234 после А

В следующих таблицах показаны некоторые допустимые и недействительные элементы:

Имя файла Статус
AA1234.pdf Действителен
AA_ljgslf_1234.pdf Действителен
AA1234.pdf1 Недействительно — не заканчивается на .pdf
1234 AA.pdf Недействительно — АА не до 1234
12_AA_1234_NM.pdf Действителен

Сначала мы сделаем это, используя функции InStr и Right.

Sub IspInstr()

    Dim f As String: f = "AA_1234_(5).pdf"

    ' Сначала найдите АА, так как 1234 должен идти после
    Dim lPos As Long: lPos = InStr(f, "AA")
    ' Ищите 1234 и убедитесь, что последние четыре символа - .pdf
    Debug.Print InStr(lPos, f, "1234") > 0 And Right(f, 4) = ".pdf"

End Sub

Этот код очень грязный. К счастью для нас, у VBA есть Сравнение с шаблоном. Мы можем проверить шаблон строки без необходимости искать элементы и позиции и т.д. Мы используем оператор Like в VBA для сопоставления с шаблоном. Пример ниже показывает, как это сделать.

Sub IspSravnenie()

    Dim f As String: f = "AA_1234_(5).pdf"

    ' Определить шаблон
    Dim pattern As String: pattern = "*AA*1234*.pdf"
    ' Проверьте каждый элемент по шаблону
    Debug.Print f Like pattern   ' ИСТИНА

End Sub

В приведенном выше примере звездочка в шаблоне относится к любому количеству символов.

Давайте разберем этот паттерн * AA * 1234 * .pdf

*- любая группа символов
AA — точные символы AА

*- любая группа символов
1234 — точные символы 1234

*- любая группа символов
.pdf — точные символы .pdf

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

Sub IspSravnenieTest()

    ' Создать коллекцию имен файлов
    Dim coll As New Collection
    coll.Add "AA1234.pdf"
    coll.Add "AA_ljgslf_1234.pdf"
    coll.Add "AA1234.pdf1"
    coll.Add "1234 AA.pdf"
    coll.Add "12_AA_1234_NM.pdf"

    ' Определить шаблон
    Dim pattern As String: pattern = "*AA*1234*.pdf"

    ' Проверьте каждый элемент по шаблону
    Dim f As Variant
    For Each f In coll
        Debug.Print f Like pattern
    Next f

End Sub

На выходе:

ИСТИНА
ИСТИНА
ЛОЖЬ
ЛОЖЬ
ИСТИНА

Чтобы узнать больше о сопоставлении с шаблоном и ключевом слове Like, ознакомьтесь с этой публикацией.

Заключение

InStr и InStrRev действительно полезны только для простых задач, таких как проверка наличия текста в строке.

Left, Right и Mid полезны, когда положение текста всегда одинаково.

Функция Split — лучший способ извлечь переменную строку.

При попытке проверить формат строки, которая не является фиксированной по размеру, ключевое слово Like (т.е. Сопоставление с образцом) обычно обеспечивает более простое решение.

Содержание

  • Поисковая функция в Excel
    • Способ 1: простой поиск
    • Способ 2: поиск по указанному интервалу ячеек
    • Способ 3: Расширенный поиск
  • Вопросы и ответы

Поиск в Microsoft Excel

В документах Microsoft Excel, которые состоят из большого количества полей, часто требуется найти определенные данные, наименование строки, и т.д. Очень неудобно, когда приходится просматривать огромное количество строк, чтобы найти нужное слово или выражение. Сэкономить время и нервы поможет встроенный поиск Microsoft Excel. Давайте разберемся, как он работает, и как им пользоваться.

Поисковая функция в Excel

Поисковая функция в программе Microsoft Excel предлагает возможность найти нужные текстовые или числовые значения через окно «Найти и заменить». Кроме того, в приложении имеется возможность расширенного поиска данных.

Способ 1: простой поиск

Простой поиск данных в программе Excel позволяет найти все ячейки, в которых содержится введенный в поисковое окно набор символов (буквы, цифры, слова, и т.д.) без учета регистра.

  1. Находясь во вкладке «Главная», кликаем по кнопке «Найти и выделить», которая расположена на ленте в блоке инструментов «Редактирование». В появившемся меню выбираем пункт «Найти…». Вместо этих действий можно просто набрать на клавиатуре сочетание клавиш Ctrl+F.
  2. Переход к поиску в Microsoft Excel

  3. После того, как вы перешли по соответствующим пунктам на ленте, или нажали комбинацию «горячих клавиш», откроется окно «Найти и заменить» во вкладке «Найти». Она нам и нужна. В поле «Найти» вводим слово, символы, или выражения, по которым собираемся производить поиск. Жмем на кнопку «Найти далее», или на кнопку «Найти всё».
  4. Обычный поиск в Microsoft Excel

  5. При нажатии на кнопку «Найти далее» мы перемещаемся к первой же ячейке, где содержатся введенные группы символов. Сама ячейка становится активной.

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

    Поисковые символы не обязательно должны быть самостоятельными элементами. Так, если в качестве запроса будет задано выражение «прав», то в выдаче будут представлены все ячейки, которые содержат данный последовательный набор символов даже внутри слова. Например, релевантным запросу в этом случае будет считаться слово «Направо». Если вы зададите в поисковике цифру «1», то в ответ попадут ячейки, которые содержат, например, число «516».

    Для того, чтобы перейти к следующему результату, опять нажмите кнопку «Найти далее».

    Результат обычного поиска в Microsoft Excel

    Так можно продолжать до тех, пор, пока отображение результатов не начнется по новому кругу.

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

Найти всё в Microsoft Excel

Способ 2: поиск по указанному интервалу ячеек

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

  1. Выделяем область ячеек, в которой хотим произвести поиск.
  2. Выделение интервала в Microsoft Excel

  3. Набираем на клавиатуре комбинацию клавиш Ctrl+F, после чего запуститься знакомое нам уже окно «Найти и заменить». Дальнейшие действия точно такие же, что и при предыдущем способе. Единственное отличие будет состоять в том, что поиск выполняется только в указанном интервале ячеек.

Поиск по интервалу в Microsoft Excel

Способ 3: Расширенный поиск

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

Lumpics.ru

К тому же, в выдачу может попасть не только содержимое конкретной ячейки, но и адрес элемента, на который она ссылается. Например, в ячейке E2 содержится формула, которая представляет собой сумму ячеек A4 и C3. Эта сумма равна 10, и именно это число отображается в ячейке E2. Но, если мы зададим в поиске цифру «4», то среди результатов выдачи будет все та же ячейка E2. Как такое могло получиться? Просто в ячейке E2 в качестве формулы содержится адрес на ячейку A4, который как раз включает в себя искомую цифру 4.

Результат поиска в Microsoft Excel

Но, как отсечь такие, и другие заведомо неприемлемые результаты выдачи поиска? Именно для этих целей существует расширенный поиск Excel.

  1. После открытия окна «Найти и заменить» любым вышеописанным способом, жмем на кнопку «Параметры».
  2. Переход в параметры поиска в Microsoft Excel

  3. В окне появляется целый ряд дополнительных инструментов для управления поиском. По умолчанию все эти инструменты находятся в состоянии, как при обычном поиске, но при необходимости можно выполнить корректировку.
    Параметры поиска по умолчанию в Microsoft Excel

    По умолчанию, функции «Учитывать регистр» и «Ячейки целиком» отключены, но, если мы поставим галочки около соответствующих пунктов, то в таком случае, при формировании результата будет учитываться введенный регистр, и точное совпадение. Если вы введете слово с маленькой буквы, то в поисковую выдачу, ячейки содержащие написание этого слова с большой буквы, как это было бы по умолчанию, уже не попадут. Кроме того, если включена функция «Ячейки целиком», то в выдачу будут добавляться только элементы, содержащие точное наименование. Например, если вы зададите поисковый запрос «Николаев», то ячейки, содержащие текст «Николаев А. Д.», в выдачу уже добавлены не будут.

    Настройки поиска в Microsoft Excel

    По умолчанию, поиск производится только на активном листе Excel. Но, если параметр «Искать» вы переведете в позицию «В книге», то поиск будет производиться по всем листам открытого файла.

    Область поиска в Microsoft Excel

    В параметре «Просматривать» можно изменить направление поиска. По умолчанию, как уже говорилось выше, поиск ведется по порядку построчно. Переставив переключатель в позицию «По столбцам», можно задать порядок формирования результатов выдачи, начиная с первого столбца.

    Содержимое поиска в Microsoft Excel

    В графе «Область поиска» определяется, среди каких конкретно элементов производится поиск. По умолчанию, это формулы, то есть те данные, которые при клике по ячейке отображаются в строке формул. Это может быть слово, число или ссылка на ячейку. При этом, программа, выполняя поиск, видит только ссылку, а не результат. Об этом эффекте велась речь выше. Для того, чтобы производить поиск именно по результатам, по тем данным, которые отображаются в ячейке, а не в строке формул, нужно переставить переключатель из позиции «Формулы» в позицию «Значения». Кроме того, существует возможность поиска по примечаниям. В этом случае, переключатель переставляем в позицию «Примечания».

    Область поиска в программе Microsoft Excel

    Ещё более точно поиск можно задать, нажав на кнопку «Формат».

    Переход к формату поиска в Microsoft Excel

    При этом открывается окно формата ячеек. Тут можно установить формат ячеек, которые будут участвовать в поиске. Можно устанавливать ограничения по числовому формату, по выравниванию, шрифту, границе, заливке и защите, по одному из этих параметров, или комбинируя их вместе.

    Формат поиска в Microsoft Excel

    Если вы хотите использовать формат какой-то конкретной ячейки, то в нижней части окна нажмите на кнопку «Использовать формат этой ячейки…».

    Переход к выбору ячейки для установки формата в Microsoft Excel

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

    Выбор ячейки для установки формата в Microsoft Excel

    После того, как формат поиска настроен, жмем на кнопку «OK».

    Установка формата поиска в Microsoft Excel

    Бывают случаи, когда нужно произвести поиск не по конкретному словосочетанию, а найти ячейки, в которых находятся поисковые слова в любом порядке, даже, если их разделяют другие слова и символы. Тогда данные слова нужно выделить с обеих сторон знаком «*». Теперь в поисковой выдаче будут отображены все ячейки, в которых находятся данные слова в любом порядке.

  4. Поиск по отдельным словам в Microsoft Excel

  5. Как только настройки поиска установлены, следует нажать на кнопку «Найти всё» или «Найти далее», чтобы перейти к поисковой выдаче.

Запуск расширенного поиска в Microsoft Excel

Как видим, программа Excel представляет собой довольно простой, но вместе с тем очень функциональный набор инструментов поиска. Для того, чтобы произвести простейший писк, достаточно вызвать поисковое окно, ввести в него запрос, и нажать на кнопку. Но, в то же время, существует возможность настройки индивидуального поиска с большим количеством различных параметров и дополнительных настроек.

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

12 текстовых функций Excel на каждый день

Для примера возьмем строку «ExcelGuide.ru – про Excel и не только» и ее будем использовать в наших функциях ниже.

ЛЕВСИМВ

Функция ЛЕВСИМВ возвращает указанное количество знаков с начала строки. В качестве аргументов на первом месте указываем ту строку, из которой хотим извлечь текст, а вторым аргументом количество символов, которое хотим получить.
Давайте из нашей строки получим текст «ExcelGuide.ru»:

=ЛЕВСИМВ(B1;13)

12 текстовых функций Excel на каждый день

ПРАВСИМВ

Функция ПРАВСИМВ аналогична ЛЕВСИМВ, только возвращает указанное количество символов не с начала, а с конца строки. Первым аргументом указываем строку, откуда будем получать часть текста, а вторым аргументом – количество символов.
Из нашей строки извлечем текст «про Excel и не только»:

=ПРАВСИМВ(B1;21)

12 текстовых функций Excel на каждый день

ПСТР

Функция ПСТР позволяет получить указанное количество символов начиная с определенной позиции. У этой функции 3 аргумента: Текст, из которого нам нужно получить часть; стартовая позиция, с которой нужно извлечь символы; количество символов, которое хотим получить.
В нашей строке есть слово Excel, давайте его получим:

=ПСТР(B1;21;5)

12 текстовых функций Excel на каждый день

ДЛСТР

Функция ДЛСТР возвращает количество символов в строке.

=ДЛСТР(B1)

12 текстовых функций Excel на каждый день

ПОИСК

Функция ПОИСК предназначена для нахождения первого вхождения указанного текста в исходную строку. Аргументы функции: сначала указываем тот текст, который хотим найти; далее строку, в которой ищем текст.
Давайте в нашем примере найдем текст «про Excel»:

=ПОИСК(«про Excel»;B1)

12 текстовых функций Excel на каждый день

СЦЕПИТЬ

Функция СЦЕПИТЬ позволяет последовательно объединить несколько текстовых элементов в одну строку.
В качестве аргументов необходимо перечислить те текстовые элементы, которые вы хотите соединить.
 В качестве примера объединим наш пример и строку «. Пожалуй лучший сайт про Excel )))»:

=СЦЕПИТЬ(B1;». Пожалуй лучший сайт про Excel )))»)

12 текстовых функций Excel на каждый день

СОВПАД

Функция СОВПАД проверяет идентичность двух строк и возвращает Истина, если строки совпадают и ЛОЖЬ, если строки не совпадают.
Сравним нашу строку с текстом «ExcelGuide.ru»:

=СОВПАД(B1;»ExcelGuide.ru»)

12 текстовых функций Excel на каждый день

СЖПРОБЕЛЫ

Функция СЖПРОБЕЛЫ удаляет лишние дублирующие пробелы. В качестве аргумента указываем строку, у которой надо удалить лишние пробелы.

=СЖПРОБЕЛЫ(B1)

12 текстовых функций Excel на каждый день

ЗНАЧЕН

Функция ЗНАЧЕН преобразует текст в число. Часто случается при экспорте из разных информационных систем мы получаем числовые значения в текстовом формате, в таких случаях нам и пригодится этот функционал.
В качестве примера преобразуем текст «1000» в число 1 000:

=ЗНАЧЕН(«1000»)

12 текстовых функций Excel на каждый день

ПОДСТАВИТЬ

Функция ПОДСТАВИТЬ заменяет новым текстом старый текст в исходной текстовой строке. Аргументов у функции три: сначала указываем ту строку, в которой будем менять текст; далее указываем старый текст; а затем тот, которым мы хотим заменить.
В качестве примера в нашей строке заменим «про» на «о»:

=ПОДСТАВИТЬ(B1;»про»;»о»)

12 текстовых функций Excel на каждый день

ПРОПИСН

Функция ПРОПИСН преобразует все буквы в прописные. У функции только один аргумент – та строка, которую надо преобразовать.

=ПРОПИСН(B1)

12 текстовых функций Excel на каждый день

СТРОЧН

Функция СТРОЧН преобразует все буквы в строчные. У функции один аргумент – тот текст, который мы хотим модифицировать.

=СТРОЧН(B1)

12 текстовых функций Excel на каждый день

Кстати, если вы хотите более подробно изучить Excel, научиться строить быстро сложные отчеты и графики, то рекомендую вам курс «Excel + Google Таблицы с нуля до PRO» от Skillbox.

Спасибо за внимание. Мы разобрали 12 основных текстовых функций в Excel, которые вам могут пригодиться в ежедневной работе.

Понравилась статья? Поделить с друзьями:
  • Excel найти значение в массиве данных
  • Excel найти значение в другой книге
  • Excel найти значение больше чем
  • Excel найти все связи в файле
  • Excel найти заменить регулярные выражения