Excel функция текстовые символы

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше

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

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

Функция

Описание

Функция МАССИВВТЕКСТ

Кнопка Office 365

Возвращает массив текстовых значений из любого указанного диапазона

ASC

Для языков с двухбайтовыми наборами знаков (например, катакана) преобразует полноширинные (двухбайтовые) знаки в полуширинные (однобайтовые).

БАТТЕКСТ

Преобразует число в текст, используя денежный формат ß (БАТ).

СИМВОЛ

Возвращает символ с заданным кодом.

ПЕЧСИМВ

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

КОДСИМВ

Возвращает числовой код первого знака в текстовой строке.

СЦЕП

Excel 2016

Объединяет текст из нескольких диапазонов или строк, но не добавляет разделитель или аргументы IgnoreEmpty.

СЦЕПИТЬ

Объединяет несколько текстовых элементов в один.

DBCS

Excel 2013

Для языков с двухбайтовыми наборами знаков (например, катакана) преобразует полуширинные (однобайтовые) знаки в текстовой строке в полноширинные (двухбайтовые).

РУБЛЬ

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

СОВПАД

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

НАЙТИ, НАЙТИБ

Ищет вхождения одного текстового значения в другом (с учетом регистра).

ФИКСИРОВАННЫЙ

Форматирует число и преобразует его в текст с заданным числом десятичных знаков.

ЛЕВСИМВ, ЛЕВБ

Возвращают крайние слева знаки текстового значения.

ДЛСТР, ДЛИНБ

Возвращают количество знаков в текстовой строке.

СТРОЧН

Преобразует все буквы текста в строчные.

ПСТР, ПСТРБ

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

ЧЗНАЧ

Excel 2013

Преобразует текст в число независимо от языкового стандарта.

PHONETIC

Извлекает фонетические (фуригана) знаки из текстовой строки.

ПРОПНАЧ

Преобразует первую букву в каждом слове текста в прописную.

ЗАМЕНИТЬ, ЗАМЕНИТЬБ

Заменяют знаки в тексте.

ПОВТОР

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

ПРАВСИМВ, ПРАВБ

Возвращают крайние справа знаки текстовой строки.

ПОИСК, ПОИСКБ

Ищут вхождения одного текстового значения в другом (без учета регистра).

ПОДСТАВИТЬ

Заменяет в текстовой строке старый текст новым.

Т

Преобразует аргументы в текст.

ТЕКСТ

Форматирует число и преобразует его в текст.

Функция TEXTAFTER

Кнопка Office 365

Возвращает текст, который происходит после заданного символа или строки

Функция TEXTBEFORE

Кнопка Office 365

Возвращает текст, который встречается перед заданным символом или строкой

Функция TEXTJOIN

Кнопка Office 365

Объединяет текст из нескольких диапазонов и (или) строк

Функция TEXTSPLIT

Кнопка Office 365

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

СЖПРОБЕЛЫ

Удаляет из текста пробелы.

ЮНИСИМВ

Excel 2013

Возвращает символ Юникод, на который ссылается заданное числовое значение.

UNICODE

Excel 2013

Возвращает число (кодовую страницу), которая соответствует первому символу текста.

ПРОПИСН

Преобразует все буквы текста в прописные.

ЗНАЧЕН

Преобразует текстовый аргумент в число.

Функция ЗНАЧЕНИЕВТЕКСТ

Кнопка Office 365

Возвращает текст из любого указанного значения

Важно: Вычисляемые результаты формул и некоторые функции листа Excel могут несколько отличаться на компьютерах под управлением Windows с архитектурой x86 или x86-64 и компьютерах под управлением Windows RT с архитектурой ARM. Подробнее об этих различиях.

См. также

Функции Excel (по категориям)

Функции Excel (по алфавиту)

Нужна дополнительная помощь?

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

Содержание

  1. СЦЕПИТЬ
  2. СТРОЧН
  3. ПРОПИСН
  4. ПРОПНАЧ
  5. ДЛСТР
  6. ЛЕВСИМВ и ПРАВСИМВ
  7. ПСТР
  8. СОВПАД
  9. СЖПРОБЕЛЫ
  10. ПОВТОР
  11. НАЙТИ
  12. ПОИСК
  13. ПОДСТАВИТЬ
  14. ЗАМЕНИТЬ

СЦЕПИТЬ

Для объединения содержимого ячеек в Excel, наряду с оператором конкатенации, можно использовать текстовую функцию СЦЕПИТЬ. Она последовательно объединяет значения указанных ячеек в одной строке.

Текстовые функции в Excel

СТРОЧН

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

Текстовые функции в Excel

ПРОПИСН

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

Текстовые функции в Excel

ПРОПНАЧ

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

Текстовые функции в Excel

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

Текстовые функции в Excel

ДЛСТР

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

Текстовые функции в Excel

ЛЕВСИМВ и ПРАВСИМВ

Текстовые функции ЛЕВСИМВ и ПРАВСИМВ возвращают заданное количество символов, начиная с начала или с конца строки. Пробел считается за символ.

Текстовые функции в Excel

Текстовые функции в Excel

ПСТР

Текстовая функция ПСТР возвращает заданное количество символов, начиная с указанной позиции. Пробел считается за символ.

Текстовые функции в Excel

СОВПАД

Функция СОВПАД позволяет сравнить две текстовые строки в Excel. Если они в точности совпадают, то возвращается значение ИСТИНА, в противном случае – ЛОЖЬ. Данная текстовая функция учитывает регистр, но игнорирует различие в форматировании.

Текстовые функции в Excel

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

Текстовые функции в Excel

СЖПРОБЕЛЫ

Удаляет из текста все лишние пробелы, кроме одиночных между словами.

Текстовые функции в Excel

В случаях, когда наличие лишнего пробела в конце или начале строки сложно отследить, данная функция становится просто незаменимой. На рисунке ниже видно, что содержимое ячеек А1 и B1 абсолютно одинаково, но это не так. В ячейке А1 мы намеренно поставили лишний пробел в конце слова Excel. В итоге функция СОВПАД возвратила нам значение ЛОЖЬ.

Текстовые функции в Excel

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

Текстовые функции в Excel

Функцию СЖПРОБЕЛЫ полезно применять к данным, которые импортируются в рабочие листы Excel из внешних источников. Такие данные очень часто содержат лишние пробелы и различные непечатаемые символы. Чтобы удалить все непечатаемые символы из текста, необходимо воспользоваться функцией ПЕЧСИМВ.

ПОВТОР

Функция ПОВТОР повторяет текстовую строку указанное количество раз. Строка задается как первый аргумент функции, а количество повторов как второй.

Текстовые функции в Excel

НАЙТИ

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

Текстовые функции в Excel

Данная функция чувствительна к регистру…

Текстовые функции в Excel

… и может начинать просмотр текста с указанной позиции. На рисунке ниже формула начинает просмотр с четвертого символа, т.е. c буквы «r«. Но даже в этом случае положение символа считается относительно начала просматриваемого текста.

Текстовые функции в Excel

ПОИСК

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

Текстовые функции в Excel

Текстовые функции в Excel

ПОДСТАВИТЬ

Заменяет определенный текст или символ на требуемое значение. В Excel текстовую функцию ПОДСТАВИТЬ применяют, когда заранее известно какой текст необходимо заменить, а не его местоположение.

Приведенная ниже формула заменяет все вхождения слова «Excel» на «Word»:

Текстовые функции в Excel

Заменяет только первое вхождение слова «Excel»:

Текстовые функции в Excel

Удаляет все пробелы из текстовой строки:

Текстовые функции в Excel

ЗАМЕНИТЬ

Заменяет символы, расположенные в заранее известном месте строки, на требуемое значение. В Excel текстовую функцию ЗАМЕНИТЬ применяют, когда известно где располагается текст, при этом сам он не важен.

Формула в примере ниже заменяет 4 символа, расположенные, начиная с седьмой позиции, на значение «2013». Применительно к нашему примеру, формула заменит «2010» на «2013».

Текстовые функции в Excel

Заменяет первые пять символов текстовой строки, т.е. слово «Excel», на «Word».

Текстовые функции в Excel

Вот и все! Мы познакомились с 15-ю текстовыми функциями Microsoft Excel и посмотрели их действие на простых примерах. Надеюсь, что данный урок пришелся Вам как раз кстати, и Вы получили от него хотя бы малость полезной информации. Всего доброго и успехов в изучении Excel!

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

Функция СИМВОЛ – простейшие примеры
Раздел функций Текстовые
Название на английском CHAR
Волатильность Не волатильная
Похожие функции КОДСИМВ, UNICODE, ЮНИСИМВ

Что делает функция СИМВОЛ?

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

ВАЖНО: ANSI-кодировка – это собирательное понятие, их (кодировок) очень много, и таблица сопоставления чисел и символов будет разной в зависимости от того, какая указана в реестре вашей операционной системы.

Наиболее часто на русскоязычных системах Windows установлена кодировка Windows-1251 (она же cp1251).

Синтаксис

=СИМВОЛ(число)

Число должно быть от 1 до 255, в иных случаях функция выдаст ошибку #ЗНАЧ!

Коды символов и соответствующие им символы

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

  • символ переноса строки – 10
  • символ ™ – 153
  • символ ® – 174
  • символ © – 169
  • кавычки-ёлочки (“”) – 171 и 187
  • знак “плюс-минус” (±) – 177

Полная таблица сопоставления символов и их кодов в кодировке Windows-1251

Функция СИМВОЛ – примеры

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

Создать алфавит в Excel

Удобный способ не вводить буквы с клавиатуры самостоятельно.

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

Для английского языка это диапазоны 65-90 (заглавные) и 97-122 (строчные). Для русского алфавита – 192-223 и 224-255 соответственно.

По какой-то причине буква Ё не входит ни в один из этих диапазонов (см. таблицу выше), иными словами, русский алфавит в кодировке 1251 будет неполон, если взять только подряд идущие цифры. Код заглавной Ё – 168, строчной – 184.

Подробнее читайте в статье: Как создать алфавит в Excel

Комбинации с другими функциями

В комбинации с ПОИСК, НАЙТИ, СЧЁТ и СТРОКА в формуле массива функция СИМВОЛ позволяет найти латиницу в русском тексте или кириллицу в английском.

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

Понравилась статья? Поддержите ее автора!
Набор инструментов !SEMTools поможет решить множество задач без ввода сложных формул и сэкономит ваше время. И вам полезно, и автору приятно!

3

ТЕКСТОВЫЕ ФУНКЦИИ EXCEL

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

  • ЗНАЧЕН(текст)
    преобразует числа, введенные в
    текстовом формате,
    в числовые значения.
    Аргумент текст может быть строкой,
    заключенной
    в двойные кавычки, или
    ссылкой на ячейку, в которой содержится
    текст. Преобразуемая текстовая строка
    может быть в любом допустимом формате.
    Если текст не удовлетворяет ни одному
    из этих форматов, то Excel возвращает
    значение ошибки #ЗНАЧ!

Например, формула =ЗНАЧЕН («40205»)
возвратит числовое значение 40205.
Если ячейка А10 содержит формулу
=»40205″ (которая возвращает
текстовое значение), то формула
=ЗНАЧЕН(А10) также возвратит 40205.

