Массив в обратном порядке excel

Обратный порядок элементов в списке

Банальная, на первый взгляд, задача, периодически встречающаяся в работе почти любого пользователя Microsoft Excel – расположить элементы списка в обратном порядке. При всей кажущейся простоте, здесь есть свои «фишки» — давайте разберем несколько вариантов ее решения.

Способ 1. Ручная сортировка по доп.столбцу

Это обычно первое, что приходит в голову. Добавляем рядом с нашим списком еще один столбец с порядковыми номерами и сортируем по этому столбцу по убыванию:

Очевидный плюс такого подхода в простоте. Очевидный же минус в том, что нужно руками проделать энное количество операций. Если это разовая задача — ОК, но если данные меняются каждый день, то сортировать список постоянно вручную уже напрягает. Выходом может стать использование формул.

Способ 2. Обратный порядок формулой

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

Нужная нам формула, размещающая элементы списка в обратном порядке может выглядеть так:

reverse3.png

Недостаток этой формулы в том, что в ней должны жестко задаваться начало и конец списка (ячейки A2 и A9 в нашем случае). Если заранее точно не известно, сколько именно элементов будет в списке, то лучше использовать другой подход:

reverse4.png

В этой формуле номер последней занятой ячейки подсчитывается с помощью функции СЧЁТЗ (COUNTA), т.е. количество элементов в исходном списке может впоследствии меняться.

Минус этого варианта — в исходном списке не должно быть пустых ячеек, т.к. функция СЧЁТЗ тогда неправильно вычислит номер строки последнего элемента. Выходом может стать использование динамического именованного диапазона с автоподстройкой размеров либо хитрой формулы массива:

reverse5.png

Как легко заметить, это вариация первого способа, где диапазон взят «с запасом» сразу до сотой строки и номер строки последней заполненной ячейки задается не жестко, а вычисляется с помощью фрагмента МАКС(($A$2:$A$100<>»»)*СТРОКА($A$2:$A$100))

Каждая ячейка в диапазоне A2:A100 проверяется на заполненность с помощью выражения ($A$2:$A$100<>»»), что даст на выходе массив значений ИСТИНА и ЛОЖЬ. Затем этот массив поэлементно умножается на массив номеров строк, получаемый с помощью функции СТРОКА($A$2:$A$100). Поскольку логическую ИСТИНУ Excel интерпретирует как 1, а ЛОЖЬ – как 0, то после умножения мы получим массив номеров заполненных ячеек. А уже из него функция МАКС (MAX) выбирает самое большое число, т.е. номер последней заполненной строки.

И, само-собой, не забудьте после ввода этой формулы нажать не обычный Enter, а сочетание Ctrl+Shift+Enter, чтобы ввести ее как формулу массива.

Способ 3. Макрос

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

Нажмите сочетание Alt+F11 или кнопку Visual Basic на вкладке Разработчик (Developer). Вставьте новый пустой модуль через меню Insert — Module и скопируйте туда текст макроса:

Sub Reverse()
    Dim arrData(), n As Long

    arrData = Selection
    For Each cell In Selection
        cell.Value = arrData(UBound(arrData) - n, 1)
        n = n + 1
    Next cell
End Sub

Теперь, если выделить столбец-список с данными и запустить наш макрос с помощью сочетания Alt+F8 или команды Разработчик — Макросы (Developer — Macros), то список развернется в обратном порядке прямо в тех же ячейках, т.е. на месте.

Ссылки по теме

  • Как создать в Excel динамический именованный диапазон с автоподстройкой размеров
  • Что такое формулы массива и как их использовать
  • Хитрости сортировки в MS Excel

На чтение 4 мин Просмотров 1к. Опубликовано 27.04.2022

Бывают ситуации, когда вам нужно «перевернуть» вашу табличку. То есть сделать так, чтобы данные, которые находятся вверху — были внизу.

И да, это удивительно, но в программе нет специальной функции для этого.

Конечно же, мы можем сделать это сразу несколькими методами. Но именно своей функции для такой задачи в Excel нет.

Итак, начнём!

Содержание

  1. С помощью функции «Сортировка»
  2. По вертикали
  3. По горизонтали
  4. C помощью СОРТПО и ИНДЕКС
  5. С помощью СОРТПО
  6. С помощью ИНДЕКС
  7. С помощью Visual Basic

С помощью функции «Сортировка»

Это, наверное, самый быстрый и удобный метод.

По вертикали

Допустим, нам нужно отсортировать данные в обратном порядке, для следующей таблички:

Пошаговая инструкция:

  • Создайте столбик для расчетов (мы назовем его «Helper»);

  • Выделите табличку и щелкните на «Данные»;

  • Далее — «Сортировка»;

  • В первом параметре сортировки выберите наш столбик для расчетов;

  • А в третьем — «По убыванию»;

  • Подтвердите.

Готово! Вот результат:

После сортировки можно удалить столбик для расчетов.

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

По горизонтали

Практически тоже самое с табличками по горизонтали.

Итак, давайте рассмотрим такой пример.

Допустим, у нас есть такая табличка:

Пошаговая инструкция:

  • Создаем столбик для расчетов, только теперь это не столбик, а строка. Так как табличка у нас горизонтальная;

  • Открываем «Сортировка»;
  • Жмем «Параметры…»;

  • И выберите «Столбцы диапазона»;

  • Подтвердите;
  • В первом параметре выберите ту строку, которая является строкой для расчетов.

  • В третьем параметре — «По убыванию»;

  • Подтвердите.

Готово! Вот результат:

После сортировки можете смело удалять строку для расчетов.

C помощью СОРТПО и ИНДЕКС

Функция ИНДЕКС доступна для всех, а вот функция СОРТПО доступна только по платной подписке Office 365.

С помощью СОРТПО

Допустим, у нас есть такая табличка:

Создадим еще два столбика, с теме же заголовками. Там будет наша обработанная табличка.

Формула функции примет такой вид:

=СОРТПО($A$2:$B$12;СТРОКА(A2:A12);-1)

Сортировка происходит по данным, полученным из функции СТРОКА.

Она создает массив с порядковыми номерами строк.

А последний аргумент в функции (“-1”) говорит Excel о том, что нам нужен порядок «По убыванию».

Вот, собственно, и все!

С помощью ИНДЕКС

Мало кто пользуется Microsoft 365 и платит за подписку, но не переживайте, если вы из таких людей, то для вас есть выход!

Допустим, у нас та же табличка:

Формула примет такой вид:

=ИНДЕКС($A$2:$A$12;СТРОКА(A2:$A$12))

Что мы сделали?

Функция СТРОКА, в результате выполнения, отдает нам кол-во строчек в диапазоне ячеек.

И этот результат будет становиться меньше и меньше.

А ИНДЕКС, по номеру строки, отдает нам значение этой строки. Таким образом мы получаем порядок «По убыванию».

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

Допустим, у вас есть такая табличка:

Формула примет такой вид:

=ИНДЕКС($A$2:$B$12;СТРОКА(A2:$A$12);СТОЛБЕЦ($A$2:A2))

Все также, только мы дополнительно указали столбик, откуда функция ИНДЕКС должна брать данные и помещать в новые ячейки.

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

С помощью Visual Basic

И, как обычно, рассмотрим метод с Visual Basic.

