Работа с текстом в Microsoft Excel часто требует нестандартных решений — особенно когда нужно изменить порядок символов в ячейке. Переворачивание строки (реверсирование) может понадобиться для анализа данных, создания шаблонов или даже разгадывания головоломок. Но в отличие от Word или специализированных текстовых редакторов, в Excel нет встроенной кнопки "Перевернуть текст". Приходится использовать комбинацию функций, макросы или сторонние надстройки.
Многие пользователи ошибочно пытаются решить задачу через Формат ячеек → Выравнивание, но это лишь меняет визуальное отображение текста (например, поворот на 180°), не затрагивая сами символы. Чтобы физически развернуть строку (из `"привет"` сделать `"тевирп"`), нужны другие инструменты. В этой статье мы разберём 5 рабочих методов — от элементарных формул до автоматизации через VBA, — а также расскажем, как избежать типичных ошибок при работе с кириллицей и спецсимволами.
———
1. Переворот текста с помощью формулы СЦЕПИТЬ + ДЛСТР
Самый универсальный способ — использовать комбинацию функций СЦЕПИТЬ (или CONCAT в новых версиях), ДЛСТР (LEN) и ПСТР (MID). Этот метод работает во всех версиях Excel начиная с 2007 года и не требует установки надстроек.
Формула для ячейки A1:
=СЦЕПИТЬ(ПСТР($A1;ДЛСТР($A1)-СТРОКА(ДВССЫЛ("1:"&ДЛСТР($A1)))+1;1))
Как это работает:
ДЛСТР($A1)— определяет длину строки.СТРОКА(ДВССЫЛ("1:"&ДЛСТР($A1)))— создаёт массив чисел от 1 до длины строки.ПСТРизвлекает символы с конца строки по одному.СЦЕПИТЬобъединяет их в обратном порядке.
⚠️ Внимание: В Excel 2019 и Office 365 вместо СЦЕПИТЬ лучше использовать CONCAT, а вместо ДВССЫЛ — ПОСЛЕДОВАТ для ускорения вычислений.
Пример для строки `"Excel"` в ячейке A1:
| Исходный текст | Формула | Результат |
|---|---|---|
Excel | =СЦЕПИТЬ(ПСТР($A1;6-СТРОКА(ДВССЫЛ("1:5"));1)) | lecxE |
12345 | =СЦЕПИТЬ(ПСТР($A1;6-СТРОКА(ДВССЫЛ("1:5"));1)) | 54321 |
Привет! | =СЦЕПИТЬ(ПСТР($A1;7-СТРОКА(ДВССЫЛ("1:6"));1)) | !тевирП |
2. Функция ПЕРЕВЕРНУТЬ в Excel 365 (Beta)
В Microsoft Excel 365 (канал Beta) появилась экспериментальная функция TEXTREVERSE (в русской версии — ПЕРЕВЕРНУТЬ). Она упрощает задачу до одной формулы:
=ПЕРЕВЕРНУТЬ(A1)
Функция автоматически разворачивает строку, включая пробелы и спецсимволы. Например:
- 🔹
"Hello, World!"→"!dlroW ,olleH" - 🔹
"100$"→"$001" - 🔹
"Тест: 123"→"321 :тсет"
⚠️ Внимание: На момент 2026 года функция доступна только в Excel 365 для участников программы Insider. В стабильных версиях её нет — используйте альтернативные методы.
3. Макрос VBA для разворота текста
Если вам нужно перевернуть сотни строк, ручной ввод формул займёт слишком много времени. Автоматизируйте процесс с помощью VBA:
- Нажмите
Alt + F11, чтобы открыть редактор Visual Basic. - Вставьте новый модуль:
Insert → Module. - Скопируйте код:
Function ReverseText(rng As Range) As StringDim str As String, i As Integer
str = rng.Value
For i = Len(str) To 1 Step -1
ReverseText = ReverseText & Mid(str, i, 1)
Next i
End Function
- Сохраните и закройте редактор.
Теперь в любой ячейке можно использовать функцию =ReverseText(A1). Преимущества метода:
- 🔹 Работает со всеми версиями Excel (2007–2023).
- 🔹 Обрабатывает кириллицу, эмодзи и символы Unicode.
- 🔹 Можно применять к целым столбцам (например,
=ReverseText(B2:B100)).
Сохранить файл как .xlsm (с поддержкой макросов)|Включить макросы в Файл → Параметры → Центр управления безопасностью|Проверить наличие антивируса (некоторые блокируют VBA)|Сделать резервную копию данных-->
4. Разворот текста через Power Query
Power Query (вкладка Данные → Получить данные) позволяет трансформировать текст без формул. Алгоритм:
- Выделите столбец с текстом и нажмите
Данные → Из таблицы/диапазона. - В редакторе Power Query добавьте пользовательский столбец с формулой:
= Text.Reverse([Column1]) - Удалите исходный столбец и загрузите данные обратно в Excel.
Преимущество метода: обработка тысяч строк за секунды без нагрузки на процессор. Недостаток — требует Excel 2016 или новее.
Важно: Power Query не поддерживает рекурсивные функции, поэтому для вложенных структур (например, JSON в ячейке) этот метод не подойдёт.
5. Горячие клавиши и надстройки
Для частых операций удобно использовать горячие клавиши или сторонние надстройки:
- 🔹 Kutools for Excel: инструмент
Reverse Text Order(платный, но с пробным периодом). - 🔹 ASAP Utilities: бесплатная надстройка с функцией
Text → Reverse text. - 🔹 Собственное сочетание клавиш: назначьте макрос на
Ctrl+Shift+RчерезФайл → Параметры → Настройка ленты.
⚠️ Внимание: Надстройки могут конфликтовать с корпоративными политиками безопасности. Перед установкой проверьте разрешения в
1. Скачайте файл с официального сайта (не сторонних источников). 2. Проверьте цифровую подпись в свойствах файла. 3. Запустите Excel в безопасном режиме (удерживайте Центре управления безопасностью.
Как проверить совместимость надстройки?
Ctrl при запуске) и протестируйте надстройку.
Типичные ошибки и как их избежать
При развороте текста пользователи сталкиваются с несколькими распространёнными проблемами:
1. Неправильная кодировка символов
Если после разворота вместо кириллицы отображаются знаки ????, причины могут быть такими:
- 🔹 Файл сохранён в кодировке
ANSIвместоUTF-8. - 🔹 В формуле не учтены двухбайтовые символы (например, эмодзи или иероглифы).
Решение: используйте функцию =ЮНИКОДСИМВОЛ() для проверки кодировки или сохраните файл как .xlsx (не .csv).
2. Ошибка #ЗНАЧ! при пустых ячейках
Формулы с ПСТР или ДЛСТР возвращают ошибку, если ячейка пуста. Исправляйте это обёрткой ЕСЛИОШИБКА:
=ЕСЛИОШИБКА(СЦЕПИТЬ(ПСТР($A1;ДЛСТР($A1)-СТРОКА(ДВССЫЛ("1:"&ДЛСТР($A1)))+1;1));"")
3. Проблемы с регистром
Функции Excel чувствительны к регистру. Если нужно развернуть строку с сохранением заглавных букв (например, "Тест" → "тсет"), используйте комбинацию ПРОПИСН/СТРОЧН:
=СТРОЧН(ПЕРЕВЕРНУТЬ(A1))
FAQ: Частые вопросы
Можно ли развернуть текст в Excel Online?
В веб-версии Excel Online нет поддержки VBA и ограничен набор функций. Используйте формулу с СЦЕПИТЬ+ПСТР (раздел 1) или Power Query (раздел 4), если он доступен в вашей подписке.
Почему после разворота исчезли пробелы?
Проблема возникает, если в формуле не учтён символ пробела как отдельный элемент. Добавьте замену пробелов на временный символ (например, |), а после разворота верните их обратно:
=ПОДСТАВИТЬ(ПЕРЕВЕРНУТЬ(ПОДСТАВИТЬ(A1;" ";"|"));"|";" ")
Как развернуть текст в ячейке по вертикали?
Для визуального разворота (не изменения символов, а поворота отображения) используйте Формат ячеек → Выравнивание → Ориентация → 90°. Для физического разворота по строкам (каждый символ на новой строке) применяйте:
=ТЕКСТПОСТР(ПЕРЕВЕРНУТЬ(A1);СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1)
Работает ли разворот текста с эмодзи?
Да, но только через VBA или Power Query. Стандартные функции ПСТР/ДЛСТР могут неправильно обрабатывать многобайтовые символы (например, 😊 или 🚀). Для надёжности используйте макрос из раздела 3.
Как автоматизировать разворот для новых данных?
Создайте таблицу Excel (Ctrl+T), а затем добавьте столбец с формулой. Она будет автоматически применяться к новым строкам. Альтернатива — VBA-процедура с триггером на изменение листа:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Target.Offset(0, 1).Value = ReverseText(Target)
End If
End Sub