Работа с текстом в Microsoft Excel часто требует нестандартных решений — особенно когда нужно изменить направление или порядок символов. Переворачивание текста может понадобиться для создания зеркальных надписей, корректировки данных из внешних источников или даже для шифрования информации. В отличие от Word или графических редакторов, где текст можно повернуть одним кликом, в Excel для этого придётся использовать формулы, макросы или специальные надстройки.
В этой статье мы разберём 5 рабочих способов перевернуть текст в Excel — от простого изменения ориентации ячейки до полного реверсирования символов с помощью VBA. Вы узнаете, как:
- 🔄 Повернуть текст на 90° или 270° для вертикального отображения
- 🔙 Развернуть строку задом наперёд (из "Привет" сделать "тевирП")
- 🔀 Инвертировать порядок слов в ячейке (из "Иванов Петр" → "Петр Иванов")
- 🖼️ Создать зеркальное отображение (для печати наклеек или трафаретов)
- 📊 Автоматизировать процесс для тысяч строк с помощью макросов
Все методы протестированы в Excel 2013–2023 и Microsoft 365, включая веб-версию. Если вы работаете с большими массивами данных, обратите внимание на раздел про производительность — некоторые формулы могут значительно замедлить файл.
1. Поворот текста в ячейке: вертикальное и диагональное отображение
Самый простой способ изменить ориентацию текста — использовать встроенные инструменты форматирования. Это не меняет сам текст, а лишь визуально поворачивает его внутри ячейки.
Как это сделать:
- Выделите ячейку или диапазон с текстом.
- Перейдите на вкладку
Главная→ группаВыравнивание. - Нажмите кнопку
Ориентация(значок с буквами под углом). - Выберите один из вариантов:
- 🔺
Повернуть текст вверх(90° против часовой стрелки) - 🔻
Повернуть текст вниз(90° по часовой стрелке) - 🔲
Вертикальный текст(сверху вниз) - 🔼
Наклонный текст вверх/вниз(45°)
- 🔺
Для точной настройки угла поворота:
- Нажмите
Формат ячеек(Ctrl+1). - Перейдите на вкладку
Выравнивание. - В поле
Ориентациязадайте угол вручную (от-90°до90°).
⚠️ Внимание: Повёрнутый текст может усложнить чтение данных при большом объёме. Используйте этот метод только для заголовков или небольших блоков.
2. Как развернуть строку задом наперёд (реверсивный порядок символов)
Если вам нужно полностью перевернуть текст (например, из "Excel" сделать "lecxE"), стандартных функций Excel будет недостаточно. Здесь поможет комбинация формул или VBA.
Способ 1: Формула с функцией СЦЕПИТЬ и ПСТР
Эта формула последовательно извлекает символы с конца строки и собирает их в обратном порядке:
=СЦЕПИТЬ(ПСТР(A1;ДЛСТР(A1);1);ПСТР(A1;ДЛСТР(A1)-1;1);...)
Для строк длиной до 255 символов используйте универсальную формулу:
=ПОДСТАВИТЬ(СЦЕПИТЬ(КОДСИМВ(ПСТР($A1;ДЛСТР($A1)-СТРОКА(ДВССЫЛ("1:"&ДЛСТР($A1)))+1;1));"");1;СИМВОЛ(ПОДСТАВИТЬ(ЛЕВСИМВ(ПОДСТАВИТЬ(ПСТР($A1;ДЛСТР($A1)-СТРОКА(ДВССЫЛ("1:"&ДЛСТР($A1)))+1;1);1);"");1;КОДСИМВ(ПСТР($A1;ДЛСТР($A1)-СТРОКА(ДВССЫЛ("1:"&ДЛСТР($A1)))+1;1))))))
Эту формулу нужно вводить как формулу массива (в старых версиях Excel — Ctrl+Shift+Enter).
Способ 2: Пользовательская функция на VBA
Для частых операций создайте собственную функцию:
- Нажмите
Alt+F11, чтобы открыть редактор VBA. - Вставьте новый модуль:
Insert → Module. - Скопируйте этот код:
Function REVERSE_TEXT(rng As Range) As StringDim str As String, i As Integer, reversed As String
str = rng.Value
For i = Len(str) To 1 Step -1
reversed = reversed & Mid(str, i, 1)
Next i
REVERSE_TEXT = reversed
End Function
- Закройте редактор и используйте функцию в Excel как
=REVERSE_TEXT(A1).
☑️ Подготовка к использованию VBA
| Метод | Макс. длина строки | Скорость | Требует VBA |
|---|---|---|---|
| Формула массива | 255 символов | Медленно | Нет |
| Пользовательская функция | 32767 символов | Быстро | Да |
| Надстройка Power Query | Неограничено | Средне | Нет |
3. Переворот порядка слов в ячейке
Если текст содержит несколько слов (например, ФИО "Иванов Петр Сидорович"), и нужно поменять их местами ("Сидорович Петр Иванов"), используйте комбинацию функций ПСТР, НАЙТИ и ПОДСТАВИТЬ.
Универсальная формула для 3 слов:
=ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(" ";A1;НАЙТИ(" ";A1)+1)) & " " & ПСТР(A1;НАЙТИ(" ";A1)+1;НАЙТИ(" ";A1;НАЙТИ(" ";A1)+1)-НАЙТИ(" ";A1)-1) & " " & ЛЕВСИМВ(A1;НАЙТИ(" ";A1)-1)
Для произвольного количества слов подойдёт VBA-функция:
Function REVERSE_WORDS(rng As Range) As String
Dim words() As String, i As Integer
words = Split(rng.Value, " ")
For i = LBound(words) To UBound(words)
REVERSE_WORDS = words(i) & " " & REVERSE_WORDS
Next i
REVERSE_WORDS = Trim(REVERSE_WORDS)
End Function
Как обработать текст с запятыми или другими разделителями?
Замените в функции Split(rng.Value, " ") пробел на нужный разделитель, например Split(rng.Value, ",") для списков через запятую.
4. Зеркальное отображение текста (для печати)
Для создания наклеек, трафаретов или других материалов, где нужен зеркальный текст, используйте один из этих методов:
Метод 1: Форматирование ячейки
- Выделите ячейку с текстом.
- Нажмите
Ctrl+1→ вкладкаШрифт. - В разделе
Видоизменениепоставьте галочкузеркальный(доступно не во всех версиях Excel).
Метод 2: Использование WordArt
- Перейдите на вкладку
Вставка→WordArt. - Введите текст и настройте шрифт.
- Выделите объект, перейдите на вкладку
Формат→Повернуть→Отразить по горизонтали.
⚠️ Внимание: Зеркальный текст в Excel может некорректно отображаться при экспорте в PDF. Перед печатью проверяйте результат в режиме предварительного просмотра (Файл → Печать).
5. Автоматизация: макрос для переворота текста в выделенном диапазоне
Если нужно перевернуть текст во всем выделенном диапазоне, используйте этот макрос:
Sub ReverseAllSelectedText()
Dim rng As Range, cell As Range
Set rng = Selection
For Each cell In rng
If cell.HasFormula = False Then
cell.Value = StrReverse(cell.Value)
End If
Next cell
End Sub
Как запустить:
- Выделите диапазон с текстом.
- Нажмите
Alt+F8, выберите макросReverseAllSelectedText. - Нажмите
Выполнить.
6. Переворот текста в Power Query (для больших данных)
Если вы работаете с тысячами строк, оптимально использовать Power Query:
- Выделите данные →
Данные → Из таблицы/диапазона. - В редакторе Power Query добавьте пользовательский столбец со формулой:
= Text.Reverse([Column1]) - Удалите оригинальный столбец и загрузите данные обратно в Excel.
- 🚀 Обрабатывает миллионы строк без замедления
- 🔄 Можно интегрировать в автоматическое обновление данных
- 📊 Сохраняет исходный формат ячеек
Преимущества метода:
7. Распространённые ошибки и как их избежать
При переворачивании текста в Excel пользователи часто сталкиваются с этими проблемами:
| Ошибка | Причина | Решение |
|---|---|---|
#ЗНАЧ! в формуле |
Ячейка содержит ошибку или не текст | Используйте ЕСЛИОШИБКА или проверьте данные |
| Текст обрезается при повороте | Не хватает места в ячейке | Увеличьте высоту строки или ширину столбца |
| Макрос не работает | Отключена поддержка макросов | Сохраните файл как .xlsm и включите макросы |
Единственный способ перевернуть текст с сохранением форматирования (цвет, шрифт, размер) — использовать VBA или Power Query. Стандартные формулы Excel возвращают только неформатированный текст.
Часто задаваемые вопросы
Можно ли перевернуть текст в Excel Online?
В веб-версии Excel доступны только базовые функции поворота текста (через Главная → Ориентация). Для реверсирования символов или слов потребуется Excel для Windows/Mac с поддержкой макросов или Power Query.
Как перевернуть текст в ячейке с сохранением переносов строк?
Используйте VBA-функцию с учётом символа переноса (Chr(10)):
Function REVERSE_WITH_LF(rng As Range) As String
Dim lines() As String, i As Integer, reversed As String
lines = Split(rng.Value, Chr(10))
For i = UBound(lines) To LBound(lines) Step -1
reversed = reversed & StrReverse(lines(i)) & Chr(10)
Next i
REVERSE_WITH_LF = Left(reversed, Len(reversed) - 1)
End Function
Почему после поворота текста на 90° он становится нечитаемым?
Это связано с настройками шрифта. Попробуйте:
- Уменьшить кегль шрифта
- Использовать моноширинные шрифты (например,
Consolas) - Увеличить высоту строки в 2–3 раза
Как перевернуть текст в диапазоне, не теряя формулы?
Скопируйте диапазон → Вставить значения (Ctrl+Alt+V → Значения) → запустите макрос для переворота. Или используйте Power Query, который не затрагивает формулы в исходных данных.
Есть ли надстройки для переворота текста?
Да, например:
- Kutools for Excel (функция
Reverse Text Order) - Ablebits (инструмент
Text Reverse) - ASAP Utilities (раздел
Text → Reverse text)
Эти надстройки предлагают дополнительные опции, например, переворот только выделенных символов или игнорирование пробелов.