Как перевернуть число в Excel: от зеркального отображения до полного разворота цифр

Почему стандартные функции Excel не умеют переворачивать числа — и что с этим делать

Вы когда-нибудь пытались ввести в ячейку число 12345, а получить 54321 — и обнаруживали, что Excel упорно игнорирует ваши попытки? Дело в том, что в стандартном наборе функций программы просто нет инструмента для разворота чисел как таковых. Все потому, что Excel воспринимает цифры как математическую сущность, а не как текстовый набор символов. Но это не значит, что задача нерешаема!

Сегодня мы разберем 5 работающих методов — от элементарных формул до автоматизации через VBA. Вы узнаете, как перевернуть:

  • 🔢 Целые числа (например, 789987)
  • 📊 Числа с десятичными разрядами (12.3443.21)
  • 🔄 Диапазоны ячеек (массовый разворот)
  • 📱 Данные в Excel Online (ограничения и обходные пути)

Важно: методы работают во всех актуальных версиях программы (2010–2023), но некоторые функции (например, TEXTJOIN) требуют Excel 2016 или новее. Для старых версий мы привели альтернативные решения.

📊 Какой версии Excel вы пользуетесь?
2010-2013
2016-2019
2021-2023
Excel Online
Другой

Способ 1: Преобразование числа в текст + функция СЖПРОБЕЛЫ

Самый простой метод — сначала превратить число в текст, а затем развернуть его как строку. Для этого используем комбинацию функций ТЕКСТ (или TEXT в английской версии) и СЖПРОБЕЛЫ с ручным разделением символов.

Формула для ячейки A1 с числом 1234:

=СЖПРОБЕЛЫ(ПСТР(ТЕКСТ(A1);4;1)&ПСТР(ТЕКСТ(A1);3;1)&ПСТР(ТЕКСТ(A1);2;1)&ПСТР(ТЕКСТ(A1);1;1))

Как это работает:

  1. ТЕКСТ(A1) — преобразует число в текстовую строку.
  2. ПСТР — извлекает каждый символ по отдельности (с 4-го по 1-й).
  3. СЖПРОБЕЛЫ — убирает пробелы, если они вдруг появились.
⚠️ Внимание: Этот метод требует ручного указания позиции каждого символа. Для чисел с переменной длиной (например, от 1 до 1000) придется создавать вложенные условия ЕСЛИ или использовать VBA.

Преобразуйте число в текст (функция ТЕКСТ)

Определите длину числа (функция ДЛСТР)

Извлеките символы в обратном порядке (функция ПСТР)

Объедините символы и удалите пробелы (СЖПРОБЕЛЫ)

-->

Способ 2: Функция ТЕКСТРАЗД для современных версий Excel

В Excel 2016 и новее появилась полезная функция ТЕКСТРАЗД (TEXTJOIN), которая упрощает разворот чисел. Она позволяет объединять текстовые элементы с любым разделителем — в нашем случае разделитель не нужен ("").

Формула для числа в ячейке A1:

=ТЕКСТРАЗД(СРЗНАЧ(ЕСЛИОШИБКА(ПСТР($A1;СТРОКА(D1:D10);1);""));;ИСТИНА)

Разбор формулы:

  • 🔹 СТРОКА(D1:D10) — создает массив чисел от 1 до 10 (максимальная длина числа).
  • 🔹 ПСТР($A1;...;1) — извлекает каждый символ по порядку.
  • 🔹 ЕСЛИОШИБКА — игнорирует ошибки, если длина числа меньше 10.
  • 🔹 ТЕКСТРАЗД(...,,"",ИСТИНА) — объединяет символы без разделителя.

Этот метод автоматически адаптируется под длину числа, но требует Excel 2016+. Для старых версий используйте VBA (способ 4).

Способ 3: Разворот с сохранением формата (для чисел с разделителями)

Если ваше число содержит точки, запятые или пробелы (например, 1 234,56), простой разворот символов даст некорректный результат (65,432 1). Чтобы сохранить формат, нужно:

  1. Удалить все разделители.
  2. Развернуть "чистые" цифры.
  3. Вернуть разделители на новые позиции.

Пример формулы для числа 1 234,56 в ячейке A1:

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;",";"");" ";"");6;1)&ПСТР(ПОДСТАВИТЬ(A1;",";"");5;1)&"."&ПСТР(ПОДСТАВИТЬ(A1;",";"");4;1)&ПСТР(ПОДСТАВИТЬ(A1;",";"");3;1)&ПСТР(ПОДСТАВИТЬ(A1;",";"");2;1)&ПСТР(ПОДСТАВИТЬ(A1;",";"");1;1));" ";",");",";" ")

Здесь мы:

  1. Удаляем пробелы и запятые (ПОДСТАВИТЬ).
  2. Разворачиваем цифры и вставляем точку как десятичный разделитель.
  3. Возвращаем пробел как разделитель тысяч.
⚠️ Внимание: Эта формула работает только для чисел с фиксированным количеством разрядов (например, всегда 2 знака после запятой). Для динамических форматов используйте VBA.
Исходное число Формула разворота Результат
1234 =СЖПРОБЕЛЫ(ПСТР(A1;4;1)&ПСТР(A1;3;1)&ПСТР(A1;2;1)&ПСТР(A1;1;1)) 4321
12,34 =ПОДСТАВИТЬ(ПСТР(A1;4;1)&ПСТР(A1;2;1)&"."&ПСТР(A1;3;1)&ПСТР(A1;1;1);",";".") 43.21
1 000 =ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(A1;" ";"");4;1)&ПСТР(ПОДСТАВИТЬ(A1;" ";"");3;1)&ПСТР(ПОДСТАВИТЬ(A1;" ";"");2;1)&ПСТР(ПОДСТАВИТЬ(A1;" ";"");1;1));" ";"";3) 000 1

