Как сделать все буквы заглавными в Excel: формулы, функции и хитрости

Если в вашей таблице Excel текст отображается в нижнем регистре, а вам нужно привести его к единому формату с заглавными буквами, не спешите перепечатывать данные вручную. В программе есть минимум 5 способов автоматически изменить регистр: от простых функций ПРОПИСН() до макросов VBA для массовой обработки. Проблема чаще всего возникает при импорте данных из внешних источников (баз данных, CSV-файлов или веб-страниц), где регистр может быть нестандартным. Например, фамилии "иванов с.п." или адреса "москва, ленинский проспект, 15" требуют приведения к виду "ИВАНОВ С.П." или "МОСКВА, ЛЕНИНСКИЙ ПРОСПЕКТ, 15" для корректной работы с ними в отчетах или при печати.

Важно понимать, что простое изменение регистра через форматирование ячеек (кнопка ШрифтВсе прописные) не меняет сами данные — это лишь визуальный эффект. При копировании или экспорте такой текст вернется к исходному регистру. Поэтому для постоянного преобразования нужно использовать формулы, инструмент Найти и заменить или макросы. Далее разберем каждый метод с примерами и нюансами.

1. Функция ПРОПИСН() — самый простой способ

Встроенная функция ПРОПИСН() (англ. UPPER()) преобразует все символы в текстовой строке в верхний регистр. Она работает со всеми версиями Excel, включая Excel 365, Excel 2019 и Excel Online. Синтаксис функции:

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

Где текст — это либо ссылка на ячейку (например, A1), либо текстовая строка в кавычках (например, "пример"). Пример использования:

  • 📌 Введите в ячейку B1 формулу =ПРОПИСН(A1), если исходный текст находится в A1.
  • 🔄 Растяните формулу на весь столбец, потянув за правый нижний угол ячейки.
  • 💾 Чтобы сохранить результат как значения (а не формулы), скопируйте столбец B, затем выполните Правка → Специальная вставка → Значения.

Функция игнорирует числа, знаки препинания и пробелы — преобразуются только буквенные символы. Например, строка "привет 123!" станет "ПРИВЕТ 123!".

⚠️ Внимание: Если в ячейке содержится ошибка (например, #ЗНАЧ!), функция ПРОПИСН() вернет ту же ошибку. Перед использованием проверьте данные на корректность.

2. Горячие клавиши для быстрого изменения регистра

Excel не имеет встроенных горячих клавиш для изменения регистра, но вы можете использовать комбинации через меню Шрифт или создать собственные макросы. Альтернативный способ — воспользоваться инструментом Найти и заменить с регулярными выражениями (доступно в Excel 365 и Excel 2021):

  1. Выделите диапазон ячеек с текстом.
  2. Нажмите Ctrl + H, чтобы открыть окно Найти и заменить.
  3. В поле Найти введите .* (точка и звездочка).
  4. В поле Заменить на введите =ПРОПИСН($A1), где A1 — первая ячейка выделенного диапазона.
  5. Нажмите Заменить все.

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

📊 Как часто вам приходится менять регистр текста в Excel?
Каждую неделю
Раз в месяц
Редко
Никогда

3. Инструмент "Текст по столбцам" для сложных случаев

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

  1. Выделите столбец с данными.
  2. Перейдите на вкладку ДанныеТекст по столбцам.
  3. Выберите С разделителямиДалее.
  4. Укажите разделитель (например, пробел или запятую) → Далее.
  5. На шаге Формат данных столбца выберите каждый столбец и отметьте Текст.
  6. Нажмите Готово.

После этого примените функцию ПРОПИСН() к каждому полученному столбцу и объедините данные обратно с помощью функции СЦЕПИТЬ() или CONCAT().

Исходный текст Формула Результат
"москва, ул. ленина, 5" =ПРОПИСН(A1) "МОСКВА, УЛ. ЛЕНИНА, 5"
"иванов с.п." =ПРОПИСН(A2) "ИВАНОВ С.П."
"email@example.com" =ПРОПИСН(A3) "EMAIL@EXAMPLE.COM"

4. Макросы VBA для массовой обработки

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

Sub MakeUpperCase()

Dim cell As Range

For Each cell In Selection

If Not IsEmpty(cell) Then

cell.Value = UCase(cell.Value)

End If

Next cell

End Sub

Как использовать:

  • 🔧 Нажмите Alt + F11, чтобы открыть редактор VBA.
  • 📄 Вставьте код в новый модуль (Insert → Module).
  • 🖱️ Выделите ячейки в Excel и запустите макрос через View → Macros (или нажмите Alt + F8).

Макрос работает быстрее, чем формулы, и изменяет сами данные, а не их отображение. Однако будьте осторожны: после выполнения макроса отменить изменения можно только через Ctrl + Z до закрытия файла.

Выделите только те ячейки, которые нужно преобразовать

Сохраните файл с расширением .xlsm (включает поддержку макросов)

Проверьте, что в настройках Excel разрешено выполнение макросов (Файл → Параметры → Центр управления безопасностью)

Создайте резервную копию данных на случай ошибки-->

⚠️ Внимание: Макросы могут быть заблокированы антивирусом или политиками безопасности компании. Если макрос не запускается, проверьте настройки Центра управления безопасностью в Excel.

5. Power Query для сложных преобразований

Если вы работаете с большими наборами данных (например, импортируете из SQL или CSV), используйте Power Query (доступен в Excel 2016 и новее):

  1. Выделите диапазон данных и нажмите Данные → Из таблицы/диапазона.
  2. В открывшемся редакторе Power Query выберите столбец с текстом.
  3. Перейдите на вкладку ПреобразованиеФорматВЕРХНИЙ РЕГИСТР.
  4. Нажмите Закрыть и загрузить, чтобы вернуть данные в Excel.

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

6. Ошибки и решения при изменении регистра

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

  • 🔍 Функция не работает: Проверьте, что ячейка содержит текст, а не число или ошибку. Используйте ЕТЕКСТ() для проверки: =ЕТЕКСТ(A1) вернет ИСТИНА, если в ячейке текст.
  • 🔄 Регистр меняется обратно: Убедитесь, что вы заменили формулы на значения (копирование → специальная вставка).
  • 📵 Макрос не запускается: Включите поддержку макросов в настройках Excel или сохраните файл в формате .xlsm.

Если после преобразования текст отображается странными символами (например, "Яоля" вместо "ПОЛЯ"), проблема в кодировке. Попробуйте:

  • 🔤 Изменить шрифт на Arial или Calibri.
  • 📋 Сохранить файл в формате .csv, затем открыть его заново в Excel.
Почему функция ПРОПНАЧ() не подходит для преобразования в верхний регистр?

Функция ПРОПНАЧ() (англ. PROPER()) делает заглавной только первую букву каждого слова (например, "иванов сергей" → "Иванов Сергей"), но не преобразует весь текст в верхний регистр. Она полезна для имен собственных, но не для адресов или кодов, где требуются только заглавные буквы.

Сравнение методов: какой выбрать?

Метод Скорость Сложность Подходит для Меняет данные?
ПРОПИСН() Средняя Низкая Небольших таблиц Нет (нужно копировать значения)
Макрос VBA Высокая Средняя Больших объемов данных Да
Power Query Высокая Высокая Импортированных данных Да
Найти и заменить Низкая Низкая Единичных исправлений Да

Для разовых задач подойдет функция ПРОПИСН() или инструмент Найти и заменить. Если вы регулярно работаете с большими таблицами, освойте Power Query или VBA — это сэкономит часы времени.

FAQ: Частые вопросы

Можно ли сделать заглавными только первые буквы слов?

Да, для этого используйте функцию ПРОПНАЧ() (англ. PROPER()). Например, =ПРОПНАЧ("иванов сергей") вернет "Иванов Сергей".

Почему после применения ПРОПИСН() в ячейке отображается формула, а не текст?

Вы забыли заменить формулы на значения. Выделите ячейки с формулами, скопируйте их (Ctrl + C), затем выполните Правка → Специальная вставка → Значения.

Как вернуть текст в нижний регистр?

Используйте функцию СТРОЧН() (англ. LOWER()). Например, =СТРОЧН("ПРИВЕТ") вернет "привет".

Можно ли изменить регистр в защищенной ячейке?

Нет, если ячейка защищена от изменений. Сначала снимите защиту: Рецензирование → Снять защиту листа (потребуется пароль, если он установлен).

Как преобразовать регистр в Google Таблицах?

В Google Sheets используйте ту же функцию =UPPER(A1). Также доступны =LOWER() для нижнего регистра и =PROPER() для заглавных букв в каждом слове.