
Раздел функций | Текстовые |
Название на английском | PROPER |
Волатильность | Не волатильная |
Похожие функции | ПРОПИСН, СТРОЧН |
Схожие функции !SEMTools | Изменить регистр |
Что делает эта функция?
Эта функция преобразует первую букву каждого слова в верхний регистр, а все последующие буквы – в нижний.
Исходный регистр букв при этом не имеет значения и не учитывается.
Разделителем слов считается любой символ, не являющийся буквой, т.е. это может быть не только пробел, но любой знак препинания, цифра или специальный символ.
Синтаксис
=ПРОПНАЧ(Текст)
Форматирование
Как и все текстовые функции, функция превращает числовые значения в строковый формат числа. Дата и дата-время при этом станут натуральными числами в текстовом формате, проценты будут переведены в десятичную дробь, а финансовые значения потеряют как единицу измерения, так и характерное форматирование.
Это нужно учитывать, если при обработке больших массивов данных в ячейках помимо текстовых значений могут быть числовые.

Строковый формат на выходе легко распознается – результат применения функции в ячейке имеет выравнивание по левому краю, в отличие от чисел, которые имеют выравнивание по правому.
Пример применения. Делаем первое слово в ячейке с заглавной буквы
Как сделать первое слово с заглавной буквы в Excel? Не все слова, а только первое? В этом нам и поможет функция ПРОПНАЧ, но в комбинации с другими.
Алгоритмически задача решается в несколько простых шагов:
- Извлекаем из исходной строки первое слово
- Применяем к нему функцию ПРОПНАЧ
- Извлекаем из исходной строки оставшуюся от первого слова часть (иными словами, нужно удалить первое слово из ячейки и посмотреть на результат).
- Объединяем эти два фрагмента
Первый шаг подробно описан тут в примере 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))
Идеальна ли эта формула для всех случаев? К сожалению, нет, т.к. ей присуща нехорошая особенность функции ПРОПНАЧ. Она изменяет регистр невзирая на исходный.
Например, если первое слово является аббревиатурой и все буквы в нем заглавные, функция изменит в аббревиатуре регистр всех букв, кроме первой, на нижний.
Есть ли решение этой проблемы? Да, его предлагает моя надстройка.
Подробнее о том, как изменить регистр символов и получить желаемый результат: изменить регистр в Excel.

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