Способ 4: Автоматизация через VBA (для любых чисел)

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

Откройте редактор VBA (Alt + F11), вставьте новый модуль (Insert → Module) и добавьте этот код:

Function ReverseNumber(rng As Range) As String

Dim strNum As String

Dim i As Integer

Dim reversed As String

strNum = CStr(rng.Value)

reversed = ""

For i = Len(strNum) To 1 Step -1

reversed = reversed & Mid(strNum, i, 1)

Next i

ReverseNumber = reversed

End Function

Теперь в любой ячейке можно использовать формулу:

=ReverseNumber(A1)

Преимущества метода:

  • 🔧 Работает с числами любой длины (включая 100+ символов).
  • 📌 Сохраняет , и . как разделители.
  • 🚀 Обрабатывает диапазоны ячеек за секунды (просто протяните формулу).
⚠️ Внимание: В Excel Online макросы VBA не работают. Для онлайн-версии используйте способ 2 или 3.
Как развернуть число с сохранением знака минус?

Добавьте в начало функции VBA проверку на отрицательное число:

If Left(strNum, 1) = "-" Then

strNum = Mid(strNum, 2)

reversed = "-" & reversed

End If

Теперь формула корректно обработает -123-321.

Способ 5: Разворот через Power Query (для больших данных)

Если вы работаете с тысячами строк, Power Query (вкладка Данные → Получение данных) поможет развернуть числа без формул. Алгоритм:

  1. Загрузите данные в Power Query (Данные → Из таблицы/диапазона).
  2. Добавьте пользовательский столбец с формулой:
    =Text.Reverse(Text.From([YourColumn]))
  3. Замените [YourColumn] на имя вашего столбца.
  4. Загрузите данные обратно в Excel.

Это единственный метод, который обрабатывает миллионы строк без замедления — идеально для аналитики больших данных.

Частые ошибки и как их избежать

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

  1. Лидирующие нули пропадают
    Excel автоматически убирает нули в начале числа (например, 00123 становится 123). Решение: предварительно отформатируйте ячейку как Текст (Ctrl + 1 → Текстовый).
  2. Десятичный разделитель "уезжает"
    Если в исходном числе была запятая (12,34), а после разворота стала точкой (43.21), используйте ПОДСТАВИТЬ для унификации разделителей перед разворотом.
  3. Формула не тянется на другие ячейки
    Убедитесь, что в формуле используются относительные ссылки (например, A1, а не $A$1). Или зафиксируйте только столбец ($A1).

Проверьте настройки региональных параметров Excel (Файл → Параметры → Дополнительно → Параметры редактирования), если разделители отображаются некорректно.

FAQ: Ответы на популярные вопросы

Можно ли развернуть число в Excel Online?

Да, но с ограничениями. В онлайн-версии работают формулы на основе ТЕКСТРАЗД (способ 2) и ПСТР (способ 1), но VBA и Power Query недоступны. Для чисел с переменной длиной придется использовать обходные пути — например, создавать вспомогательные столбцы для каждого символа.

Как развернуть номер телефона (например, +7(999)123-45-67)?

Используйте комбинацию ПОДСТАВИТЬ + ПСТР:

  1. Удалите все нецифровые символы: =ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"(";"");")";"");"-";"");"+";"")
  2. Разверните "чистые" цифры (способ 1 или 2).
  3. Верните формат телефона: = "+"&ПСТР(развернутое_число;1;1)&"("&ПСТР(развернутое_число;2;3)&")"&ПСТР(развернутое_число;5;3)&"-"&ПСТР(развернутое_число;8;2)&"-"&ПСТР(развернутое_число;10;2)

Почему после разворота число отображается как дата (например, 12.03 → 3/21)?

Excel автоматически преобразует текстовую строку 12.03 в дату. Чтобы избежать этого, отформатируйте ячейку с результатом как Текст (Ctrl + 1 → Текстовый) или добавьте апостроф перед формулой: '=СЖПРОБЕЛЫ(...).

Как развернуть числа в столбце без формул?

Используйте Power Query (способ 5) или запишите макрос:

  1. Выделите столбец с числами.
  2. Откройте редактор VBA (Alt + F11).
  3. Вставьте код из способа 4, но замените Function на Sub и добавьте цикл по выделенному диапазону.

Пример кода для макроса:

Sub ReverseSelectedNumbers()

Dim cell As Range

For Each cell In Selection

cell.Value = StrReverse(CStr(cell.Value))

Next cell

End Sub

Работает ли разворот для отрицательных чисел?

Стандартные формулы (способы 1–3) развернут и знак минус: -123321-. Чтобы сохранить знак в начале, модифицируйте формулу:

=ЕСЛИ(ЛЕВСИМВ(A1)="-";"-"&СЖПРОБЕЛЫ(ПСТР(ПРАВСИМВ(A1;ДЛСТР(A1)-1);ДЛСТР(A1)-1;1)&...); обычная_формула_разворота)

Или используйте VBA с проверкой из спойлера в способе 4.