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

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

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

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

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

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

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

Чтобы сортировка таблиц в Excel производилась полностью по всем выделенным ячейкам, следует в меню «Сортировка и фильтр» выбирать пункт «Настраиваемая сортировка…» .

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

Чтобы выделялась вся область данных, следует в появившемся окошке «Сортировка» убрать галочку с пункта «Мои данные содержат заголовки» .

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

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

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

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

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

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

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

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

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



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

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

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


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

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


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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для сортировки данных в таблице сделайте следующее.

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

2. Перейдите на вкладку Работа с таблицами -> Макет, нажмите кнопку Данные и щелкните на кнопке Сортировка (рис. 5.27).

Рис. 5.27. Меню кнопки Данные


Примечание

При разрешении экрана больше 1024 x 768 группа Данные будет видна полностью и можно будет сразу щелкать на кнопке Сортировка (рис. 5.28).

Рис. 5.28. Группа Данные при разрешении монитора больше 1024 x 768


3. В диалоговом окне Сортировка (рис. 5.29) выберите столбец, по которому нужно выполнить сортировку таблицы в списке Сначала по. Столбцы здесь перечислены по названиям слева направо.


Рис. 5.29. Окно Сортировка


4. Выберите тип данных сортировки: текст, число или дата.

5. Установите тип сортировки: по возрастанию или по убыванию.

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

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


Рис. 5.30. Окно Параметры сортировки


8. Нажмите кнопку OK, чтобы подтвердить выбранные параметры сортировки.

Совет

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

Отсортируем формулами таблицу, состоящую из 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 по столбцам? Сортировка столбцов таблицы в несколько условий и даже по заданным параметрам, не такая уж сложная задача. Подробно можно прочитать в нашей статье

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

Выделяем таблицу. Главная — блок Редактирование — Сортировка — Настраиваемая сортировка — Параметры

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

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

Настраиваемый список или заданные параметры сортировки

Часто необходимо сортировать данные не по алфавиту или от большего к меньшему, а, например, по дням недели (или по заданным вами параметрам — по филиалам, например). Для этого в столбце Порядок (рисунок 2), выбираем настраиваемый список.

Открывается новое окно.

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

Сортировка. Горячие клавиши

Простого сочетания клавиш не предусмотрено, к сожалению. НО! Всегда есть выход для excel 2007 и выше — управление лентой команд. нажмите Alt. Появятся буквы обозначающие команды.

Похожие публикации