Excel сортировка данных при помощи формул

Сортировка формулой

Если вам нужно отсортировать список, то к вашим услугам куча способов, самый простой из которых — кнопки сортировки на вкладке или в меню Данные (Data — Sort). Бывают, однако, ситуации, когда сортировку списка нужно делать автоматически, т.е. формулами. Такое может потребоваться, например, при формировании данных для выпадающего списка, при вычислении данных для диаграмм и т.д. Как же «на лету» сортировать список формулой?

Способ 1. Числовые данные

Если список содержит только числовую информацию, то его сортировку можно легко сделать с помощью функций НАИМЕНЬШИЙ (SMALL) и СТРОКА (ROW):

sort_by_formulas1.gif

Функция НАИМЕНЬШИЙ (SMALL) выдергивает из массива (столбец А) n-й по счету наименьший элемент. Т.е. НАИМЕНЬШИЙ(A:A;1) — это самое маленькое число из столбца, НАИМЕНЬШИЙ(А:А;2) — второе по счету наименьшее и т.д.

Функция СТРОКА (ROW) выдает порядковый номер строки для указанной ячейки, т.е. СТРОКА(А1)=1, СТРОКА(A2)=2  и т.д. В данном случае она используется просто как генератор последовательности чисел n=1,2,3… для нашего отсортированного списка. С тем же успехом можно было сделать дополнительный столбец, заполнить его вручную числовой последовательностью 1,2,3… и ссылаться на него вместо функции СТРОКА.

Способ 2. Текстовый список и обычные формулы

Если в списке не числа, а текст, то функция НАИМЕНЬШИЙ (SMALL) уже не сработает, поэтому придется пойти другим, чуть более длинным, путем.

Сначала добавим служебный столбец с формулой, где будет вычисляться порядковый номер каждого имени в будущем отсортированном списке с помощью функции СЧЁТЕСЛИ (COUNTIF):

sort_by_formulas2.gif

В английской версии это будет:

=COUNTIF(A:A,»<«&A1)+COUNTIF($A$1:A1,»=»&A1)

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

Теперь полученные номера надо расставить последовательно по возрастанию. Для этого можно использовать функцию НАИМЕНЬШИЙ (SMALL) из первого способа:

sort_by_formulas3.gif

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

sort_by_formulas4.gif

Функция ПОИСКПОЗ (MATCH) ищет в столбце В нужный порядковый номер (1, 2, 3 и т.д.) и выдает, по сути, номер строки, где находится это число. Функция ИНДЕКС (INDEX) вытаскивает из столбца А имя по этому номеру строки.

Способ 3. Формула массива

Этот способ представляет собой, по сути, тот же алгоритм расстановки, что и в Cпособе-2, но реализованный формулой массива. Для упрощения формулы диапазону ячеек С1:С10 было дано имя List (выделить ячейки, нажать Ctrl+F3 и кнопку Создать):

sort_by_formulas5.gif

В ячейку Е1 копируем нашу формулу:

=ИНДЕКС(List; ПОИСКПОЗ(НАИМЕНЬШИЙ(СЧЁТЕСЛИ(List; «<«&List); СТРОКА(1:1)); СЧЁТЕСЛИ(List; «<«&List); 0))

Или в англоязычной версии:

=INDEX(List, MATCH(SMALL(COUNTIF(List, «<«&List), ROW(1:1)), COUNTIF(List, «<«&List), 0))

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

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

Во-первых, диапазон List нужно будет задать динамически. Для этого при создании нужно указать не фиксированный диапазон C3:C10, а специальную формулу, которая будет ссылаться на все имеющиеся значения независимо от их количества. Нажмите Alt+F3 или откройте вкладку Формулы — Диспетчер имен (Formulas — Name Manager), создайте новое имя и в поле Ссылка (Reference) впишите вот такую формулу (я предполагаю, что диапазон сортируемых данных начинается с ячейки C1):

=СМЕЩ(C1;0;0;СЧЁТЗ(C1:C1000);1)

=OFFSET(C1,0,0,СЧЁТЗ(C1:C1000),1)

