Разворот данных в Excel: от простых таблиц до зеркального текста

Иван Корнев·13.04.2026·4 мин

Чтобы перевернуть порядок данных в столбце или строке в Excel, используйте функцию SORT с отрицательным порядком сортировки или комбинацию INDEX и ROWS. Для зеркального отражения текста внутри ячейки потребуется формула массива с TEXTJOIN или пользовательская функция на VBA. Ниже приведены готовые решения для каждой задачи.

Быстрый обзор методов

Выбор способа зависит от типа данных и версии Excel:

ЗадачаЛучший методСложность
Перевернуть список (столбец)Формула SORT(..., -1)Легко
Развернуть строку горизонтальноФормула INDEX + COLUMNSСредне
Отразить текст зеркально (абв → вба)Формула массива или VBAСложно
Поменять местами строки и столбцыТранспонирование (TRANSPOSE)Легко

Важно: Все формулы ниже работают в актуальных версиях Excel (Microsoft 365, 2021, 2019). В старых версиях некоторые формулы массива требуют подтверждения через Ctrl+Shift+Enter.

Как перевернуть порядок строк в столбце

Самая частая задача — изменить порядок списка с «сверху вниз» на «снизу вверх».

Способ 1: Функция SORT (для Excel 365 и 2021+)

Это самый быстрый метод. Он динамически обновляется при изменении исходных данных.

Формула:

=SORT(A2:A10; 1; -1)
  • A2:A10 — ваш диапазон данных.
  • 1 — сортировка по первому столбцу диапазона.
  • -1 — порядок сортировки (убывание).

Если в списке есть заголовок, выделяйте только данные без него, иначе заголовок может «улететь» в конец списка при сортировке по алфавиту/числам. Для сохранения порядка ввода лучше использовать метод с INDEX.

Способ 2: Универсальная формула INDEX (для всех версий)

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

Вставьте эту формулу в первую ячейку нового столбца и протяните вниз:

=INDEX($A$2:$A$10; СТРОКИ($A$2:$A$10) - СТРОКА(A1) + 1)

Логика: Формула берет элемент с конца диапазона для первой строки результата, предпоследний — для второй и так далее.

Как перевернуть строку (горизонтальный разворот)

Чтобы поменять элементы строки местами (первый станет последним, последний — первым), используйте аналогичную логику с функцией COLUMNS.

Формула для ячейки результата (протягивать вправо):

=INDEX($A$1:$E$1; СТОЛБЦЫ($A$1:$E$1) - СТОЛБЦ(A1) + 1)

Где $A$1:$E$1 — исходная строка. Абсолютные ссылки ($) обязательны, чтобы диапазон не смещался при копировании формулы.

Как перевернуть текст внутри ячейки (зеркально)

В Excel нет встроенной функции вроде REVERSE(), поэтому решение зависит от ваших навыков.

Вариант А: Формула массива (без макросов)

Подходит для коротких строк. Введите формулу и нажмите Enter (в новых версиях) или Ctrl+Shift+Enter:

=TEXTJOIN("" ; ИСТИНА ; ПСТР(A1; ДЛСТР(A1) - СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1))) + 1; 1))

Примечание: В английской версии замените функции: TEXTJOIN, TRUE, MID, LEN, ROW, INDIRECT. Формула посимвольно разбирает текст справа налево и собирает его заново.

Вариант Б: Пользовательская функция VBA (рекомендуется для больших объемов)

Если нужно обрабатывать много текста, формула будет тормозить. Лучше создать свою функцию:

  1. Нажмите Alt + F11, выберите Insert > Module.
  2. Вставьте код:
    Function RevText(txt As String) As String
        RevText = StrReverse(txt)
    End Function
    ```
3.  Вернитесь в таблицу и используйте как обычную формулу: `=RevText(A1)`.

Файл с макросами необходимо сохранять в формате .xlsm (Книга Excel с поддержкой макросов), иначе код будет утерян.

Транспонирование: строки в столбцы и наоборот

Если ваша задача — не просто развернуть порядок, а превратить строку в столбец (или наоборот), используйте транспонирование.

  1. Через формулу: =TRANSPOSE(A1:C5). Результат автоматически заполнит область нужного размера.
  2. Через буфер обмена:
    • Скопируйте диапазон (Ctrl+C).
    • Кликните правой кнопкой мыши в пустую ячейку.
    • Выберите значок «Транспонировать» (стрелочки под углом) или нажмите Ctrl+Alt+V и выберите соответствующую галочку.

Частые ошибки

  • Смещение диапазонов: При протягивании формул забудьте закрепить исходный диапазон знаками доллара ($A$1:$A$10). В результате формула начнет ссылаться на пустые ячейки.
  • Потеря форматирования: Формулы возвращают только значения. Цвета, шрифты и границы не копируются. Их нужно настроить отдельно или использовать специальную вставку.
  • Ошибка #ССЫЛКА!: Возникает, если вы пытаетесь вывести перевернутый массив в область, где уже есть данные, мешающие динамическому разливу (в Excel 365). Очищайте соседние ячейки перед вводом формулы.

FAQ

Можно ли перевернуть данные без формул? Да, для одноразовой операции добавьте вспомогательный столбец с нумерацией (1, 2, 3...), отсортируйте таблицу по этому столбцу по убыванию, а затем удалите вспомогательный столбец.

Как перевернуть текст, но оставить формулы рабочими? Стандартными средствами это сделать сложно. Если ячейка содержит формулу, её результат можно перевернуть только через VBA или скопировав значение в другую ячейку, обработав там и вернув обратно (как значение).

Работает ли это в Google Таблицах? Да, функции SORT, INDEX, TRANSPOSE и TEXTJOIN работают аналогично. Функция StrReverse в скриптах Google Apps также доступна.