Многие люди используют Excel как простой менеджер баз данных, вводя информацию в разные строки рабочего листа. При работе с таблицами данных вы можете столкнуться с необходимостью изменить порядок строк в таблице на обратный. Таким образом, если у вас есть таблица с десятью строками, количество строк будет увеличиваться с десяти до одной, а не от одной до десяти.

В Excel нет встроенной функции, которая позволяла бы переворачивать данные таким образом. Однако вы можете использовать возможности сортировки Excel, чтобы добиться того же, выполнив следующие общие шаги:

  1. Вставьте новый столбец сразу слева от таблицы данных.

  2. В ячейках нового столбца введите числа от 1 до количества строк в вашей таблице.

  3. Выберите строки, составляющие вашу таблицу данных.

  4. Выберите «Сортировать» в меню «Данные». Excel отображает диалоговое окно «Сортировка».

(См. Рис. 1.)

  1. В раскрывающемся списке «Сортировать по» укажите, что вы хотите выполнить сортировку по вновь созданному столбцу.

  2. Щелкните По убыванию в качестве типа сортировки.

  3. Щелкните ОК. Excel переупорядочивает ваши данные в обратном порядке.

Если вам ежедневно приходится выполнять много операций по переворачиванию данных, выполнение описанных выше шагов может стать довольно утомительным. В этом случае вы можете создать макрос, который сделает эту работу за вас. Следующий макрос, FlipRows, сделает свое дело:

Sub FlipRows()

Dim vTop As Variant     Dim vEnd As Variant     Dim iStart As Integer     Dim iEnd As Integer         Application.ScreenUpdating = False         iStart = 1         iEnd = Selection.Rows.Count         Do While iStart < iEnd             vTop = Selection.Rows(iStart)

vEnd = Selection.Rows(iEnd)

Selection.Rows(iEnd) = vTop             Selection.Rows(iStart) = vEnd             iStart = iStart + 1             iEnd = iEnd - 1         Loop         Application.ScreenUpdating = True End Sub

Чтобы использовать этот макрос, все, что вам нужно сделать, это выбрать строки, которые вы хотите перевернуть, и запустить его. Макрос не изменит ваши данные, кроме как переворачивать строки. Другими словами, он не будет добавлять столбцы с информацией.

Интересной особенностью этого подхода является то, что вы можете быстро адаптировать его к переворачиванию столбцов данных. Все, что вам нужно сделать, это заменить все вхождения слова «Строки» на «Столбцы». Таким образом, новый макрос становится следующим:

Sub FlipColumns()

Dim vTop As Variant     Dim vEnd As Variant     Dim iStart As Integer     Dim iEnd As Integer         Application.ScreenUpdating = False         iStart = 1         iEnd = Selection.Columns.Count         Do While iStart < iEnd             vTop = Selection.Columns(iStart)

vEnd = Selection.Columns(iEnd)

Selection.Columns(iEnd) = vTop             Selection.Columns(iStart) = vEnd             iStart = iStart + 1             iEnd = iEnd - 1         Loop         Application.ScreenUpdating = True End Sub

Опять же, просто выберите столбцы, которые вы хотите перевернуть, а затем запустите макрос.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (2653) применим к Microsoft Excel 97, 2000, 2002 и 2003.