Во-вторых, вышеописанную формулу массива нужно будет протянуть вниз с запасом — с расчетом на вводимые в будущем дополнительные данные. При этом формула массива начнет выдавать ошибку #ЧИСЛО на незаполненных пока ячейках. Чтобы ее перехватить, можно использовать функцию ЕСЛИОШИБКА, которую нужно дописать «вокруг» нашей формулы массива:

=ЕСЛИОШИБКА(ИНДЕКС(List; ПОИСКПОЗ(НАИМЕНЬШИЙ(СЧЁТЕСЛИ(List; «<«&List); СТРОКА(1:1)); СЧЁТЕСЛИ(List; «<«&List); 0));»»)

=IFERROR(NDEX(List, MATCH(SMALL(COUNTIF(List, «<«&List), ROW(1:1)), COUNTIF(List, «<«&List), 0));»»)

Она перехватывает ошибку #ЧИСЛО и выводит вместо нее пустоту (пустые кавычки).

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

  • Сортировка диапазона по цвету
  • Что такое формулы массива и зачем они нужны
  • Сортировка функцией СОРТ и динамические массивы в новом Office 365

Сортировка данных в Excel – инструмент для представления информации в удобном для пользователя виде.

Числовые значения можно отсортировать по возрастанию и убыванию, текстовые – по алфавиту и в обратном порядке. Доступны варианты – по цвету и шрифту, в произвольном порядке, по нескольким условиям. Сортируются столбцы и строки.

Порядок сортировки в Excel

Существует два способа открыть меню сортировки:

  1. Щелкнуть правой кнопкой мыши по таблице. Выбрать «Сортировку» и способ.
  2. Контекстное меню.

  3. Открыть вкладку «Данные» — диалоговое окно «Сортировка».

Данные.

Часто используемые методы сортировки представлены одной кнопкой на панели задач:

Панель.

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

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

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

Пример.

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



Сортировка по цвету ячейки и по шрифту

Программа Excel предоставляет пользователю богатые возможности форматирования. Следовательно, можно оперировать разными форматами.

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

  1. Выделяем столбец – правая кнопка мыши – «Сортировка».
  2. Из предложенного списка выбираем «Сначала ячейки с выделенным цветом».
  3. Цветом.

  4. Соглашаемся «автоматически расширить диапазон».

Пример1.

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

Настраиваемая.

В открывшемся окне вводим необходимые параметры:

Параметры.

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

По такому же принципу сортируются данные по шрифту.

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

Как задать порядок вторичной сортировки в Excel? Для решения этой задачи нужно задать несколько условий сортировки.

  1. Открываем меню «Настраиваемая сортировка». Назначаем первый критерий.
  2. Критерий 1.

  3. Нажимаем кнопку «Добавить уровень».
  4. Новый уровень.

  5. Появляются окошки для введения данных следующего условия сортировки. Заполняем их.

Новые критерии.

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

Сортировка строк в Excel

По умолчанию сортируются данные по столбцам. Как осуществить сортировку по строкам в Excel:

  1. В диалоговом окне «Настраиваемой сортировки» нажать кнопку «Параметры».
  2. Параметры2.

  3. В открывшемся меню выбрать «Столбцы диапазона».
  4. Столбцы диапазона.

  5. Нажать ОК. В окне «Сортировки» появятся поля для заполнения условий по строкам.

По строкам.

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

Случайная сортировка в Excel

Встроенные параметры сортировки не позволяют расположить данные в столбце случайным образом. С этой задачей справится функция СЛЧИС.

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

Числа.

Ставим курсор в соседнюю ячейку (слева-справа, не важно). В строку формул вводим СЛЧИС(). Жмем Enter. Копируем формулу на весь столбец – получаем набор случайных чисел.

СЛЧИС.

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

