Быстрая смена регистра текста в Excel
Чтобы изменить регистр текста в Excel (сделать все буквы заглавными, строчными или написать каждое слово с большой буквы), используйте встроенные функции: ВЕРХРЕГ (все заглавные), НИЖРЕГ (все строчные) и ПРОПЕР (первая буква каждого слова заглавная). Введите формулу в соседнюю ячейку, например =ВЕРХРЕГ(A1), протяните её на весь столбец, а затем замените формулы на значения через «Специальную вставку». Это самый быстрый способ обработать списки имен, адресов или email без ручного редактирования.
Основные функции для работы с регистром
В русском интерфейсе Excel используются три ключевые функции. Они работают во всех современных версиях (2016, 2019, 2021, 365).
1. ВЕРХРЕГ (UPPER) — всё в верхний регистр
Превращает весь текст в заглавные буквы. Идеально для кодов товаров, акронимов или стандартизации ввода.
Синтаксис: =ВЕРХРЕГ(ячейка)
| Исходный текст | Формула | Результат |
|---|---|---|
| иван петров | =ВЕРХРЕГ(A2) | ИВАН ПЕТРОВ |
| г. москва | =ВЕРХРЕГ(A3) | Г. МОСКВА |
2. НИЖРЕГ (LOWER) — всё в нижний регистр
Делает все буквы строчными. Полезно при подготовке данных для поиска, очистки email-адресов или приведения URL к единому виду.
Синтаксис: =НИЖРЕГ(ячейка)
| Исходный текст | Формула | Результат |
|---|---|---|
| [email protected] | =НИЖРЕГ(A2) | [email protected] |
| HTTP://SITE.COM | =НИЖРЕГ(A3) | http://site.com |
3. ПРОПЕР (PROPER) — первая буква заглавная
Делает первую букву каждого слова заглавной, а остальные — строчными. Подходит для имен собственных, названий улиц и должностей.
Синтаксис: =ПРОПЕР(ячейка)
| Исходный текст | Формула | Результат |
|---|---|---|
| иВАН иВАНОВ | =ПРОПЕР(A2) | Иван Иванов |
| ул. лЕНИНА | =ПРОПЕР(A3) | Ул. Ленина |
Функция ПРОПЕР работает автоматически и может испортить аббревиатуры или названия с дефисами. Например, "ооо ромашка" станет "Ооо Ромашка", а "санкт-петербург" превратится в "Санкт-Петербург" (что верно), но "ай-фон" может стать "Ай-Фон". Проверяйте результаты внимательно.
Пошаговый алгоритм замены текста
Просто ввести формулу недостаточно, так как в ячейке останется ссылка на исходные данные. Чтобы получить чистый текст, выполните следующие действия:
- Создайте вспомогательный столбец. Вставьте пустой столбец рядом с данными, которые нужно исправить.
- Введите формулу. В первой ячейке нового столбца напишите нужную функцию (например,
=ВЕРХРЕГ(A2)). - Протяните формулу. Наведите курсор на правый нижний угол ячейки с формулой (появится черный крестик) и дважды кликните или протяните вниз до конца списка.
- Замените формулы на значения.
- Выделите весь новый столбец с результатами.
- Нажмите Ctrl+C (Копировать).
- Не снимая выделения, нажмите правой кнопкой мыши и выберите «Специальная вставка» (или нажмите
Ctrl+Alt+V). - Выберите пункт «Значения» (иконка с цифрами 123) и нажмите ОК.
- Удалите исходный столбец. Теперь у вас есть статичный текст с правильным регистром, и старый столбец можно удалить.
Если нужно изменить регистр прямо в исходных ячейках без создания нового столбца, используйте надстройку Power Query (см. ниже) или простой макрос VBA. Формулы нельзя вставить «поверх» самих себя.
Альтернативные способы: Power Query и Макросы
Если вы работаете с большими объемами данных или процесс нужно автоматизировать, стандартных формул может быть недостаточно.
Использование Power Query (для постоянных отчетов)
Этот метод удобен, если данные регулярно обновляются.
- Выделите таблицу и перейдите на вкладку Данные → Из таблицы/диапазона.
- В редакторе Power Query выделите нужный столбец.
- Перейдите на вкладку Преобразование → Формат → выберите Заглавные, Строчные или Регистр слов.
- Нажмите Закрыть и загрузить. Данные вернутся в Excel уже преобразованными. При добавлении новых строк достаточно нажать кнопку «Обновить».
Макрос VBA для мгновенной смены
Для разовой быстрой обработки выделенного диапазона без лишних столбцов можно использовать макрос.
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - В меню выберите Insert → Module.
- Вставьте следующий код:
Sub ChangeCaseSelection()
Dim cell As Range
' Менять тип функции здесь: UCase (ВЕРХРЕГ), LCase (НИЖРЕГ), StrConv(..., vbProperCase)
For Each cell In Selection
If Not cell.HasFormula Then
cell.Value = UCase(cell.Value) ' Заменяет на ВЕРХРЕГ
End If
Next cell
End Sub
- Закройте редактор, выделите нужные ячейки в Excel, нажмите
Alt + F8, выберитеChangeCaseSelectionи нажмите Выполнить.
Файл с макросами необходимо сохранять в формате .xlsm (Книга Excel с поддержкой макросов), иначе код будет удален при закрытии.
Частые ошибки и решения
| Проблема | Причина | Решение |
|---|---|---|
| Формула возвращает ошибку #ИМЯ? | Использовано английское название функции (UPPER) в русской версии Excel. | Замените UPPER на ВЕРХРЕГ. |
| Текст не меняется после копирования | Вставлена формула, а не значение. | Используйте «Специальную вставку» → «Значения». |
| ПРОПЕР портит аббревиатуры | Алгоритм функции делает заглавной каждую букву после пробела. | Исправьте вручную или используйте формулу с заменой конкретных слов. |
| Изменился только часть текста | В ячейке есть пробелы в начале или конце. | Используйте функцию =СЖПРОБЕЛЫ(ВЕРХРЕГ(A1)) для очистки. |
FAQ
Можно ли изменить регистр с помощью «Найти и заменить»? Нет, стандартный инструмент «Найти и заменить» (Ctrl+H) в Excel не умеет менять регистр букв. Для этого обязательно нужны формулы, Power Query или макросы.
Как сделать первую букву предложения заглавной, а остальные строчными?
Встроенной функции для этого нет. Потребуется сложная формула: =ВЕРХРЕГ(ЛЕВСИМВ(A1;1)) & НИЖРЕГ(ПСТР(A1;2;ДЛСТР(A1)-1)). Она берет первый символ, делает его заглавным, и соединяет с остальной частью текста, переведенной в нижний регистр.
Работают ли эти функции с цифрами и символами? Да, функции обрабатывают весь текст в ячейке. Цифры, знаки препинания и спецсимволы остаются без изменений, меняются только буквы.