Это решение отлично подойдет для тех, кто использует такую сортировку очень часто.

Вот нужный нам код Visual Basic:

Sub FlipVerically()     

Dim TopRow As Variant 
Dim LastRow As Variant 
Dim StartNum As Integer 
Dim EndNum As Integer   

Application.ScreenUpdating = False   

StartNum = 1 
EndNum = Selection.Rows.Count   

Do While StartNum < EndNum 
TopRow = Selection.Rows(StartNum) 
LastRow = Selection.Rows(EndNum) 
Selection.Rows(EndNum) = TopRow 
Selection.Rows(StartNum) = LastRow 
StartNum = StartNum + 1 
EndNum = EndNum - 1 
Loop   

Application.ScreenUpdating = True 
End Sub

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

Куда нужно поместить код?

Пошаговая инструкция:

  • ALT + F11;

  • Правой кнопкой мышки на любой лист -> «Insert» -> «Module»;

  • В открывшееся окошко вставьте наш код и закройте Visual Basic;

А дальше, чтобы использовать функцию — выделите табличку и нажмите «Run Macro» (или F5).

В этой статье, я рассказал вам о том, как можно отсортировать данные в обратном порядке. Мы рассмотрели как сделать это с помощью встроенной функции “Сортировка”, с помощью СОРТПО и ИНДЕКС, а также Visual Basic.

Надеюсь, эта статья оказалась полезна для вас!

На чтение 1 мин Опубликовано 27.09.2015

Эта статья научит вас создавать обратный список в Excel. Для примера расположим в обратном порядке значения в столбце А (см. рисунок ниже):

  1. Введите значение 1 в ячейку B1 и значение 2 в ячейку B2.
  2. Выделите диапазон B1:B2, зажмите его нижний правый угол и протяните вниз до ячейки В8.Обратный список в Excel
  3. Кликните по любому числу из списка в столбце B.
  4. На вкладке Данные (Data) нажмите кнопку Я-А (Z-A).

Результат: Мы получили обратный список.

Обратный список в Excel

Примечание: Обратился не только список в столбце В, но и список в столбце А.

Оцените качество статьи. Нам важно ваше мнение:

Содержание

    • 0.1 Способ 1. Ручная сортировка по доп.столбцу
    • 0.2 Способ 2. Обратный порядок формулой
    • 0.3 Способ 3. Макрос
    • 0.4 Ссылки по теме
  • 1 Способ 1 — горячие клавиши и раскрывающийся список в excel
  • 2 Способ 2 — самый удобный, простой и наиболее гибкий
  • 3 Способ 3 — как в excel сделать выпадающий список с использованием ActiveX
  • 4 Создание раскрывающегося списка
  • 5 Выпадающий список в Excel с подстановкой данных
  • 6 Выпадающий список в Excel с данными с другого листа/файла
  • 7 Как сделать зависимые выпадающие списки
  • 8 Выпадающий список с поиском
  • 9 Создаем простой выпадающий список
  • 10 Добавляем значения в выпадающий список – динамический список
  • 11 Выпадающий список со значениями с другого листа
  • 12 Создаем зависимые выпадающие списки

Банальная, на первый взгляд, задача, периодически встречающаяся в работе почти любого пользователя Microsoft Excel – расположить элементы списка в обратном порядке. При всей кажущейся простоте, здесь есть свои «фишки» — давайте разберем несколько вариантов ее решения.

Способ 1. Ручная сортировка по доп.столбцу

Это обычно первое, что приходит в голову. Добавляем рядом с нашим списком еще один столбец с порядковыми номерами и сортируем по этому столбцу по убыванию:

Очевидный плюс такого подхода в простоте. Очевидный же минус в том, что нужно руками проделать энное количество операций. Если это разовая задача — ОК, но если данные меняются каждый день, то сортировать список постоянно вручную уже напрягает. Выходом может стать использование формул.

Способ 2. Обратный порядок формулой

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

Нужная нам формула, размещающая элементы списка в обратном порядке может выглядеть так:

как в excel сделать обратный список

Недостаток этой формулы в том, что в ней должны жестко задаваться начало и конец списка (ячейки A2 и A9 в нашем случае). Если заранее точно не известно, сколько именно элементов будет в списке, то лучше использовать другой подход:

как в excel сделать обратный список

В этой формуле номер последней занятой ячейки подсчитывается с помощью функции СЧЁТЗ (COUNTA), т.е. количество элементов в исходном списке может впоследствии меняться.

Минус этого варианта — в исходном списке не должно быть пустых ячеек, т.к. функция СЧЁТЗ тогда неправильно вычислит номер строки последнего элемента. Выходом может стать использование динамического именованного диапазона с автоподстройкой размеров либо хитрой формулы массива:

как в excel сделать обратный список

Как легко заметить, это вариация первого способа, где диапазон взят «с запасом» сразу до сотой строки и номер строки последней заполненной ячейки задается не жестко, а вычисляется с помощью фрагмента МАКС(($A$2:$A$100″»)*СТРОКА($A$2:$A$100))

Каждая ячейка в диапазоне A2:A100 проверяется на заполненность с помощью выражения ($A$2:$A$100″»), что даст на выходе массив значений ИСТИНА и ЛОЖЬ. Затем этот массив поэлементно умножается на массив номеров строк, получаемый с помощью функции СТРОКА($A$2:$A$100). Поскольку логическую ИСТИНУ Excel интерпретирует как 1, а ЛОЖЬ – как 0, то после умножения мы получим массив номеров заполненных ячеек. А уже из него функция МАКС (MAX) выбирает самое большое число, т.е. номер последней заполненной строки.

И, само-собой, не забудьте после ввода этой формулы нажать не обычный Enter, а сочетание Ctrl+Shift+Enter, чтобы ввести ее как формулу массива.

Способ 3. Макрос

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

Нажмите сочетание Alt+F11 или кнопку Visual Basic на вкладке Разработчик (Developer). Вставьте новый пустой модуль через меню Insert — Module и скопируйте туда текст макроса:

  Sub Reverse()      Dim arrData(), n As Long        arrData = Selection      For Each cell In Selection          cell.Value = arrData(UBound(arrData) - n, 1)          n = n + 1      Next cell  End Sub  

Теперь, если выделить столбец-список с данными и запустить наш макрос с помощью сочетания Alt+F8 или команды Разработчик — Макросы (Developer — Macros), то список развернется в обратном порядке прямо в тех же ячейках, т.е. на месте.

Ссылки по теме

  • Как создать в Excel динамический именованный диапазон с автоподстройкой размеров
  • Что такое формулы массива и как их использовать
  • Хитрости сортировки в MS Excel

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

Данный способ использования выпадающего списка по сути не является инструментом таблицы, который надо как либо настраивать или заполнять. Это встроенная функция (горячие клавиши) которая работает всегда. При заполнении какого либо столбца, вы можете нажать правой кнопкой мыши на пустой ячейке и в выпадающем списке выбрать пункт меню «Выбрать из раскрывающегося списка».

как в excel сделать обратный список

Этот же пункт меню можно запустить сочетанием клавиш Alt+»Стрелка вниз» и программа автоматически предложит в выпадающем списке значения ячеек, которые вы ранее заполняли данными. На изображении ниже программа предложила 4 варианта заполнения (дублирующиеся данные Excel не показывает). Единственное условие работы данного инструмента — это между ячейкой, в которую вы вводите данные из списка и самим списком не должно быть пустых ячеек.

