© Сорокин Б.Б. 2016 г.

Первая прописная буква в тексте

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

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

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

Ни одна из этих функций для решения нашей задачи не подходит. Видимо сказалось то, что Excel писали люди американского Била, а на русского Ивана, придется опять все изобретать самому.

И так, имеем текст состоящий только из строчных (малых) букв. Необходимо выделить первую букву текста, сделать ее прописной. Далее надо выделить все остальные буквы текста и присоединить их к первой прописной букве. Получилось вот так.

первая прописная буква в тексте

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

формула

Здесь функция ЛЕВСИМВ(B2;1) выделяет первый символ текста, затем функция ПРОПИСН(ЛЕВСИМВ(B2;1)) делает его прописным. Функция ПРАВСИМВ(B2;ДЛСТР(B2)-1) выделяет все правые символы, кроме последнего (или первого), если считать слева направо. Количество выделяемых символов определяется по длинне текста минус 1 символ (самый первый), это выполняется с помощью функции ДЛСТР(B2)-1. На заключительном этапе прописной первый символ соединяется с остальным текстом функцией СЦЕПИТЬ().

Понятно, что возможен и обратный вариант преобразования первой буквы текста из прописной в строчную, надо только поменять функцию ПРОПИСН(ЛЕВСИМВ(B2;1)) на СТРОЧН(ЛЕВСИМВ(B2;1))

первая строчная буква в тексте формула

Однако, шестое чувство подсказывает мне, что обратное преобразование можно сделать еще проще т.к. об этом уже позаботился большой Билл. Надо просто прямо по назначению использовать функцию СТРОЧН(), которая делает все буквы в тексте строчными в том числе и первую.

все буквы строчные
=СТРОЧН(B2)

Вот и вся придумка. Буду благодарен, если кто-нибудь поделится другими вариантами или разовьет эту тему.