Динамическая сортировка таблицы в MS Excel

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

  1. Есть набор простых чисел, которые нужно отсортировать по возрастанию.
  2. Набор.

  3. Ставим курсор в соседнюю ячейку и вводим формулу: =НАИМЕНЬШИЙ(A:A;СТРОКА(A1)). Именно так. В качестве диапазона указываем весь столбец. А в качестве коэффициента – функцию СТРОКА со ссылкой на первую ячейку.
  4. НАИМЕНЬШИЙ.

  5. Изменим в исходном диапазоне цифру 7 на 25 – «сортировка» по возрастанию тоже изменится.

По возрастанию.

Если необходимо сделать динамическую сортировку по убыванию, используем функцию НАИБОЛЬШИЙ.

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

  1. Исходные данные – перечень неких названий в произвольном порядке. В нашем примере – список фруктов.
  2. Фрукты.

  3. Выделяем столбец и даем ему имя «Фрукты». Для этого в поле имен, что находится возле строки формул вводим нужное нам имя для присвоения его к выделенному диапазону ячеек.
  4. Поле имен.

  5. В соседней ячейке (в примере – в В5) пишем формулу: Так как перед нами формула массива, нажимаем сочетание Ctrl + Shift + Enter. Размножаем формулу на весь столбец.
  6. Пример2.

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

Скачать формулы сортировки данных в Excel

Пример3.

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

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel для iPad Excel для iPhone Excel для планшетов с Android Excel для телефонов с Android Еще…Меньше

Функция СОРТ сортирует содержимое диапазона или массива. 

В этом примере используется отдельная сортировка по регионам, продавцам и продуктам с помощью формулы =СОРТ(A2:А17), скопированной в ячейки F2, H2 и J2.

Использование функции СОРТ для сортировки диапазонов данных. В этом примере используется формула =СОРТ(A2:A17) для сортировки регионов, которая затем копируется в ячейки H2 и J2, чтобы отсортировать имена продавцов и продукты.

Функция СОРТ возвращает отсортированный массив элементов в массиве. Возвращаемый массив имеет ту же форму, что и предоставленный аргумент массива. 

=СОРТ(массив;[индекс_сортировки];[порядок_сортировки];[по_столбцу])

Аргумент

Описание

массив

Обязательный

Диапазон или массив для сортировки

[индекс_сортировки]

Необязательный 

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

[порядок_сортировки]

Необязательный

Число, указывающее нужный порядок сортировки: 1 для сортировки по возрастанию (по умолчанию), -1 для сортировки по убыванию

[по_столбцу]

Необязательный

Логическое значение, указывающее нужное направление сортировки: ЛОЖЬ для сортировки по строкам (по умолчанию), ИСТИНА для сортировки по столбцам

Примечания: 

  • Если аргумент «индекс_сортировки» не указан, предполагается строка 1 или столбец 1. Если не указан порядок сортировки, применяется сортировка по возрастанию. По умолчанию Excel выполняет сортировку по строкам, а сортировка по столбцам применяется, если аргументу «по_столбцу» присвоено значение ИСТИНА. Если аргументу «по_столбцу» присвоено значение ЛОЖЬ или он отсутствует, Excel выполняет сортировку по строкам.

  • Функция СОРТ предназначена для сортировки данных в массиве. Если вы хотите отсортировать данные в сетке, лучше использовать функцию СОРТПО, поскольку она удобнее. Функция СОРТПО учитывает добавления или удаления столбцов, так как она ссылается на диапазон, а функция СОРТ ссылается на номер индекса столбца.

  • Массив может рассматриваться как строка со значениями, столбец со значениями или комбинация строк и столбцов со значениями. В приведенном выше примере исходным массивом для формулы СОРТ является диапазон A5:D20.

  • Функция СОРТ возвращает массив, который будет рассеиваться, если это будет конечным результатом формулы. Это означает, что Excel будет динамически создавать соответствующий по размеру диапазон массива при нажатии клавиши Enter. Если ваши вспомогательные данные хранятся в таблице Excel, тогда массив будет автоматически изменять размер при добавлении и удалении данных из диапазона массива, если вы используете Структурированные ссылки. Дополнительные сведения см. в статье Поведение рассеянного массива.

  • Приложение Excel ограничило поддержку динамических массивов в операциях между книгами, и этот сценарий поддерживается, только если открыты обе книги. Если закрыть исходную книгу, все связанные формулы динамического массива вернут ошибку #ССЫЛКА! после обновления.