как в excel сделать обратный список

Использование горячих клавиш для раскрытия выпадающего списка данных

При чем список для заполнения таким способом работает как в ячейке снизу, так и в ячейке сверху. Для верхней ячейки программа возьмет содержание списка из нижних значений. И опять же не должно быть пустой ячейки между данными и ячейкой для ввода.

как в excel сделать обратный список

Выпадающий список может работать и в верхней части с данными, которые ниже ячейки

Способ 2 — самый удобный, простой и наиболее гибкий

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

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

    Создание набора данных для списка

  2. В окне «Создание имени» задайте имя для вашего списка (это имя дальше будет использоваться в формуле подстановки). Имя должно быть без пробелов и начинаться с буквы. как в excel сделать обратный список

    Введите имя для набора данных

  3. Выделите ячейки (можно сразу несколько ячеек), в которых планируется создать выпадающий список. Во вкладке «ДАННЫЕ» вверху документа нажмите на «Проверка данных». как в excel сделать обратный список

    Создать выпадающий список можно сразу для нескольких ячеек

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

как в excel сделать обратный список

Для создания проверки вводимых значений введите имя ранее созданного списка

При попытке ввести значение, которого нет в заданном списке, эксель выдаст ошибку.

как в excel сделать обратный список

Кроме списка можно вводить данные вручную. Если введенные данные не совпадут с одним из данных — программа выдаст ошибку

А при нажатии на кнопку выпадающего списка в ячейке вы увидите перечень значений из созданного ранее.
как в excel сделать обратный список

Способ 3 — как в excel сделать выпадающий список с использованием ActiveX

Чтобы воспользоваться этим способом, необходимо чтобы у вас была включена вкладка «РАЗРАБОТЧИК». По умолчанию эта вкладка отсутствует. Чтобы ее включить:

  1. Нажмите на «Файл» в левом верхнем углу приложения.
  2. Выберите пункт «Параметры» и нажмите на него.
  3. В окне настройки параметров Excel во вкладке «Настроить ленту» поставьте галочку напротив вкладки «Разработчик».

как в excel сделать обратный список

Включение вкладки «РАЗРАБОТЧИК»

Теперь вы сможете воспользоваться инструментом «Поле со списком (Элемент ActiveX)». Во вкладке «РАЗРАБОТЧИК» нажмите на кнопку «Вставить» и найдите в элементах ActiveX кнопку «Поле со списком (Элемент ActiveX)». Нажмите на нее.

как в excel сделать обратный список

Нарисуйте данный объект в excel выпадающий список в ячейке, где вам необходим выпадающий список.

как в excel сделать обратный список

Теперь необходимо настроить данный элемент. Чтобы это сделать, необходимо включить «Режим конструктора» и нажать на кнопку «Свойства». У вас должно открыться окно свойств (Properties).

как в excel сделать обратный список

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

Но нас на этапе создания интересуют только три основных:

  1. ListFillRange — указывает диапазон ячеек, из которых будут браться значения для выпадающего списка. В моем примере я указал два столбца (A2:B7 — дальше покажу как это использовать). Если необходимо только одни значения указывается A2:A7.
  2. ListRows — количество данных в выпадающем списке. Элемент ActiveX отличается от первого способа тем, что можно указать большое количество данных.
  3. ColumnCount — указывает сколько столбцов данных указывать в выпадающем списке.

как в excel сделать обратный список

В строке ColumnCount я указал значение 2 и теперь в списке выпадающие данные выглядят вот так:

как в excel сделать обратный список

Как видите получился выпадающий список в excel с подстановкой данных из второго столбца с данными «Поставщик».

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

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

Создание раскрывающегося списка

Путь: меню «Данные» — инструмент «Проверка данных» — вкладка «Параметры». Тип данных – «Список».

Ввести значения, из которых будет складываться выпадающий список, можно разными способами:

  1. Вручную через «точку-с-запятой» в поле «Источник».
  2. Ввести значения заранее. А в качестве источника указать диапазон ячеек со списком.
  3. Назначить имя для диапазона значений и в поле источник вписать это имя.

Любой из вариантов даст такой результат.

Выпадающий список в Excel с подстановкой данных

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

  1. Выделяем диапазон для выпадающего списка. В главном меню находим инструмент «Форматировать как таблицу».
  2. Откроются стили. Выбираем любой. Для решения нашей задачи дизайн не имеет значения. Наличие заголовка (шапки) важно. В нашем примере это ячейка А1 со словом «Деревья». То есть нужно выбрать стиль таблицы со строкой заголовка. Получаем следующий вид диапазона:
  3. Ставим курсор в ячейку, где будет находиться выпадающий список. Открываем параметры инструмента «Проверка данных» (выше описан путь). В поле «Источник» прописываем такую функцию:

Протестируем. Вот наша таблица со списком на одном листе:

Добавим в таблицу новое значение «елка».

Теперь удалим значение «береза».

Осуществить задуманное нам помогла «умная таблица», которая легка «расширяется», меняется.

Теперь сделаем так, чтобы можно было вводить новые значения прямо в ячейку с этим списком. И данные автоматически добавлялись в диапазон.

  1. Сформируем именованный диапазон. Путь: «Формулы» — «Диспетчер имен» — «Создать». Вводим уникальное название диапазона – ОК.
  2. Создаем раскрывающийся список в любой ячейке. Как это сделать, уже известно. Источник – имя диапазона: =деревья.
  3. Снимаем галочки на вкладках «Сообщение для ввода», «Сообщение об ошибке». Если этого не сделать, Excel не позволит нам вводить новые значения.
  4. Вызываем редактор Visual Basic. Для этого щелкаем правой кнопкой мыши по названию листа и переходим по вкладке «Исходный текст». Либо одновременно нажимаем клавиши Alt + F11. Копируем код (только вставьте свои параметры).
  5. Сохраняем, установив тип файла «с поддержкой макросов».
  6. Переходим на лист со списком. Вкладка «Разработчик» — «Код» — «Макросы». Сочетание клавиш для быстрого вызова – Alt + F8. Выбираем нужное имя. Нажимаем «Выполнить».

Когда мы введем в пустую ячейку выпадающего списка новое наименование, появится сообщение: «Добавить введенное имя баобаб в выпадающий список?».

Нажмем «Да» и добавиться еще одна строка со значением «баобаб».

Выпадающий список в Excel с данными с другого листа/файла

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

  1. Делаем активной ячейку, куда хотим поместить раскрывающийся список.
  2. Открываем параметры проверки данных. В поле «Источник» вводим формулу: =ДВССЫЛ(“Лист1!$A$1:$A$9”).

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

Как сделать зависимые выпадающие списки

Возьмем три именованных диапазона:

Это обязательное условие. Выше описано, как сделать обычный список именованным диапазоном (с помощью «Диспетчера имен»). Помним, что имя не может содержать пробелов и знаков препинания.

  1. Создадим первый выпадающий список, куда войдут названия диапазонов.
  2. Когда поставили курсор в поле «Источник», переходим на лист и выделяем попеременно нужные ячейки.
  3. Теперь создадим второй раскрывающийся список. В нем должны отражаться те слова, которые соответствуют выбранному в первом списке названию. Если «Деревья», то «граб», «дуб» и т.д. Вводим в поле «Источник» функцию вида =ДВССЫЛ(E3). E3 – ячейка с именем первого диапазона.
  4. Создаем стандартный список с помощью инструмента «Проверка данных». Добавляем в исходный код листа готовый макрос. Как это делать, описано выше. С его помощью справа от выпадающего списка будут добавляться выбранные значения.
  5. Чтобы выбранные значения показывались снизу, вставляем другой код обработчика.
  6. Чтобы выбираемые значения отображались в одной ячейке, разделенные любым знаком препинания, применим такой модуль.

Не забываем менять диапазоны на «свои». Списки создаем классическим способом. А всю остальную работу будут делать макросы.

Выпадающий список с поиском

  1. На вкладке «Разработчик» находим инструмент «Вставить» – «ActiveX». Здесь нам нужна кнопка «Поле со списком» (ориентируемся на всплывающие подсказки).
  2. Щелкаем по значку – становится активным «Режим конструктора». Рисуем курсором (он становится «крестиком») небольшой прямоугольник – место будущего списка.
  3. Жмем «Свойства» – открывается перечень настроек.
  4. Вписываем диапазон в строку ListFillRange (руками). Ячейку, куда будет выводиться выбранное значение – в строку LinkedCell. Для изменения шрифта и размера – Font.

Скачать пример выпадающего списка

При вводе первых букв с клавиатуры высвечиваются подходящие элементы. И это далеко не все приятные моменты данного инструмента. Здесь можно настраивать визуальное представление информации, указывать в качестве источника сразу два столбца.

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

В статье мы рассмотрим, как сделать выпадающие списки различного вида в таблице Эксель.

Создаем простой выпадающий список

Для этого, в ячейки А1:А7 вписываем данные, которые будут отображаться в списке. Теперь выделим ячейку, в которой создадим выпадающий список – В2.

Переходим на вкладку «Данные» и кликаем по кнопочке «Проверка данных».

На вкладке «Параметры» в поле «Тип данных» выбираем «Список». В поле «Источник» можно ввести значения различными способами:

1 – вводим значения для списка вручную, через точку с запятой;

2 – указываем диапазон ячеек, в которые введены данные для выпадающего списка;

3 – выделяем ячейки с именами, кликаем по ним правой кнопкой мыши и выбираем из меню «Присвоить имя».

Дальше впишите «Имя» для выделенных данных.

Выделяем ячейку В2 и в поле «Источник» ставим «=», затем пишем созданное имя.

Таким образом, мы создали простой выпадающий список в Excel.

Если у Вас есть заголовок для столбца, и значениями нужно заполнять каждую строку, то выделите не одну ячейку, а диапазон ячеек – В2:В9. Тогда можно будет выбирать из выпадающего списка нужное значение в каждой ячейке.

Добавляем значения в выпадающий список – динамический список

При этом мы будем дописывать значения в нужный диапазон, а они будут автоматически добавляться в выпадающий список.

Выделяем диапазон ячеек – D1:D8, затем на вкладке «Главная» нажимаем «Форматировать как таблицу» и выбираем любой стиль.

Подтверждаем расположение данных и ставим галочку в поле «Таблица с заголовками».

Вверху пишем заголовок таблицы – «Сотрудники», и заполняем ее данными.

Выделяем ячейку, в которой будет выпадающий список и кликаем по кнопочке «Проверка данных». В следующем окне, в поле «Источник», пишем следующее: =ДВССЫЛ(«Таблица1»). У меня одна таблица на листе, поэтому пишу «Таблица1», если будет вторая – «Таблица2», и так далее.

Теперь добавим новое имя сотрудника в наш список: Ира. В выпадающем списке оно появилось. Если мы удалим любое имя из таблицы, из списка оно тоже удалится.

Выпадающий список со значениями с другого листа

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

На Листе 2, выделяем одну ячейку или диапазон ячеек, затем кликаем по кнопочке «Проверка данных».

Переходим на Лист 1, ставим курсор в поле «Источник» и выделяем нужный диапазон ячеек.

Теперь можно дописывать имена на Листе 1, они будут добавляться в выпадающие списки на Листе 2.

Создаем зависимые выпадающие списки

Предположим, у нас есть три диапазона: имена, фамилии и отчества сотрудников. Для каждого, нужно присвоить имя. Выделяем ячейки оного диапазона, можно и пустые – в них со временем можно будет добавлять данные, которые будут появляться в выпадающем списке. Кликаем по ним правой кнопкой мыши и выбираем из списка «Присвоить имя».

Первый называем «Имя», второй – «Фамилия», третий – «Отч».

Сделаем еще один диапазон, в котором будут прописаны присвоенные имена. Назовем его «Сотрудники».

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

В поле «Тип данных» выберите «Список», в поле источник – или введите «=Сотрудники», или выделите диапазон ячеек, которому присвоено имя.

Первый выпадающий список создан. Теперь в ячейке F2 создадим второй список, который должен зависеть от первого. Если в первом выберем «Имя», во втором отобразится список имен, если выберем «Фамилия» – список фамилий.

Выделяем ячейку и кликаем по кнопочке «Проверка данных». В поле «Тип данных» выбираем «Список», в поле источник прописываем следующее: =ДВССЫЛ($Е$1). Здесь Е1 – это ячейка с первым выпадающим списком.

По такому принципу можно делать зависимые выпадающие списки.

Если в дальнейшем, нужно будет вписать значения в диапазон, которому задано имя, например, «Фамилия». Перейдите на вкладку «Формулы» и кликните «Диспетчер имен». Теперь в имени диапазона выбираем «Фамилия», и внизу, вместо последней ячейки С3, напишите С10. Нажмите галочку. После этого диапазон увеличится, и в него можно будет дописывать данные, которые автоматически будут появляться в выпадающем списке.

Теперь Вы знаете, как сделать раскрывающийся список в Excel.

Поделитесь статьёй с друзьями:

Как создать выпадающий список, состоящий сразу из нескольких ячеек (скажем чтобы наименование было со стоимостью)

Спасибо, всё получилось.

Огромное спасибо автору за «зависимые выпадающие списки». Сам бился два дня, а ваша статья очень помогла. Всё работает на разных листах. Получил как раз то, что и хотел.

Автору спасибо за хорошую статью! Как оказалось, есть масса возможностей их создания!

Выпадающий список со значениями с другого листа не работает, так как окно когда открыто проверка данных не дает работать с другими окнами, тем более с другим листом!

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

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

При необходимости расположить ячейки таблицы с обратным порядком строк смещение строки ячейки относительно первой ячейки меняется на смещение строки ячейки относительно последней ячейки

смещение строки текущей ячейки в таблице вычисляется по формуле:

=ЧСТРОК(диапазон_таб­ лицы)-(СТРОКА()-СТРОКА(адрес_первой_­ ячейки)+1)

после раскрытия скобок получим:

=ЧСТРОК(диапазон_таб­ лицы)-СТРОКА()+СТРОКА(адре­ с_первой_ячейки)-1

если исходная таблица расположена начиная с ячейки A4 в диапазоне строк (A4:A9)

а отображается таблица начиная с ячейки A14 то формула для текущей ячейки примет вид:

