Сортировка диапазона по убыванию формулой. Cортировка строки столбцов в списках Excel. Сортировка по столбцам


Сортировать данные в Excel умеют даже новички. Трудно не заметить сразу три кнопки на ленте.

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

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

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

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

Сортировка по собственному списку

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

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

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

Заходим в Файл – Параметры – Дополнительно – Общие – Изменить списки…

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

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

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

Созданным списком можно пользоваться и в других файлах Excel.

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

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

Сортировка по столбцам

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


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

Сортировка промежуточных итогов

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

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

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

Сортировка данных в Excel

Какими средствами располагает Excel для сортировки данных? Чтобы дать полный ответ на этот вопрос рассмотрим его на конкретных примерах.

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


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

Чтобы отсортировать всю таблицу относительно одного столбца выполните следующее:



Данные отсортированные по всей таблице относительно столбца «Чистая прибыль».



Как в Excel сделать сортировку в столбце

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

Столбец отсортирован независимо от других столбцов таблицы.

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

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


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

  1. Выделите таблицу и выберите инструмент «Данные»-«Сортировка».
  2. В параметрах сортировки снова отмечаем галочкой «Мои данные содержат заголовки столбцов» и указываем: «Столбец» – Чистая прибыль; «Сортировка» – Цвет ячейки; «Порядок» – красный, сверху. И нажмите ОК.

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


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

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

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

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

Как сделать сортировку листа (таблицы, списка) в Excel

В следующем примере мы отсортируем форму заказа футболок по Фамилиям (Столбец С) и расположим их в алфавитном порядке.


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

Как сделать сортировку диапазона в Excel

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


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

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

Пусть имеется таблица, состоящая из 2-х столбцов. Один столбец – текстовый: Список фруктов ; а второй - числовой Объем Продаж (см. файл примера ).

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

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

Для наглядности величины значений в столбце Объем Продаж выделены с помощью (). Также желтым выделены повторяющиеся значения.

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

Решение1

Если числовой столбец гарантировано не содержит значений, то задача решается легко:

  • Числовой столбец отсортировать функцией НАИБОЛЬШИЙ() (см. статью );
  • Функцией ВПР() или связкой функций ИНДЕКС()+ПОИСКПОЗ() выбрать значения из текстового столбца по соответствующему ему числовому значению.

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

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

ИНДЕКС(Продажи;
ОКРУГЛ(ОСТАТ(НАИБОЛЬШИЙ(
--(СЧЁТЕСЛИ(Продажи;"<"&Продажи)&","&ПОВТОР("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 ). В выпадающем списке выберите требуемую сортировку.

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

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

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

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

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

=СЧЁТЕСЛИ($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.

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

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

Проверить формат ячеек можно так: щёлкнуть на нужном диапазоне правой кнопкой мыши и в появившемся контекстном меню выбрать команду "Формат ячеек".

Первый способ упорядочить числа по возрастанию в Excel

Исходная таблица содержит: ФИО сотрудника, его должность и стаж.

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

Для этого нужно выделить диапазон чисел, которые нужно упорядочить. В нашем случае это будет диапазон D3:D8.

Может быть выдано предупреждение о наличии данных рядом с указанным диапазоном. Среди предлагаемых действий нужно выбрать "Сортировать в пределах указанного выделения" и нажать на кнопку "Сортировка".

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

Второй способ упорядочить числа по возрастанию в Excel

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

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

Эта команда позволит вам осуществить упорядочивание чисел по возрастанию.