Примеры

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

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

Совместное использование функций СОРТ и ФИЛЬТР, чтобы отсортировать диапазон по возрастанию и ограничить его значениями, превышающими 5000.

Совместное использование функций СОРТ и ФИЛЬТР, чтобы отсортировать диапазон по возрастанию и ограничить его значениями, превышающими 5000.

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

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

См. также

Функция ФИЛЬТР

Функция СЛУЧМАССИВ

Функция ПОСЛЕДОВ

Функция СОРТПО

Функция УНИК

Ошибки #ПЕРЕНОС! в Excel

Динамические массивы и поведение массива с переносом

Оператор неявного пересечения: @

Нужна дополнительная помощь?


Отсортируем формулами таблицу, состоящую из 2-х столбцов. Сортировку будем производить по одному из столбцов таблицы (решим 2 задачи: сортировка таблицы по числовому и сортировка по текстовому столбцу). Формулы сортировки настроим так, чтобы при добавлении новых данных в исходную таблицу, сортированная таблица изменялась динамически. Это позволит всегда иметь отсортированную таблицу без вмешательства пользователя. Также сделаем двухуровневую сортировку: сначала по числовому, затем (для повторяющихся чисел) — по текстовому столбцу.

Пусть имеется таблица, состоящая из 2-х столбцов. Один столбец – текстовый:

Список фруктов

; а второй — числовой

Объем Продаж

(см.

файл примера

).

Задача1 (Сортировка таблицы по числовому столбцу)

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

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

Объем Продаж

выделены с помощью

Условного форматирования

(

). Также желтым выделены повторяющиеся значения.


Примечание

: Задача сортировки отдельного столбца (списка) решена в статьях

Сортированный список (ТЕКСТовые значения)

и

Сортированный список (ЧИСЛОвые значения)

.

Решение1

Если числовой столбец гарантировано не содержит

повторяющихся

значений, то задача решается легко:

  • Числовой столбец отсортировать функцией

    НАИБОЛЬШИЙ()

    (см. статью

    Сортированный список (ЧИСЛОвые значения)

    );

  • Функцией

    ВПР()

    или связкой функций

    ИНДЕКС()+ПОИСКПОЗ()

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

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

ВПР()

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

Функция ВПР() в MS EXCEL

), то этот подход не годится (названия Фруктов будут выведены неправильно).

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

Создадим для удобства 2

Динамических диапазона

Фрукты

и

Продажи

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

В столбцах

D

и

E

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

В ячейке

Е7

запишем зубодробительную

формулу массива

:

=ИНДЕКС(Продажи; ОКРУГЛ(ОСТАТ(НАИБОЛЬШИЙ( —(СЧЁТЕСЛИ(Продажи;»<«&Продажи)&»,»&ПОВТОР(«0»;3-ДЛСТР(СТРОКА(Продажи)-СТРОКА($E$6)))&СТРОКА(Продажи)-СТРОКА($E$6)); СТРОКА()-СТРОКА($E$6));1)*1000;0) )

Данная формула сортирует столбец

Объем продаж

(динамический диапазон

Продажи

) по убыванию. Пропуски в исходной таблице не допускаются. Количество строк в исходной таблице должно быть меньше 1000.