=СМЕЩ($A$4; ЧСТРОК( $A$4:$A$9 )-1-СТРОКА() + СТРОКА($A$14); СТОЛБЕЦ() — СТОЛБЕЦ($A$4))

Эта формула растягивается на весь диапазон таблицы.

Для незаполненных ячеек формула даёт результат 0.

Если в таблице (матрице) допустимо наличие пустых ячеек, то формулу можно изменить:

=ЕСЛИ(ЕПУСТО( СМЕЩ($A$4; ЧСТРОК( $A$4:$A$9 )-1-СТРОКА() + СТРОКА($A$14); СТОЛБЕЦ()-СТОЛБЕЦ($A$4))); «»; СМЕЩ($A$4; ЧСТРОК( $A$4:$A$9 )-1-СТРОКА() + СТРОКА($A$14); СТОЛБЕЦ() — СТОЛБЕЦ($A$4)))

Как вставить значения в обратном порядке excel

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

Например, если данные выглядят так: «Регионы продаж» в заголовках столбцов и «Кварталы» с левой стороны:

Данные по регионам в столбцах

Функция Транспонировать переупомешет таблицу, в которой столбцы «Кварталы» отображаются в заголовках столбцов, а слева будут показаны регионы продаж, например:

Данные по регионам в строках

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

Вот как это сделать:

Выделите диапазон данных, который требуется переупорядочить, включая заголовки строк или столбцов, а затем нажмите клавиши CTRL+C.

Примечание: Убедитесь, что для этого нужно скопировать данные, так как не получится использовать команду Вырезать или CTRL+X.

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

Щелкните правой кнопкой мыши левую верхнюю ячейку, в которой нужно ввести транспонировать таблицу, и выберите транспонировать Изображение кнопки транспонирования.

Меню "Параметры вставки"

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

Советы по транспонированию данных

Если данные содержат формулы, Excel автоматически обновляет их в соответствие с новым расположением. Убедитесь, что в этих формулах используются абсолютные ссылки. Если они не используются, перед поворотом данных можно переключаться между относительными, абсолютными и смешанными ссылками.

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

Вы можете ввести в книгу данные в качестве транспон данных. Транспонировать: переупочевание содержимого скопированные ячейки при копировании. Данные строк будут вставлены в столбцы, и наоборот.

Пример транспонии в окне "В этом примере"

Вот как можно транспоннять содержимое ячейки:

Скопируйте диапазон ячеев.

Вы выберите пустые ячейки, в которые вы хотите ввести транспонировать данные.

На вкладке Главная щелкните значок Ввести и выберите Ввести транспонировать.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Excel. Строки в столбце поставить в обратном порядке

Рядом со столбцом пишите цифры 1,2,3,4 .
Выделяете цифры и жмете значек AZ или AЯ
Сортировка по убыванию

и получаете нужный результат

Можно использовать формулу:
=ДВССЫЛ («b»&9-СТРОКА ()+3)
(цифра «9» — это последняя занятая строка

Вот, где объяснено предельно толково https://www.kakprosto.ru/kak-121367-kak-v-excel-perevernut-stolbec . С 1,2,3,4 и т. д. возникают глюки. Надо делать через сортировку, но по формуле. Как — читайте по ссылке.

У кого ссылка не сработает, даю текст.
Переворот столбца в Эксель

1. Выписываем адреса первой и последней ячейки. Перед каждым символом ставим знак доллара. Пример: $C$1
2. Выбираем свободную колонку то же высоты, что и наш столбец. В верхнюю ячейку вставляем формулу. Для этого 1) Ставим в нее курсор. 2) В разделе Формула находим Библиотека функций, в ней находим «Ссылки и массивы», в списке функция выбираем «СМЕЩ».
3. Появится диалоговое окно. В первом поле «Ссылка» набираем адрес последней ячейки переворачиваемого столбца. Обязательно с долларами.
4. В следующем поле «Смещ_по_строкам» вставляем форму (СТРОКА ()-СТРОКА ())*-1
5. Внутрь вторых скобок вписываем адрес первой ячейки (с долларами). Пример: (СТРОКА ()-СТРОКА ($C$1))*-1
6. В следующее поле «Смещ_по_столбцам» ставится 0. После этого ОК. В ячейке с формулой отразится содержимое последней строки переворачиваемого столбца.
7. Распространяем формулу (при помощи креста) на всю высоту столбца. Получаем перевернутый столбец. Его надо скопировать. Затем поставить курсор в верхнюю ячейку исходного столбца, правой клавишей мышы вызвать КМ, выбрать параметр «Значения» в «Параметры вствки». Вставить.

Содержание:

  1. Отразить данные с помощью SORT и вспомогательного столбца
  2. Переверните данные по вертикали (обратный порядок вверх ногами)
  3. Отразить данные по горизонтали
  4. Отразить данные с помощью формул
  5. Использование функции СОРТБИ (доступно в Microsoft 365)
  6. Использование функции ИНДЕКС
  7. Перевернуть данные с помощью VBA

Иногда вам может потребоваться перевернуть данные в Excel, то есть изменить порядок данных вверх ногами в вертикальном наборе данных и слева направо в горизонтальном наборе данных.

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

Хотя есть несколько способов перевернуть данные в Excel, встроенной функции нет. Но вы можете легко сделать это, используя простой трюк сортировки, формулы или VBA.

В этом руководстве я покажу вам, как переворачивать данные в строках, столбцах и таблицах в Excel.

Итак, приступим!

Отразить данные с помощью SORT и вспомогательного столбца

Один из самых простых способов изменить порядок данных в Excel — использовать вспомогательный столбец, а затем использовать этот вспомогательный столбец для сортировки данных.

Переверните данные по вертикали (обратный порядок вверх ногами)

Предположим, у вас есть набор данных с именами в столбце, как показано ниже, и вы хотите перевернуть эти данные:

Отразить данные в Excel - Обратный порядок данных в столбце / строке

Ниже приведены шаги, чтобы перевернуть данные по вертикали:

  1. В соседнем столбце введите «Помощник» в качестве заголовка столбца.
  2. В столбце помощника введите ряд чисел (1, 2, 3 и т. Д.). Вы можете использовать показанные здесь методы, чтобы сделать это быстро.
  3. Выберите весь набор данных, включая вспомогательный столбец
  4. Перейдите на вкладку «Данные«.
  5. Щелкните значок сортировки
  6. В диалоговом окне «Сортировка» выберите «Помощник» в раскрывающемся списке «Сортировать по».
  7. В раскрывающемся списке «Порядок» выберите «От наибольшего к наименьшему».
  8. Нажмите ОК.

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

Отразить данные в Excel - Обратный порядок данных в столбце / строке

После этого можете удалить вспомогательный столбец.

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

Отразить данные по горизонтали

Вы также можете использовать ту же методику, чтобы перевернуть данные в Excel по горизонтали.

В Excel есть возможность сортировать данные по горизонтали с помощью диалогового окна «Сортировка» (функция «Сортировать слева направо»).

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

Отразить данные в Excel - Обратный порядок данных в столбце / строке

Ниже приведены шаги для этого:

  1. В строке ниже введите «Помощник» в качестве заголовка строки.
  2. Во вспомогательной строке введите ряд чисел (1, 2, 3 и т. Д.).
  3. Выберите весь набор данных, включая вспомогательную строку
  4. Перейдите на вкладку «Данные«.
  5. Щелкните значок сортировки
  6. В диалоговом окне «Сортировка» нажмите кнопку «Параметры«.
  7. В открывшемся диалоговом окне нажмите «Сортировать слева направо».
  8. Нажмите ОК.
  9. В раскрывающемся списке «Сортировать по» выберите строку 3 (или любую другую строку, в которой есть вспомогательный столбец).
  10. В раскрывающемся списке «Порядок» выберите «От наибольшего к наименьшему».
  11. Нажмите ОК.

Вышеупомянутые шаги перевернут всю таблицу по горизонтали.

Отразить данные в Excel - Обратный порядок данных в столбце / строке

После этого вы можете удалить вспомогательную строку.

Отразить данные с помощью формул

В Microsoft 365 появилось несколько новых формул, которые позволяют очень легко изменить порядок столбца или таблицы в Excel.

В этом разделе я покажу вам, как это сделать, используя формулу СОРТБИ (если вы используете Microsoft 365) или формулу ИНДЕКС (если вы не используете Microsoft 365).

Использование функции СОРТБИ (доступно в Microsoft 365)

Предположим, у вас есть таблица, показанная ниже, и вы хотите перевернуть данные в этой таблице:

Отразить данные в Excel - Обратный порядок данных в столбце / строке

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

Отразить данные в Excel - Обратный порядок данных в столбце / строке
Отразить данные в Excel - Обратный порядок данных в столбце / строке

Теперь используйте следующую формулу под ячейкой в ​​крайнем левом заголовке:
= СОРТИРОВАТЬ ($ A $ 2: $ B $ 12; СТРОКА (A2: A12); - 1)

Приведенная выше формула сортирует данные и использует результат функции СТРОКА в качестве основы для их сортировки.

Функция ROW в этом случае вернет массив чисел, который представляет номера строк между указанным диапазоном (который в этом примере будет серией чисел, таких как 2, 3, 4 и т. Д.).

А поскольку третий аргумент этой формулы равен -1, это заставит формулу сортировать данные в порядке убывания.

Запись с наивысшим номером строки будет наверху, а запись с наименьшим номером правила — внизу, что существенно меняет порядок данных.

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

Использование функции ИНДЕКС

Если у вас нет доступа к функции СОРТИРОВКА, не беспокойтесь — вы можете использовать удивительную функцию ИНДЕКС.

Предположим, у вас есть набор данных с именами, как показано ниже, и вы хотите перевернуть эти данные.

Отразить данные в Excel - Обратный порядок данных в столбце / строке
Отразить данные в Excel - Обратный порядок данных в столбце / строке

Ниже приведена формула для этого:
= ИНДЕКС ($ A $ 2: $ A $ 12, СТРОКИ (A2: $ A $ 12))

Как работает эта формула?

В приведенной выше формуле используется функция ИНДЕКС, которая возвращает значение из ячейки на основе числа, указанного во втором аргументе.

Настоящая магия происходит во втором аргументе, где я использовал функцию ROWS.

Поскольку я заблокировал вторую часть ссылки в функции ROWS, в первой ячейке она вернет количество строк между A2 и A12, которое будет равно 11.

Но когда он идет вниз по строкам, первая ссылка изменится на A3, а затем на A4 и так далее, в то время как вторая ссылка останется как есть, потому что я заблокировал ее и сделал ее абсолютной.

По мере того, как мы спускаемся по строкам, результат функции ROWS будет уменьшаться на 1, с 11 до 10, до 9 и так далее.

А поскольку функция ИНДЕКС возвращает нам значение на основе числа во втором аргументе, это в конечном итоге даст нам данные в обратном порядке.

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

Предположим, у вас есть набор данных, показанный ниже, и вы хотите изменить порядок всей таблицы в обратном порядке:

Отразить данные в Excel - Обратный порядок данных в столбце / строке
Отразить данные в Excel - Обратный порядок данных в столбце / строке

Ниже приведена формула, которая сделает это за вас:
= ИНДЕКС ($ A $ 2: $ B $ 12, СТРОКИ (A2: $ A $ 12), КОЛОННЫ ($ A $ 2: A2))

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

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

После этого вы можете преобразовать формулы в значения, чтобы получить статический результат.

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

Перевернуть данные с помощью VBA

Если перелистывание данных в Excel — это то, что вам нужно делать довольно часто, вы также можете попробовать метод VBA.

С помощью кода макроса VBA вы можете один раз скопировать и вставить его в книгу в редакторе VBA, а затем повторно использовать его снова и снова в той же книге.

Вы также можете сохранить код в личной книге макросов или как надстройку Excel и иметь возможность использовать его в любой книге в вашей системе.

Ниже приведен код VBA, который перевернет выбранные данные на листе по вертикали.
Sub FlipVerically () 'Code by Sumit Bansal с TrumpExcel.com Dim TopRow As Variant Dim LastRow As Variant Dim StartNum As Integer Dim EndNum as Integer Application.ScreenUpdating = False StartNum = 1 EndNum = Selection.Rows.Count Do While StartNum <EndNum TopRow = Selection.Rows (StartNum) LastRow = Selection.Rows (EndNum) Selection.Rows (EndNum) = TopRow Selection.Rows (StartNum) = LastRow StartNum = StartNum + 1 EndNum = EndNum - 1 приложение цикла. ScreenUpdating = True End Sub
Чтобы использовать этот код, вам сначала нужно выбрать набор данных, который вы хотите отменить (исключая заголовки), а затем запустить этот код.

Как работает этот код?

Приведенный выше код сначала подсчитывает общее количество строк в наборе данных и присваивает его переменной EndNum.

Затем он использует цикл Do While, в котором происходит сортировка данных.

Он сортирует эти данные, беря первую и последнюю строки и меняя их местами. Затем он переходит во вторую строку во второй последней строке и меняет их местами. Затем он переходит в третий ряд в третьем последнем ряду и так далее.

Цикл заканчивается, когда вся сортировка завершена.

Он также использует свойство Application.ScreenUpdating и устанавливает для него значение FALSE во время выполнения кода, а затем возвращает его в значение TRUE, когда код завершает работу.

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

Как пользоваться кодом?

Выполните следующие действия, чтобы скопировать и вставить этот код в редактор VB:

  1. Откройте файл Excel, в который вы хотите добавить код VBA.
  2. Удерживая клавишу ALT, нажмите клавишу F11 (вы также можете перейти на вкладку Разработчик и щелкнуть значок Visual Basic)
  3. В открывшемся редакторе Visual Basic в левой части редактора VBA будет Project Explorer. Если вы его не видите, перейдите на вкладку «Просмотр», а затем нажмите «Обозреватель проекта».
  4. Щелкните правой кнопкой мыши любой из объектов книги, в которую вы хотите добавить код.
  5. Перейдите к опции «Вставить» и нажмите «Модуль». Это добавит новый модуль в книгу
  6. Дважды щелкните значок модуля в проводнике проекта. Это откроет окно кода для этого модуля
  7. Скопируйте и вставьте приведенный выше код VBA в окно кода.

Чтобы запустить код макроса VBA, сначала выберите набор данных, который вы хотите перевернуть (за исключением заголовков).

Выбрав данные, перейдите в редактор VB и нажмите зеленую кнопку воспроизведения на панели инструментов или выберите любую строку в коде и затем нажмите клавишу F5.

Отразить данные в Excel - Обратный порядок данных в столбце / строке

Итак, это некоторые из методов, которые вы можете использовать для переворота данных в Excel (т. Е. Обратного порядка набора данных).

Все методы, которые я рассмотрел в этом руководстве (формулы, функция СОРТИРОВКИ и VBA), можно использовать для переворота данных по вертикали и горизонтали (вам нужно будет соответствующим образом настроить формулу и код VBA для горизонтального переворота данных).

Надеюсь, вы нашли этот урок полезным.

Просмотров: 437

Источник проблемы.  

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

Приведем пример. Мы имеем таблицу следующего вида:

Perevorot

Цена, а значит и сумма заказа по каждой позиции зависит от объема, то есть от количества заказанных единиц товара. В этом случае можно было бы применить функцию ГПР, но тогда цены должны быть указаны в порядке их повышения. Здесь же ситуация состоит с точностью до наоборот.

Транспонирование.

Наверное, это самый простой вариант решения проблемы. Необходимо скопировать нужную таблицу. После этого выбрать ячейку рядом и в специальной вставке выбрать вариант «транспонирование». В последних версиях Excel этот пункт вынесен в виде пиктограммы непосредственно в контекстное меню.

Perevorot

В результате мы переворачиваем таблицу на 90 градусов, и ее столбцы и строки поменяются местами.Perevorot

Как это использовать для переворачивания исходных столбцов? Очень просто! После транспонирования надо пронумеровать строчки с нужными данными. В нашем случае это выглядит так.

Perevorot

После этого выделяем нужные строки вместе с добавленной нами нумерацией, и запускаем с вкладки «Данные» настраиваемую сортировку.

Perevorot

В появившемся окне убираем, если стоит, галочку «мои данные содержат заголовки», в качестве первого уровня показываем столбец с нашей нумерацией и выбираем вариант сортировки по убыванию.

Perevorot

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

Теперь наша таблица уже выглядит следующим образом.

Perevorot

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

Преимуществом данного способа является прежде всего простота и доступность, а также отсутствие формул и функций. Однако метод имеет и недостатки. Прежде всего это трудоемкость.  Кроме этого, имеется ограничение на количество столбцов. На листе Excel имеется только 16384 строки. Поэтому если у вас в таблице строк больше, а я сталкивался с таблицами и в 20000 строк, и в 200000 строк, и более чем в миллион строк, так вот в таком случае способ бесполезен и все-таки придется использовать формулы и функции

Используем для переворачивания функцию ИНДЕКС.

Наверное, это самый простой вариант для разворота таблицы в обратную сторону средствами MS Excel без предварительного транспонирования, который я смог найти на просторах интернета. Суть его состоит в том, что в качестве диапазона указываем строку, в которой надо поменять столбцы местами. Номер строки задаем равной 1, а в качестве номера столбца используем дополнительную функцию ЧИСЛСТОЛБ, в которой указываем заново этот же диапазон для разворачивания, но в адресе последней ячейки в ней закрепляем только столбец, используя смешанную адресацию

Perevorot

Данный способ, точнее данная составная функция, проще, чем следующие варианты из сети Интернет:

=ИНДЕКС (A$1:A$6;ЧСТРОК (A$1:A$6)+СТРОКА (A$1)-СТРОКА ()) =СМЕЩ ($A$6;(СТРОКА ()-СТРОКА ($A$1))*-1;0)

=ИНДЕКС ($A$1:$A$6;СЧЁТЗ ($A$1:$A$6)-СТРОКА ()+1)

=ИНДЕКС (A:A;СЧЁТЗ (A:A)-СТРОКА ()+1)

=ИНДЕКС (A$1:A$6;7-СТРОКА ()) {=ИНДЕКС ($A$1:$A$6;НАИБОЛЬШИЙ (СТРОКА ($A$1:$A$6)*ЕЧИСЛО ($A$1:$A$6);СТРОКА (1:1)))} это формула массива завершается ввод нажатием Ctrl+Shift+Enter.

В отличии от всего этого мы использовали только две функции. Функция ИНДЕКС извлекает значение из диапазона на пересечении указанных по номеру в таблице строки и столбца. Строка была только одна, поэтому мы и написали единицу. Номер же столбца мы нашли с помощью функции ЧИСЛСТОЛБ. Вначале она показала номер последнего столбца, а затем из=-за примененной адресации этот номер стал уменьшаться и в итоге столбцы стали разворачиваться.

Учтите, что если надо было бы поменять местами строки, то надо уже указать диапазон из одного столбца. В формуле вместо единицы на месте номера строки надо было бы указать функцию ЧСТРОК и, выделив диапазон, в адресе последней ячейки уже закрепить только строку, оставив знак доллара только перед ее номером.

Применяем функцию СМЕЩ.

В данном случае необходимо добавить сверху таблицы новую строку и пронумеровать в ней нужные столбцы в обратном порядке, начиная с нуля. Удобно это сделать с помощью простой формулы, как на рисунке. Первый нуль мы указываем, конечно, сами с клавиатуры.

Perevorot

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

Результат перед вами. И обратите внимание на адресацию!

Perevorot

Действия после разворачивания таблицы и итоги работы.

Теперь, когда таблица развернута в противоположном по столбцам направлении, уже можно применить в частности функцию ГПР.

В данном случае она будет выглядеть так.

Perevorot

Более подробно о функциях ВПР и ГПР мы поговорим на следующих уроках.

Наше же текущее занятие подошло к концу. Желаю всем безошибочной работы и профессионализма на практике. Помните, что многие действия могут быть выполнены гораздо проще, чем кажется вначале. Не зря еще дедушка Крылов обронил в свое время фразу: «На мудреца довольно простоты … А ларчик просто открывался…

Всем успехов и уверенности в своих силах. Экспериментируйте, будьте аккуратными и внимательным и все будет получаться и становиться простым и легким!.

Переворачиваем с помощью сортировки

Для применения данного метода не требуется формул. Более того, сами перемещаемые пр развороте столбцы остаются в пределах своего диапазона, что так же является значитпельным плюсом. К тому же данный спгособ позволяет не только развернуть таблицу слева гнаправа, но и вывести колонки в любом порядке. Все очень просто. ПРедположим, нам надо развернуть стобцыв в таблице, рассмотренной выше. Для этого:

добавляем строку с нужным порядком столбцов. Ее можно добавить как выше заголовка таблицы, так и под ней. Выберем первый вариант.

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

Возвращаемся в настройку сортировки. В пункте «Сортировать по» указываем строку с заданным на первом этапе порядком столбцов и нажимаем ОК

Готово! Согласитесь, простой способ?

Скачать пример рабочей книги

Загрузите образец книги

В этом руководстве будет показано, как перевернуть текст в ячейке в Excel и Google Таблицах.

Простая формула

Самый простой способ перевернуть текстовую строку — использовать формулу, основанную на константе массива, TEXTJOIN и MID. Функция TEXTJOIN объединяет массив текста вместе.

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

Функция MID извлечет каждый символ текстовой строки в обратном порядке с помощью константы массива. После этого функция TEXTJOIN соединит каждый символ в массиве и будет игнорировать пробелы.

1 = TEXTJOIN («», 1, MID (B6, {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1}, 1))

Примечание. Эта формула работает только для текста, состоящего из 15 или менее символов. Для работы с более длинными текстовыми строками необходимо добавить константу массива большего размера или использовать приведенную ниже формулу динамического массива.

Формула динамического массива

Простая формула меняет местами только первые пятнадцать символов, и если текстовая строка содержит более пятнадцати символов, нам придется увеличить число в константе массива до самой большой текстовой строки.

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

Динамическая формула состоит из функций TEXTJOIN, MID, ROW, INDIRECT и LEN.

Формула динамического массива объясняется шаг за шагом:

Шаг 1

Первый шаг — вычислить общее количество символов в текстовой строке и сгенерировать массив чисел, используя следующую часть формулы:

1 = СТРОКА (КОСВЕННАЯ («1:» & ДЛИН (B3)))

Вышеупомянутая формула является формулой массива, и вы также можете преобразовать формулу в формулу массива, нажав Ctrl + Shift + Enter. Это добавит фигурные скобки {} вокруг формулы (примечание: это не обязательно в версиях Excel после Excel 2022.).

Примечание. Когда эти формулы вводятся в ячейку, Excel отображает только первый элемент в массиве. Чтобы увидеть фактический результат формулы массива, вам нужно выбрать ячейку формулы массива и нажать F9 на панели формул.

Шаг 2

Следующий шаг — перевернуть массив чисел, который был сгенерирован ранее, по следующей формуле:

1 = LEN (B3) -ROW (INDIRECT («1:» & LEN (B3))) + 1

Шаг 3

Теперь, чтобы извлечь буквы из текста, мы воспользуемся формулой, основанной на функции MID.

Эта формула изменит порядок массива во время извлечения, вводя символы справа налево.

1 = MID (B3; LEN (B3) -ROW (INDIRECT («1:» & LEN (B3))) + 1,1)

Заключительный этап

Теперь просто указанный выше массив отправляется в функцию TEXTJOIN, и мы получим весь текст в обратном порядке.

Функция TEXTJOIN берет массив и объединяет их без разделителей.

1 = TEXTJOIN («»; TRUE, MID (B3; LEN (B3) -ROW (INDIRECT («1:» & LEN (B3))) + 1,1))

Формула переворота текста в Google Таблицах работает точно так же, как и в Excel. За исключением случаев, когда вы закрываете формулу с помощью CTRL + SHIFT + ВВОД, Google Таблицы добавляет вокруг формулы функцию ArrayFormula (Примечание. жестяная банка введите ArrayFormula вручную, если хотите):

Вы поможете развитию сайта, поделившись страницей с друзьями

0 / 0 / 0

Регистрация: 01.12.2009

Сообщений: 31

1

разместить данные в столбце в обратном порядке

19.12.2012, 00:02. Показов 84791. Ответов 12


Студворк — интернет-сервис помощи студентам

Я не нашел в EXcel указаний как представить срисок данных в столбце в обратном порядке (вместо сверху вниз разместить эти данные снизу вверх). Кто-нибудь сталкивался с этой проблемой?



0



15136 / 6410 / 1730

Регистрация: 24.09.2011

Сообщений: 9,999

19.12.2012, 01:06

2

Создать в соседнем столбце ряд чисел 1, 2, 3, …, отсортировать по этому столбцу по убыванию, удалить столбец.
Создать такой столбец проще всего так: в первые две ячейки вписать 1, 2, выделить эти две ячейки, дабл-кликнуть маркер автозаполнения (черный квадратик в правом нижнем углу рамки выделения).



2



5468 / 1148 / 50

Регистрация: 15.09.2012

Сообщений: 3,514

19.12.2012, 07:49

3

sc, есть же сортировка в Excel, вы это имеете ввиду?



0



0 / 0 / 0

Регистрация: 01.12.2009

Сообщений: 31

19.12.2012, 12:14

 [ТС]

4

Не сортировать значения, а просто поменять порядок их вывода, если диапазон 1-100, то нужно вывести значения по схеме 100 к 1 без сортировки значений.

Добавлено через 2 минуты
А здесь я не понял. Да, создал столбец 1-100, отсортировал его в обратном порядке, удалил столбец, а как заставить поменять порядок в нужном столбце?



0



5468 / 1148 / 50

Регистрация: 15.09.2012

Сообщений: 3,514

19.12.2012, 13:20

5

sc, как версия программы Excel у вас — Excel 2003, 2007 или другая?



0



0 / 0 / 0

Регистрация: 01.12.2009

Сообщений: 31

19.12.2012, 13:21

 [ТС]

6

версия 2007



0



5468 / 1148 / 50

Регистрация: 15.09.2012

Сообщений: 3,514

19.12.2012, 13:24

7

sc,

  1. выделяете столбец, который нужно отсортировать;
  2. вкладка Главная — группа РедактированиеСортировка и фильтр — выберите способ сортировки.



0



956 / 596 / 11

Регистрация: 11.06.2010

Сообщений: 1,345

19.12.2012, 13:25

8

Цитата
Сообщение от sc
Посмотреть сообщение

столбец 1-100 отсортировал в обратном порядке

Слово столбец, замените на слово столбцы, тогда не будет возникать вопроса

Цитата
Сообщение от sc
Посмотреть сообщение

как заставить поменять порядок в нужном столбце?



0



0 / 0 / 0

Регистрация: 01.12.2009

Сообщений: 31

19.12.2012, 13:47

 [ТС]

9

Все как то странно. Задал сортировку от макс к мин, программа поменяла последнюю строчку на 1, а в остальные ввела формулу «предпоследнее значение+1». Естественно сортировка не пошла, вывела «#ссылка!». Что это еще значит?

Добавлено через 1 минуту
А если сортировать два столбца находящиеся рядом, как просит программа, то естественно сортируются оба по значениям



0



5468 / 1148 / 50

Регистрация: 15.09.2012

Сообщений: 3,514

19.12.2012, 13:51

10

sc, выложите книгу с примерными данными и поясните, что нужно сделать.



0



0 / 0 / 0

Регистрация: 01.12.2009

Сообщений: 31

19.12.2012, 13:59

 [ТС]

11

Представленные данные нужно разместить в обратном порядке



0



956 / 596 / 11

Регистрация: 11.06.2010

Сообщений: 1,345

19.12.2012, 14:14

12

Два варианта во вложении
Формулой

Код

=ИНДЕКС(A$1:A$82;ЧСТРОК(A$1:A$82)-СТРОКА()+1)

и сортировкой по доп. столбцу

Вложения

Тип файла: xls sc.xls (46.0 Кб, 3336 просмотров)



2



0 / 0 / 0

Регистрация: 16.12.2015

Сообщений: 6

24.12.2015, 15:31

13

Блин, спасибо всем, кто отвечал в этой теме! Я несколько лет ломал голову над этим вопросом, ища функцию в excel, и в голову как-то не пришло, что можно просто сделать столбец с обратной нумерацией.



0



Like this post? Please share to your friends:
  • Массив данных excel что это такое
  • Масло mobil dte 10 excel 32 аналоги
  • Массив в excel реферат
  • Массив данных excel скачать
  • Масло mobil dte 10 excel 32 208л