Процедура из статьи доступна в !SEMTools Lite и Pro.
Развернуть символы в ячейке Excel в обратном порядке — задача, которая звучит как шутка, пока не понадобится по-настоящему. Как перевернуть «Excel» в «lecxE», а «12345» в «54321»? Готовой функции для этого в Excel нет, но решений хватает: от одной формулы в Excel 365 до разворота целого столбца прямо на месте в пару кликов.
Если же вам нужно поменять местами не буквы, а слова, смотрите статью о том, как изменить порядок слов в ячейке.
Зачем разворачивать текст в ячейке задом наперёд
Разворот строки (в программировании его называют реверсом) — не только забава. Перевёрнутый текст бывает полезен в прикладных задачах:
- Поиск с конца строки — функции ПОИСК и НАЙТИ ищут только слева направо. Развернули строку — и последнее вхождение стало первым.
- Проверка палиндромов — слово или фраза читается одинаково в обе стороны, если совпадает со своим разворотом: «шалаш», «А роза упала на лапу Азора».
- Зеркальные номера и коды — например, чтобы найти в базе артикулы, записанные задом наперёд по ошибке.
- Учебные и игровые задачи — шифры, головоломки, тексты «справа налево».
Развернуть символы формулой в Excel 365
В Excel 365 и Excel 2021 перевернуть текст можно одной формулой. Понадобятся функции ПСТР, ДЛСТР, ПОСЛЕД и СЦЕП:
=СЦЕП(ПСТР(A1;ПОСЛЕД(ДЛСТР(A1);;ДЛСТР(A1);-1);1))
Эта формула берёт текст из A1 и собирает его символы в обратном порядке, от последнего к первому.
Как работает формула
- ДЛСТР(A1) — длина текста, например 5 для «Excel»;
- ПОСЛЕД(5;;5;-1) — последовательность номеров позиций в обратном порядке: {5;4;3;2;1};
- ПСТР(A1;{5;4;3;2;1};1) — вытаскивает по одному символу с каждой позиции, получается массив {«l»;»e»;»c»;»x»;»E»};
- СЦЕП склеивает массив в одну строку: «lecxE».
Excel 2019: функция ОБЪЕДИНИТЬ и формула массива
В Excel 2019 функции ПОСЛЕД ещё нет, поэтому позиции в обратном порядке придётся вычислить через СТРОКА и ДВССЫЛ, а склеить результат — функцией ОБЪЕДИНИТЬ:
=ОБЪЕДИНИТЬ("";ИСТИНА;ПСТР(A1;ДЛСТР(A1)-СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)))+1;1))
Важный момент — в Excel 2019 это формула массива, и вводить её нужно сочетанием Ctrl+Shift+Enter. Если нажать просто Enter, результат будет неверным.
Перевернуть текст в Excel 2010–2016: функция на VBA
В Excel 2016 и более ранних версиях нет ни СЦЕП, ни ОБЪЕДИНИТЬ, а склеить массив символов обычными функциями нельзя. Остаётся либо громоздкая цепочка из ПСТР для каждой позиции, либо собственная функция. Второе проще: в VBA есть встроенная функция StrReverse, нужно лишь сделать её доступной на листе.
- Нажмите Alt+F11, чтобы открыть редактор VBA.
- Выберите Insert → Module.
- Вставьте код ниже и закройте редактор.
Function REVERSETEXT(s As String) As String
REVERSETEXT = StrReverse(s)
End FunctionТеперь на листе работает формула:
=REVERSETEXT(A1)
Оговорюсь сразу: функция будет работать только в этой книге, а сохранить её придётся в формате .xlsm. Чтобы она была доступна во всех файлах, положите код в личную книгу макросов, но тогда вызывать её нужно с именем этой книги:
=PERSONAL.XLSB!REVERSETEXT(A1)
Развернуть символы в ячейках на месте с !SEMTools
У всех формул выше общий недостаток: результат появляется в соседнем столбце. Дальше его нужно перевести в значения, а исходный столбец удалить. Наверняка многим хотелось бы переворачивать текст сразу в исходных ячейках, без формул и макросов.
Для таких случаев в !SEMTools есть готовая процедура. Выделяем ячейки или целый столбец, на панели !SEMTools выбираем ИЗМЕНИТЬ → Ячейки → Развернуть → Символы. Вуаля! Текст во всех выделенных ячейках развёрнут в обратном порядке прямо на месте. Процедура работает в любой версии Excel, начиная с 2010.
Кстати, в том же меню есть и разворот порядка слов — если нужно, чтобы «купить чехол iphone» превратилось в «iphone чехол купить», а не в «enohpi лохеч ьтипук».
Перевёрнутый текст на практике: палиндромы и поиск с конца
Так выглядит разворот на реальных примерах:
| Исходный текст | Развёрнутый | Палиндром? |
|---|---|---|
| Excel | lecxE | ЛОЖЬ |
| шалаш | шалаш | ИСТИНА |
| А роза упала на лапу Азора | арозА упал ан алапу азор А | ИСТИНА |
| 12345 | 54321 | ЛОЖЬ |
| 4915194 | 4915194 | ИСТИНА |
Проверить, является ли фраза палиндромом
Чтобы палиндромом считалась и фраза «А роза упала на лапу Азора», перед сравнением уберём пробелы и приведём текст к нижнему регистру. В Excel 365 с функцией LET формула получится компактной:
=LET(t;СТРОЧН(ПОДСТАВИТЬ(A1;" ";""));t=СЦЕП(ПСТР(t;ПОСЛЕД(ДЛСТР(t);;ДЛСТР(t);-1);1)))
Формула очищает текст, разворачивает его и сравнивает с исходным: ИСТИНА — палиндром, ЛОЖЬ — нет. Если во фразе есть запятые или другие знаки, их тоже нужно убрать, иначе формула вернёт ЛОЖЬ.
Найти позицию последнего пробела через разворот
Классический приём: разворачиваем строку, ищем в ней пробел обычной функцией ПОИСК и пересчитываем позицию обратно:
=ДЛСТР(A1)-ПОИСК(" ";СЦЕП(ПСТР(A1;ПОСЛЕД(ДЛСТР(A1);;ДЛСТР(A1);-1);1)))+1
Для «ab cd efgh» формула вернёт 6 — позицию последнего пробела. Другие способы решить эту задачу, в том числе без разворота, разобраны в статье про поиск с конца строки в Excel.
Почему текст разворачивается неправильно — частые ошибки
- Число превратилось в текст. Формулы разворота всегда возвращают текст: «54321» выглядит как число, но не суммируется. Поставьте перед формулой два минуса (двойное отрицание, пример ниже), и результат станет числом. Учтите, что нули в начале при этом пропадут: разворот «1200» даст «0021», а число — 21.
- Даты и форматированные числа разворачиваются «странно». Excel хранит дату как число, поэтому 18.10.2026 формула развернёт как «31364» — порядковый номер дня задом наперёд. Чтобы развернуть именно то, что видно в ячейке, сначала переведите значение в текст функцией ТЕКСТ.
- Эмодзи и редкие символы ломаются. Функции Excel работают с символами в кодировке UTF-16, и эмодзи для них — это два символа. При развороте половинки меняются местами, и вместо смайлика появляются «квадратики».
- Формула показывает #ИМЯ?. Значит, в вашей версии Excel нет ПОСЛЕД или СЦЕП — используйте вариант для Excel 2019 или функцию на VBA.
Так выглядит разворот с преобразованием результата в число:
=--СЦЕП(ПСТР(A1;ПОСЛЕД(ДЛСТР(A1);;ДЛСТР(A1);-1);1))
Разворачивайте текст в ячейках в обратном порядке прямо на месте — без формул, макросов и дополнительных столбцов. Выделили столбец, нажали кнопку — готово. !SEMTools поможет решить эту и сотни других задач за пару кликов!
Итоги: какой способ разворота выбрать
Надеюсь, на этой странице вы нашли то, что искали, и смогли развернуть символы в ячейках в обратном порядке. Если у вас Excel 365, для разовой задачи хватит формулы с ПОСЛЕД. В Excel 2019 выручит ОБЪЕДИНИТЬ с формулой массива, а в более ранних версиях — функция на VBA. Для регулярной работы с массивами данных проще всего воспользоваться процедурой !SEMTools: она меняет текст прямо в исходных ячейках, без формул и чистки после них.
Вас наверняка заинтересуют и похожие операции с ячейками: добавить текст во все ячейки столбца или посмотреть все процедуры изменения ячеек в надстройке.