Разберем формулу подробнее:

  • Формула

    СЧЁТЕСЛИ(Продажи;»<«&Продажи)

    возвращает массив {4:5:0:2:7:1:3:5}. Это означает, что число 64 (из ячейки

    B7

    исходной таблицы, т.е. первое число из диапазона

    Продажи

    ) больше 4-х значений из того же диапазона; число 74 (из ячейки

    B8

    исходной таблицы, т.е. второе число из диапазона

    Продажи

    ) больше 5-и значений из того же диапазона; следующее число 23 — самое маленькое (оно никого не больше) и т.д.
  • Теперь вышеуказанный массив целых чисел превратим в массив чисел с дробной частью, где в качестве дробной части будет содержаться номер позиции числа в массиве: {4,001:5,002:0,003:2,004:7,005:1,006:3,007:5,008}. Это реализовано выражением

    &»,»&ПОВТОР(«0»;3-ДЛСТР(СТРОКА(Продажи)-СТРОКА($E$6)))&СТРОКА(Продажи)-СТРОКА($E$6))

    Именно в этой части формулы заложено ограничение о не более 1000 строк в исходной таблице (см. выше). При желании его можно легко изменить, но это бессмысленно (см. ниже раздел о скорости вычислений).
  • Функция

    НАИБОЛЬШИЙ()

    сортирует вышеуказанный массив.
  • Функция

    ОСТАТ()

    возвращает дробную часть числа, представляющую собой номера позиций/1000, например 0,005.
  • Функция

    ОКРУГЛ()

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

    Объемы продаж,

    отсортированных по убыванию.
  • Функция

    ИНДЕКС()

    по номеру позиции возвращает соответствующее ему число.

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

Фрукты

=ИНДЕКС(Фрукты;ОКРУГЛ(…))

В

файле примера

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

ОКРУГЛ()

, вынесена в отдельный столбец

J

. Поэтому итоговые формулы в сортированной таблице выглядят так:

=ИНДЕКС(Фрукты;J7)

и

=ИНДЕКС(Продажи;J7)

Также, изменив в формуле массива функцию

НАИБОЛЬШИЙ()

на

НАИМЕНЬШИЙ()

получим сортировку по возрастанию.

Для наглядности, величины значений в столбце

Объем Продаж

выделены с помощью

Условного форматирования

(

). Как видно, сортировка работает.

Тестируем

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

1. В ячейку

А15

исходной таблицы введите слово

Морковь

; 2. В ячейку

В15

введите

Объем продаж

Моркови = 25; 3. После ввода значений, в столбцах

D

и

Е

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

Скорость вычислений формул

На «среднем» по производительности компьютере пересчет пары таких

формул массива,

расположенных в 100 строках, практически не заметен. Для таблиц с 300 строками время пересчета занимает 2-3 секунды, что вызывает неудобства. Либо необходимо отключить автоматический пересчет листа (

) и периодически нажимать клавишу

F9

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

Альтернативные подходы к сортировке таблиц

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

CTRL+SHIFT+L

). В выпадающем списке выберите требуемую сортировку.

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