Функция ЗНАЧЕН() может преобразовывать
текстовые значения даты
и времени в
числовые значения. Например, формула =
ЗНАЧЕН(«1.01.87 «)
возвратит десятичное
значение даты 31778. Так как Excel
при вычислениях преобразует числовые
тексты в числа, обычно нет необходимости
в использовании функции ЗНАЧЕН для
чисел, введенных в формулы в текстовом
формате.

  • ТЕКСТ(значение;
    формат)
    преобразует число в
    текстовую строку с заданным форматом.
    Аргумент значение может быть любым
    числом, формулой или ссылкой на ячейку.
    Аргумент формат определяет, в каком
    виде отображается возвращаемая строка.
    Для задания необходимого формата можно
    использовать любой из символов
    форматирования ($, #, 0 и т. д.) за исключением
    звездочки (*). Использование формат
    Общий не допускается.

Например, формула ТЕКСТ(98/4;»0,00″)
в
озвратит текстовую строку 24,50.

  • Д
    ЛСТР(текст)
    возвращает количество символов в
    текстовой строке. Аргумент текст
    может быть строкой символов, заключенной
    в двойные кавычки, или ссылкой на ячейку.

Рисунок 5.3 – Пример использования
функции ДЛСТР()

  • ПРАВСИМВ(текст;
    количество_символов)
    возвращает
    последние (крайние правые) символы
    строки аргумента, ЛЕВСИМВ(текст;
    количество_сим-волов)
    возвращает
    первые (левые) символы. Аргумент
    количество_символов задает число
    символов, извлекаемых из аргумента
    текст. Аргумент количество_символов
    должен быть больше или равен нулю. Если
    опустить этот аргумент, Excel
    считает его равным 1.

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

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

Например, ячейка В1 содержит текст Первый
квартал
. Чтобы поместить этот же текст
в ячейку E1, заменив первые
шесть символов строкой Второй,
выделите ячейку E1 и введите формулу
=ЗАМЕНИТЬ (B1; 1;
6; «Второй»),
которая возвращает
новый текст Второй квартал. Заголовок
в B1 останется
неизменным, и новый заголовок появится
только в ячейке E1,
в которую вы ввели эту формулу (рис.
5.4).

Рисунок 5.4 – Пример использования
функции =ЗАМЕНИТЬ ()

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

    — заменяется явно указываемый текст,
    начальная позиция и число символов
    не
    задаются.

Н
апример,
ячейка А1 содержит текст «стол»,
необходимо поместить его
в ячейку
D1, заменив при этом одну букву, и получить
слово «стул». Введем формулу
=ПОДСТАВИТЬ(А4; «о»; «у»).в
ячейку D1, текст в
ячейке A1 не
изменится. Новый текст появится только
в D1, то есть в
ячейке, которая содержит эту формулу
(рис. 5.5).

Рисунок 5.5. Пример использования функции
ПОДСТАВИТЬ().

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

  • СЦЕПИТЬ
    (текст1;текст2;…)
    используется для
    объединения строк и является эквивалентом
    текстового оператора & В функции
    можно использовать до 30 аргументов,
    объединяемых в одну строку.

Например, если ячейка B4
содержит текст «1-й квартал», формула
=СЦЕПИТЬ(«Всего за»; B4)
возвратит текст «Всего за 1-й квартал».

  • ПСТР(текст;начальная_позиция;количество_символов)
    возвращает заданное число
    символов из строки текста, начиная с
    указанной позиции. Аргумент текст
    – текстовая строка, содержащая
    извлекаемые символы, начальная_позиция
    – это позиция первого символа,
    извлекаемого из текста (относительно
    начала строки), а количество_символов
    – это число извлекаемых символов.

Например, если ячейка А1 содержит текст
«Это длинное текстовое значение».
Для извлечения слова «длинное» из
строки символов, находящихся
в ячейке
А1, можно использовать формулу
=ПСТР(А1; 12; 7).

Соседние файлы в папке ТЕКСТОВЫЕ ФУНКЦИИ

  • #
  • #
  • #

Skip to content

Как извлечь текст из ячейки при помощи функции ПСТР и специальных инструментов

ПСТР — одна из текстовых функций, которые Microsoft Excel предоставляет для управления текстовыми строками. На самом базовом уровне она используется для извлечения подстроки из середины текста. 

В этом руководстве мы обсудим синтаксис и особенности функции Excel ПСТР (в английской версии – MID), а затем вы узнаете несколько вариантов творческого её использования для выполнения сложных задач.

  • Синтаксис и особенности
  • Если 2 слова — извлекаем имя и фамилию
  • Как получить текст между двумя определенными символами
  • Как извлечь любое по счету слово
  • Получаем слово с нужными буквами или символами
  • Как заставить ПСТР возвращать число?
  • Использование регулярных выражений для извлечения части текста
  • Как извлечь текст из ячейки с помощью Ultimate Suite

Cинтаксис.

Функция ПСТР возвращает указанное количество знаков, начиная с указанной вами позиции.

Функция Excel ПСТР имеет следующие аргументы:

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

Где текст — это исходная текстовая строка. Далее следует позиция первого символа, который вы хотите извлечь, и количество их для извлечения.

Все 3 аргумента обязательны.

Например, чтобы извлечь 6 знаков из A2, начиная с 17-го, используйте эту формулу:

=ПСТР(A2;17;6)

Результат может выглядеть примерно так:

5 вещей, которые вы должны знать о функции Excel ПСТР

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

  1. Функция ПСТР всегда возвращает текстовую строку, даже если извлеченная подстрока содержит только цифры. Это может иметь большое значение, если вы хотите использовать результат формулы ПСТР в других вычислениях. Чтобы преобразовать цифры в число, применяйте ПСТР в сочетании с функцией ЗНАЧЕН (VALUE в английской версии), как показано в этом примере. (ссылка на последний раздел).
  2. Когда начальная позиция больше, чем общая длина исходного текста, формула Excel ПСТР возвращает пустое значение («»).
  3. Если начальная позиция  меньше 1, формула ПСТР возвращает ошибку #ЗНАЧ!.
  4. Когда третий аргумент меньше 0 (отрицательное число), формула ПСТР возвращает ошибку #ЗНАЧ!. Если количество знаков для извлечения равно 0, выводится пустая строка (пустая ячейка).
  5. В случае, если сумма начальной позиции и количества знаков превышает общую длину исходного текста, функция ПСТР в Excel возвращает подстроку начиная с начальной позиции и до последнего символа.

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

Как извлечь имя и фамилию.

Если у вас была возможность прочитать наши недавние уроки, вы уже знаете, как вытащить имя с помощью функции ЛЕВСИМВ и получить фамилию с помощью ПРАВСИМВ.  Но, как это часто бывает в Excel, одно и то же можно сделать разными способами.

Получаем имя.

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

=ПСТР(A2;1;ПОИСК(» «;A2)-1)

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

Получаем фамилию.

Чтобы извлечь фамилию из A2, используйте эту формулу:

=СЖПРОБЕЛЫ(ПСТР(A2;ПОИСК(» «;A2);ДЛСТР(A2)))

Опять же, вы используете ПОИСК, чтобы определить начальную позицию (пробел). Нам не нужно точно рассчитывать конечную позицию (как вы помните, если вместе взятые начальная позиция и количество символов больше, чем общая длина текста, возвращаются просто все оставшиеся). Итак, в аргументе количество символов вы просто указываете общую первоначальную длину , возвращаемую функцией ДЛСТР . Впрочем, вместо этого вы можете просто ввести число, представляющее самую длинную фамилию, которую вы ожидаете найти, например 100. Наконец,  СЖПРОБЕЛЫ удаляет лишние интервалы, и вы получаете следующий результат:

Как выделить подстроку между двумя разделителями.

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

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

  • Как и в предыдущем примере, используйте ПОИСК, чтобы определить позицию первого (» «), к которому вы добавляете 1, потому что вы хотите начать с символа, следующего за ним. Таким образом, вы получаете адрес начальной позиции: ПОИСК (» «; A2) +1
  • Затем вычислите позицию 2- го интервала, используя вложенные функции поиска, которые предписывают Excel начать поиск именно со 2-го:                                                  ПОИСК (» «; A2, ПОИСК (» «; A2) +1)

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

ПОИСК(» «; A2; ПОИСК(» «; A2) +1) — ПОИСК(» «; A2)

Соединив все аргументы, мы получаем формулу для извлечения подстроки между двумя пробелами:

=ПСТР(A2;ПОИСК(» «;A2)+1;ПОИСК(» «;A2;ПОИСК(» «;A2)+1)-ПОИСК(» «;A2)-1)

На следующем скриншоте показан результат:

Аналогичным образом вы можете извлечь текст между любыми другими разделителями:

ПСТР( строка ; ПОИСК( разделитель ; строка ) +1; ПОИСК( разделитель ; строка ; ПОИСК( разделитель ; строка ) +1) — ПОИСК( разделитель ; строка ) -1)

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

=ПСТР(A2;ПОИСК(«, «;A2)+1;ПОИСК(«, «;A2;ПОИСК(«, «;A2)+1)-ПОИСК(«, «;A2)-1)

На следующем рисунке эта формула используется для извлечения из адреса названия города, и она отлично справляется со своей задачей:

Как получить N-е слово из текста.

Этот пример демонстрирует оригинальное использование сложной формулы ПСТР в Excel, которое включает 5 различных составных частей:

  • ДЛСТР — чтобы получить общую длину.
  • ПОВТОР — повторение определенного знака заданное количество раз.
  • ПОДСТАВИТЬ — заменить один символ другим.
  • ПСТР — извлечь подстроку.
  • СЖПРОБЕЛЫ — удалить лишние интервалы между словами.

Общая формула выглядит следующим образом:

СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ( строка ; » «; ПОВТОР (» «; ДЛСТР( строка ))); ( N -1) * ДЛСТР( строка ) +1; ДЛСТР( строка )))

Где:

  • Строка — это исходный текст, из которого вы хотите извлечь желаемое слово.
  • N – порядковый номер слова, которое нужно получить.

Например, чтобы вытащить второе слово из A2, используйте это выражение:

=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ($A$2;» «;ПОВТОР(» «;ДЛСТР($A$2))); (2-1)*ДЛСТР($A$2)+1; ДЛСТР($A$2)))

Или вы можете ввести порядковый номер слова, которое нужно извлечь (N) в какую-либо ячейку, и указать эту ячейку в формуле, как показано на скриншоте ниже:

Как работает эта формула?

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

  • ПОДСТАВИТЬ и ПОВТОР заменяют каждый пробел в тексте несколькими. Количество этих дополнительных вставок равно общей длине исходной строки: ПОДСТАВИТЬ($A$2;» «;ПОВТОР(» «;ДЛСТР($A$2)))

Вы можете представить себе промежуточный результат как «астероиды» слов, дрейфующих в пространстве, например: слово1-пробелы-слово2-пробелы-слово3-… Эта длинная строка передается в текстовый аргумент ПСТР.

  • Затем вы определяете начальную позицию для извлечения (первый аргумент), используя следующее уравнение: (N-1) * ДЛСТР(A1) +1. Это вычисление возвращает либо позицию первого знака первого слова, либо, чаще, позицию в N-й группе пробелов.
  • Количество букв и цифр для извлечения (второй аргумент) — самая простая часть — вы просто берете общую первоначальную длину: ДЛСТР(A2).
  • Наконец, СЖПРОБЕЛЫ избавляется от начальных и конечных интервалов в извлечённом тексте.

Приведенная выше формула отлично работает в большинстве ситуаций. Однако, если между словами окажется 2 или более пробелов подряд, это даст неверные результаты (1). Чтобы исправить это, вложите еще одну функцию СЖПРОБЕЛЫ в ПОДСТАВИТЬ, чтобы удалить лишние пропуски между словами, оставив только один, например:

=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ($A$2);» «; ПОВТОР(» «;ДЛСТР($A$2))); (B2-1)*ДЛСТР($A$2)+1; ДЛСТР($A$2)))

Следующий рисунок демонстрирует улучшенный вариант (2) в действии:

Если ваш исходный текст содержит несколько пробелов между словами, а также очень большие или очень короткие слова, дополнительно вставьте СЖПРОБЕЛЫ в каждое ДЛСТР, чтобы вы были застрахованы от ошибки:

=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ($A$2);» «; ПОВТОР(» «;ДЛСТР(СЖПРОБЕЛЫ ($A$2)))); (B2-1)*ДЛСТР(СЖПРОБЕЛЫ($A$2))+1; ДЛСТР(СЖПРОБЕЛЫ($A$2))))

Я согласен с тем, что это выглядит немного громоздко, но зато безупречно обрабатывает все возможные варианты.

Извлекаем слово, содержащее определенный символ.

В этом примере показана еще одна нестандартная формула Excel ПСТР, которая извлекает слово, содержащее определенную букву или цифру, из любого места:

СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ ( строка , » «, ПОВТОР(» «, 99)), МАКС(1, НАЙТИ( символ , ПОДСТАВИТЬ( строка , » «, ПОВТОР(» «, 99))) — 50), 99))

Предполагая, что исходный текст находится в ячейке A2, и вы хотите получить слово, содержащее символ «$» (цена), выражение принимает следующую форму:

=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(A2;» «;ПОВТОР(» «;99)); МАКС(1;НАЙТИ(«$»;ПОДСТАВИТЬ(A2;» «;ПОВТОР(» «;99)))-50);99))

Аналогичным образом вы можете извлекать адреса электронной почты (на основе знака «@»), имена веб-сайтов (на основе «www») и так далее.

Теперь разберём пошагово:

Как и в предыдущем примере, ПОДСТАВИТЬ и ПОВТОР превращают каждый пробел в исходном тексте в несколько, точнее, в 99.

НАЙТИ находит позицию нужного символа (в данном примере $), из которой вы вычитаете 50. Это возвращает вас на 50 позиций назад и помещает где-то в середине блока из 99 пробелов, который предшествует слову, содержащему указанный символ.

МАКС используется для обработки ситуации, когда нужное значение появляется в начале исходного текста. В этом случае результат ПОИСК() — 50 будет отрицательным числом, а МАКС(1, ПОИСК() — 50) заменяет его на 1.

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

Совет. Если извлекаемый отрезок очень большой, замените 99 и 50 на более крупные числа, например 1000 и 500.

Как заставить ПСТР возвращать число?

Как и другие текстовые функции, Excel ПСТР всегда возвращает текст, даже если он содержит только цифры и очень похож на число. Вы можете убедиться с этом, взглянув на пример чуть выше, когда мы получили число «20%» как текст.

Чтобы преобразовать результат в число, просто передайте полученный результат в функцию ЗНАЧЕН (VALUE в английской версии), которая преобразует текстовое значение, состоящее из цифр, в число.

Например, чтобы извлечь подстроку из 3 символов, начинающуюся с 7- го символа, и преобразовать ее в число, используйте:

=ЗНАЧЕН(ПСТР(A2;7;3))

На скриншоте ниже показан результат. Обратите внимание, что числа с выравниванием по правому краю помещены в столбец B, в отличие от исходных текстовых значений с выравниванием по левому краю в столбце A:

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

=ЗНАЧЕН(ПСТР(A2;ПОИСК(«:»;A2)+1;ПОИСК(«:»;A2;ПОИСК(«:»;A2)+1)-ПОИСК(«:»;A2)-1))

Вот как можно использовать функцию ПСТР в Excel. 

Использование регулярных выражений, чтобы извлечь часть текста.

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

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

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

Вот пример: из наименования товара — Коммутатор Optimus U1E-8F/1G/1S, нужно извлечь номер модели. Поскольку этот номер находится в конце наименования, то будем искать то, что записано после последнего пробела.

= RegExpExtract(A1; «([^s.]+)$»)

В результате получим U1E-8F/1G/1S, что и требовалось.

Как извлечь текст из ячейки с помощью Ultimate Suite

Как вы только что видели, Microsoft Excel предоставляет набор различных функций для работы с текстовыми строками. Если вам нужно извлечь какое-то слово или часть текста из ячейки, но вы не уверены, какая функция лучше всего подходит для ваших нужд, передайте работу Ultimate Suite for Excel. Заодно не придётся возиться с формулами.

Вы просто переходите на вкладку Ablebits Data > Текст, выбираете инструмент Split Text и в выпадающем списке нажимаете Извлечь (Extract) :

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

  1. Укажите, сколько символов вы хотите получить из начала, конца или середины строки; или выберите извлечение всего текста до или после определенного символа.
  2. Щелкните Вставить результаты (Insert Results). Готово!

Кроме того, вы можете извлечь любое число символов с начала или в конце текста, из середины текста, между какими-то символами. Например, чтобы извлечь доменные имена из списка адресов электронной почты, вы выбираете чекбокс Все после текста (All after text) и вводите @ в поле рядом с ним. Чтобы извлечь имена пользователей, выберите переключатель Все до текста (All before text), как показано на рисунке ниже.

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

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

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

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

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

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

Сколько времени вам потребуется, чтобы самостоятельно составить эти выражения?  ;)

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

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

Благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!

Как быстро посчитать количество слов в Excel В статье объясняется, как подсчитывать слова в Excel с помощью функции ДЛСТР в сочетании с другими функциями Excel, а также приводятся формулы для подсчета общего количества или конкретных слов в…
Как быстро извлечь число из текста в Excel В этом кратком руководстве показано, как можно быстро извлекать число из различных текстовых выражений в Excel с помощью формул или специального инструмента «Извлечь». Проблема выделения числа из текста возникает достаточно…
Как удалить пробелы в ячейках Excel Вы узнаете, как с помощью формул удалять начальные и конечные пробелы в ячейке, лишние интервалы между словами, избавляться от неразрывных пробелов и непечатаемых символов. В чем самая большая проблема с…
Функция СЖПРОБЕЛЫ — как пользоваться и примеры Вы узнаете несколько быстрых и простых способов, чтобы удалить начальные, конечные и лишние пробелы между словами, а также почему функция Excel СЖПРОБЕЛЫ (TRIM в английской версии)  не работает и как…
Функция ПРАВСИМВ в Excel — примеры и советы. В последних нескольких статьях мы обсуждали различные текстовые функции. Сегодня наше внимание сосредоточено на ПРАВСИМВ (RIGHT в английской версии), которая предназначена для возврата указанного количества символов из крайней правой части…
Функция ЛЕВСИМВ в Excel. Примеры использования и советы. В руководстве показано, как использовать функцию ЛЕВСИМВ (LEFT) в Excel, чтобы получить подстроку из начала текстовой строки, извлечь текст перед определенным символом, заставить формулу возвращать число и многое другое. Среди…
5 примеров с функцией ДЛСТР в Excel. Вы ищете формулу Excel для подсчета символов в ячейке? Если да, то вы, безусловно, попали на нужную страницу. В этом коротком руководстве вы узнаете, как использовать функцию ДЛСТР (LEN в английской версии)…
Как быстро сосчитать количество символов в ячейке Excel В руководстве объясняется, как считать символы в Excel. Вы изучите формулы, позволяющие получить общее количество символов в диапазоне и подсчитывать только определенные символы в одной или нескольких ячейках. В нашем предыдущем…

Понравилась статья? Поделить с друзьями:
  • Excel функция содержит или нет
  • Excel функция содержит в строке
  • Excel функция смещения диапазона
  • Excel функция смещ на английском
  • Excel функция случайное число в диапазоне