Возможности !SEMTools
Примеры применения функции ПРОПНАЧ
Раздел функцийТекстовые
Название на английскомPROPER
ВолатильностьНе волатильная
Похожие функцииПРОПИСН, СТРОЧН
Схожие функции !SEMToolsИзменить регистр

Что делает эта функция?

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

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

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

Синтаксис

=ПРОПНАЧ(Текст)

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

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

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

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

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

Как сделать первое слово с заглавной буквы в Excel? Не все слова, а только первое? В этом нам и поможет функция ПРОПНАЧ, но в комбинации с другими.

Алгоритмически задача решается в несколько простых шагов:

  1. Извлекаем из исходной строки первое слово
  2. Применяем к нему функцию ПРОПНАЧ
  3. Извлекаем из исходной строки оставшуюся от первого слова часть (иными словами, нужно удалить первое слово из ячейки и посмотреть на результат).
  4. Объединяем эти два фрагмента

Первый шаг подробно описан тут в примере 1:

Извлечь первое слово из ячейки в Excel с помощью ЛЕВСИМВ

А формула для ячейки A1 будет такой:

=ЛЕВСИМВ(A1;ПОИСК(" ";A1)-1)

Вторым шагом мы применим функцию ПРОПНАЧ к этому выражению:

=ПРОПНАЧ(ЛЕВСИМВ(A1;ПОИСК(" ";A1)-1))

Третий шаг — тут:

Удалить первое слово в ячейке Excel

Здесь формула будет такой:

=ЗАМЕНИТЬ(A1;1;ПОИСК(" ";A1);" ")

Ну а четвертый шаг — объединение этих выражений — можно совершить с помощью символа амперсанда:

=ПРОПНАЧ(ЛЕВСИМВ(A1;ПОИСК(" ";A1)-1)) & ЗАМЕНИТЬ(A1;1;ПОИСК(" ";A1);" ")

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

=ЕСЛИОШИБКА(ПРОПНАЧ(ЛЕВСИМВ(A1;ПОИСК(" ";A1)-1)) & ЗАМЕНИТЬ(A1;1;ПОИСК(" ";A1);" ");ПРОПНАЧ(A1))

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

Есть ли решение этой проблемы? Да, его предлагает моя надстройка !SEMTools для Excel.

Подробнее о разных операциях и возможностях надстройки смотрите тут — изменить регистр букв в Excel.

делаем первые буквы предложений заглавными

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

Оставить комментарий

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

*