Также можно воспользоваться инструментом Сортировка (

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

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

При использовании

Таблиц в формате EXCEL2007

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

Какой вариант предпочтительней — как всегда — выбирать разработчику.

Еще одна формула массива (+дополнительный столбец). Задача1.1

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

формулы массива

, но нам понадобится дополнительный (служебный) столбец D (см.

файл примера лист Пример2

):

=

НАИБОЛЬШИЙ(ЕСЛИ(F7=$B$7:$B$14;СТРОКА($B$7:$B$14)-СТРОКА($B$6);0);СЧЁТЕСЛИ($F$7:$F$14;F7)-СЧЁТЕСЛИ($F$6:F6;F7))

В столбце F содержится отсортированный столбец В (объем продаж). Формула возвращает позицию значения объема продаж. Например, число 86 находится в 5-й строке таблицы.

Для повторов выражение

ЕСЛИ(F8=$B$7:$B$14;СТРОКА($B$7:$B$14)-СТРОКА($B$6);0)

будет возвращать несколько значений: {0:2:0:0:0:0:0:8}, т.е. число 74 находится в строках 2 и 8.

С помощью функции

НАИБОЛЬШИЙ()

сначала выводится 2, затем 8 (в разных строках).

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

Задача2 (Сортировка таблицы по текстовому столбцу)

Отсортируем строки таблицы по содержимому Текстового столбца (по Фруктам).


Примечание

: Про сортировку списка текстовых значений можно прочитать в статье

Сортированный список в MS EXCEL (ТЕКСТовые значения)

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

Для сортировки таблицы придется создать 2 служебных столбца (D и E).

В столбце D введем

формулу массива, возвращающую несколько значений

=

СЧЁТЕСЛИ($B$7:$B$14;»<«&$B$7:$B$14)+1

Эта формула является аналогом

ранга

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

В столбце E введем обычную формулу:

=

СЧЁТЕСЛИ($D$6:D6;D7)+D7

Эта формула учитывает повторы текстовых значений и корректирует «ранг». Теперь разным значениям Яблоки соответствуют разные «ранги» — 7 и 8. Это позволяет вывести список сортированных значений. Для этого используйте формулу (столбец G):

=

ИНДЕКС($B$7:$B$14;ПОИСКПОЗ(СТРОКА()-СТРОКА($G$6);$E$7:$E$14;0))

Аналогичная формула выведет соответствующий объем продаж (столбец Н).

Задача 2.1 (Двухуровневая сортировка)

Теперь снова отсортируем исходную таблицу по Объему продаж. Но теперь для повторяющихся значений (в столбце А три значения 74), соответствующие значения выведем в алфавитном порядке.

Для этого воспользуемся результатами Задачи 1.1 и Задачи 2.

Подробности в

файле примера

на листе Задача2.

Содержание

  • Вариант 1: Microsoft Excel 2007 – 2021
    • Способ 1: Сортировка по алфавиту
    • Способ 2: Настраиваемая сортировка
    • Способ 3: Применение функций
  • Вариант 2: Microsoft Excel 2003
  • Вопросы и ответы

как_отсортировать_данные_в_таблице_excel_logo

Важно! Сортировка данных в Microsoft Excel — это базовая функция табличного редактора, доступная во всех версиях программы. Но в статье будут отдельно рассматриваться редакции 2007 – 2021 и 2003 годов, так как у них наблюдаются существенные различия в интерфейсе.

Читайте также: Функции сортировки и фильтрации данных в Microsoft Excel

Вариант 1: Microsoft Excel 2007 – 2021

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

Примечание! Все действия, представленные в статье, будут производиться в Microsoft Excel 2021. Это следует учитывать, так как в других версиях есть отличия в наименовании и месторасположении некоторых элементов интерфейса. В остальном же описываемые способы решения поставленной задачи являются актуальными.

Способ 1: Сортировка по алфавиту

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

как_отсортировать_данные_в_таблице_excel_01

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

как_отсортировать_данные_в_таблице_excel_02

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

как_отсортировать_данные_в_таблице_excel_03

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

как_отсортировать_данные_в_таблице_excel_04

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

Lumpics.ru

как_отсортировать_данные_в_таблице_excel_05

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

Подробнее:
Сортировка по алфавиту в Microsoft Excel
Сортировка чисел по возрастанию в Microsoft Excel

как_отсортировать_данные_в_таблице_excel_06

Способ 2: Настраиваемая сортировка

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

как_отсортировать_данные_в_таблице_excel_07

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

как_отсортировать_данные_в_таблице_excel_08

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

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

Использование предустановленных шаблонов

Откройте окно настраиваемой сортировки и задайте предварительные параметры. Если редактируемая таблица содержит заголовки, установите отметку у строки «Мои данные содержат заголовки», которая находится в верхнем правом углу.

как_отсортировать_данные_в_таблице_excel_09

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

как_отсортировать_данные_в_таблице_excel_10

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

  1. Значения ячеек. Позволяет изменить расположение данных в таблице по содержимому. По умолчанию доступно две опции — «От А до Я» и «От Я до А», но при необходимости можно настроить список, тем самым разместив данные по дням недели, месяцам и так далее.
  2. Цвет ячейки. Если в таблице есть цветовое выделение данных, всю информацию можно отсортировать с учетом этой особенности. Программа автоматически проверит наличие использующихся цветов и предложит выбрать нужный в соответствующем выпадающем списке.
  3. Цвет шрифта. Аналогичным образом можно выполнить сортировку, взяв за основу цвет используемого шрифта.
  4. Значок условного форматирования. Если при заполнении таблицы было применено условное форматирование, редактирование можно произвести с учетом этой особенности. Обратите внимание, что на нашем сайте есть отдельная статья, в которой демонстрируются все возможности такой опции.

    Подробнее: Условное форматирование: инструмент Microsoft Excel для визуализации данных

  5. как_отсортировать_данные_в_таблице_excel_11

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

  1. Если необходимо выполнить сортировку по нескольким столбцам, параметрам и порядковым данным, щелкните по кнопке «Добавить уровень», чтобы дополнить список в основной области окна еще одной строкой. Рядом располагается опция «Удалить уровень», предназначенная для очистки списка.
  2. как_отсортировать_данные_в_таблице_excel_12

  3. Разместив необходимое количество строк, определите все столбцы, которые будут отформатированы. Делается это в выпадающих списках «Столбец». Обратите внимание, что один и тот же столбец таблицы можно сортировать несколько раз.
  4. как_отсортировать_данные_в_таблице_excel_13

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

  7. В зависимости от выбранных параметров в столбце «Порядок» выберите для каждого из них сценарий выполнения. Например, при обработке значений ячеек можно выполнить сортировку по алфавиту, а при обращении к цвету шрифта выбрать в соответствующем списке нужную окраску. Обратите внимание, что в некоторых случаях требуется указать месторасположение проверяемых данных («Сверху» или «Снизу»), которое они займут после выполнения сортировки.
  8. как_отсортировать_данные_в_таблице_excel_15

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

как_отсортировать_данные_в_таблице_excel_16

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

как_отсортировать_данные_в_таблице_excel_17

Когда все настройки будут завершены, нажмите по кнопке «ОК» для их применения. Но прежде рекомендуем внимательно перепроверить выбранные параметры.

как_отсортировать_данные_в_таблице_excel_18

Создание собственного списка

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

как_отсортировать_данные_в_таблице_excel_19

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

Если для более точной сортировки необходимо использовать индивидуальный список, создать его можно самостоятельно. Для этого следует в левой рабочей области выбрать пункт «НОВЫЙ СПИСОК», после чего в поле «Элементы списка» начать вводить текст, разделяя каждую позицию новым абзацем с помощью клавиши Enter. Вписав все необходимые данные, нажмите по кнопке «Добавить», чтобы изменения зарегистрировались в программе.

как_отсортировать_данные_в_таблице_excel_20

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

Способ 3: Применение функций

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

Сортировка посредством формул выполняется с помощью двух функций — НАИМЕНЬШИЙ и НАИБОЛЬШИЙ. Логика их работы аналогична друг другу, отличается только результат. В первом случае будет выводиться диапазон исходных данных отсортированный от меньшего числа к большему, во втором — наоборот.

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

=НАИМЕНЬШИЙ(X:X;СТРОКА(X1)) или =НАИБОЛЬШИЙ(X:X;СТРОКА(X1))

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

как_отсортировать_данные_в_таблице_excel_21

Вариант 2: Microsoft Excel 2003

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

Примечание! Инструкция по работе функций НАИМЕНЬШИЙ и НАИБОЛЬШИЙ не будет рассмотрена, так как ничем не отличается от ранее представленной в статье.

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

как_отсортировать_данные_в_таблице_excel_22

Настраиваемая сортировка в Microsoft Excel 2003 тоже есть, но она имеет меньший набор возможностей, позволяет только менять порядок исходных данных по возрастанию или убыванию. Чтобы этим воспользоваться, нужно выделить таблицу, раскрыть меню «Данные» и кликнуть по пункту «Сортировка».

как_отсортировать_данные_в_таблице_excel_23

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

как_отсортировать_данные_в_таблице_excel_24

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

как_отсортировать_данные_в_таблице_excel_25

Примечание! В отличие от Microsoft Excel 2007 – 2021, добавлять собственные списки ключей в программе 2003 года нельзя, поэтому доступны лишь предустановленные — дни недели и месяцы.

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Excel сортировка данных по формуле
  • Excel сортировка данных по условиям
  • Excel сортировка данных по всем листам
  • Excel сортировка данных в ячейке по алфавиту
  • Excel сортировка данных в столбце по алфавиту

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии