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

Как выделить N-е слово, фрагмент текста между символами, число из текстовой строки, фамилию, имя, отчество и многое другое.

Описание

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

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

Важно: 

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

  • Функция ПСТР предназначена для языков с однобайтовой кодировкой, а ПСТРБ — для языков с двухбайтовой кодировкой. Язык по умолчанию, заданный на компьютере, влияет на возвращаемое значение следующим образом.

  • Функция ПСТР всегда считает каждый символ (одно- или двухбайтовый) за один вне зависимости от языка по умолчанию.

  • Функция ПСТРБ считает каждый двухбайтовый символ за два, если включена поддержка ввода на языке с двухбайтовой кодировкой, а затем этот язык назначен языком по умолчанию. В противном случае функция ПСТРБ считает каждый символ за один.

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

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

Возвращает часть строки из текста.

2) ЕСЛИ

Функция ЕСЛИ выполняет проверку заданных условий, выбирая один из двух возможных результатов: 1) Если сравнение истинно; 2) Если сравнение ложно.

Синтаксис

Формула функции состоит из трех аргументов и выглядит следующим образом:

=ЕСЛИ(логическое_выражение;«значение_если_истина»;«значение_если_ложь»), где:

  • «логическое выражение» – формула;
  • «значение если истина» – значение, при котором логическое выражение выполняется;
  • «значение если ложь» – значение, при котором логическое выражение не выполняется.

Примеры

Рассмотрим пример использования обычной функции ЕСЛИ.

Выполнение плана продаж здесь обусловлено наличием суммы выручки больше 30000 рублей

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

=ЕСЛИ(B2>30000;«План выполнен»;«План не выполнен»)

Логическое выражение здесь – формула «B2>30000».

«Значение если истина» – «План выполнен».

«Значение если ложь» – «План не выполнен».

Вложенные функции ЕСЛИ

Помимо обычной функции ЕСЛИ, которая выдает всего 2 результата – «истина» и «ложь», существуют вложенные функции ЕСЛИ, выдающие от 3 до 64 результатов. В данном случае формула может вмещать в себя несколько функций.

В этом примере одна функция вложена в другую и всего внесено 3 результата

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

Существует еще один способ использования функции ЕСЛИ – для проверки, пуста ячейка или нет. Для этого ее можно использовать вместе с функцией ЕПУСТО.

В этом случае формула будет такой: =ЕСЛИ(ЕПУСТО(номер ячейки);«Пустая»;«Не пустая».

Вот простой пример совмещения 2 функций, позволяющего выявить верный результат

Вместо функции ЕПУСТО также можно использовать другую формулу: «номер ячейки=«» (ничего).

Формула в данном примере очень проста и не требует добавления других функций

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

Функция ЕСЛИ является основой других формул: СУММЕСЛИ, СЧЁТЕСЛИ, ЕСЛИОШИБКА, СРЕСЛИ. Мы рассмотрим три из них – СУММЕСЛИ, СЧЁТЕСЛИ и ЕСЛИОШИБКА.

Синтаксис

=ПРАВСИМВ(ИсходныйТекст,КоличествоСимволов)

Синтаксис

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

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

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

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

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

    • Если start_num больше, чем длина текста, то для ПМС и ПБ возвращается “” (пустой текст).

    • Если start_num меньше, чем длина текста, но start_num плюс num_chars превышает длину текста, то mid/MIDB возвращает символы до конца текста.

    • Если start_num меньше 1, то mid/MIDB возвращает #VALUE! значение ошибки #ЗНАЧ!.

  • Число_знаков    Требуется для mid. Указывает, сколько знаков должна вернуть функция ПСТР.

    • Если значение “число_знаков” отрицательно, функция ПСТР возвращает значение ошибки #ЗНАЧ!.

  • Число_байтов    Требуется для midB. Указывает, сколько знаков должна вернуть функция ПСТРБ (в пересчете на байты).

    • Если значение “число_байтов” отрицательно, функция ПСТРБ возвращает значение ошибки #ЗНАЧ!.

Функция НАЙТИ

Возвращает число, являющееся вхождением первого символа подстроки, искомого текста. Если текст не найден, то возвращается ошибка «#ЗНАЧ!».

Синтаксис: =НАЙТИ(искомый_текст; текст_для_поиска; [нач_позиция])

Определения аргументов:

  • искомый_текст – строка, которую необходимо найти;
  • текст_для_поиска – текст, в котором осуществляется поиск первого аргумента;
  • нач_позиция – необязательный элемент. Принимает целое число, которое указывает, с какого символа текст_для_поиска необходимо начинать просмотр. По умолчанию принимает значение 1.

Пример использования:

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

Пример функции НАЙТИ

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

Аналогично ЛЕВСИМВ и ПРАВСИМВ.

Как получить 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))))

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

8) ПРОПИСН

Функция ПРОПИСН делает все буквы в тексте прописными.

Синтаксис

Формула функции:

=ПРОПИСН(текст)

«Текст» здесь – текстовый элемент или ссылка на ячейку.

Пример

Строчные буквы преобразовались в прописные в мгновение ока

Распространенные ошибки в использовании функции ПСТР

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

  1. Нельзя писать в качестве аргумента этой функции отрицательное значение. В таком случае будет выдана ошибка #ЗНАЧ.
  2. Важно следить, чтобы начальная позиция не была большим числом, чем длина искомой строки. В ином случае будет выдано пустое значение.

Примеры использования

Пример 1

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

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

Пример 2

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

ПСТР - извлекаем слово по паттернуИзвлекаем слова, содержащие определенный паттерн, с помощью функции ПСТР

Дополнительные материалы

Разделение текста в ячейке с помощью функций ПСТР и ПОИСК.

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

Функция ПСТР в Excel

Еще больше полезных приемов в работе со списками данных и функциями в Excel вы узнаете в практическом курсе “От новичка до мастера Excel“. Успей зарегистрироваться по ссылке!

14) ПЕЧСИМВ

Функция ПЕЧСИМВ позволяет удалить все непечатаемые знаки из текста.

Синтаксис

Формула данной функции:

=ПЕЧСИМВ(текст)

Пример

В приведенном примере текст в ячейке A1 содержит непечатаемые знаки конца абзаца.

Функция ПЕЧСИМВ убрала все ненужные символы

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

Рейтинг
( 1 оценка, среднее 5 из 5 )
Загрузка ...