→ Как сделать по возрастанию в excel. Сортировка ячеек в excel по содержимому. Cортировка строки столбцов в списках Excel. Сортировка по пользовательскому списку. Сортировка. Горячие клавиши

Как сделать по возрастанию в excel. Сортировка ячеек в excel по содержимому. Cортировка строки столбцов в списках Excel. Сортировка по пользовательскому списку. Сортировка. Горячие клавиши

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

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

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

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

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


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

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



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



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

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

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

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

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


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

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

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


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

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

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

Но, все-таки, как отсортировать ячейки Excel по горизонтали ? Для горизонтальной сортировки в Excel припасено несколько вариантов, которые дополняют друг друга:

  1. С помощью стандартного механизма настраиваемой сортировки: Вкладка “Главная”/ группа “Редактирование”/ команда “Сортировка и фильтр”/ “Настраиваемая сортировка”. Далее, в параметрах выбираем сортировку по столбцам диапазона.

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

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

  1. С помощью механизма . Мы уже неоднократно использовали данный инструмент при решении конкурсных заданий ExcelWorldChamp и . На первый взгляд решение может показаться громоздким, однако, по мере освоения Power Query, можно привыкнуть. А, если вы планируете заниматься обработкой данных в Excel, то без использования данного инструмента сейчас просто нельзя.

Используем горизонтальную сортировку с помощью Power Query

Для совершения каких либо манипуляций в Power Query данные необходимо предварительно загрузить. На вкладке данные, в зависимости от типа источника данных пользуемся соответствующей командой. В нашем, простом случае, – это “Из таблицы/диапазона”.

В самом окне редактора Power Query переходим на вкладку “Добавление столбца”, команда “Настраиваемый столбец”. В диалоговом окне настройки столбца вводим функцию List.Sort(), в качестве аргументов передаем столбцы. По умолчанию функция сортируем по возрастанию, поэтому этот опциональный параметр нужно обязательно указывать, если сортировка нужна в убывающем порядке.

List.Sort({[Столбец1],[Столбец2],[Столбец3],[Столбец4],[Столбец5],[Столбец6],[Столбец7]}, Order.Ascending)

что равноценно

List.Sort({[Столбец1],[Столбец2],[Столбец3],[Столбец4],[Столбец5],[Столбец6],[Столбец7]})

а вот формула для убывающего порядка

List.Sort({[Столбец1],[Столбец2],[Столбец3],[Столбец4],[Столбец5],[Столбец6],[Столбец7]}, Order.Descending)

Поскольку результатом получается элемент типа список, нужно определиться с дальнейшими действиями сортировки, если нужно получить столбец со значениями, выбираем опцию “Развернуть в новые строки”, однако, если идет сортировка для большого количества данных, лучше воспользоваться опцией “Извлечь значения…”. При извлечении значений все они извлекаются в одну ячейку с определенным разделителем (ну или без). Если потом возникнет необходимость разнести значения по ячейкам сделать это можно несколькими способами, мы их рассмотрели в данном , однако, лучшим вариантом будет воспользоваться командой “Разделить столбец” вкладки “Главная” в самом Power Query.

Добрый день, сегодня мы поговорим о таком распространенном инструменте как сортировка данных в Excel. Сам инструмент находится на вкладке "Данные"

Но для удобства пользователей быстрая сортировка вынесена на вкладку "Главная" и в контекстное меню.



Какие же возможности предоставляет сортировка:

  • Сортировка по возрастанию и убыванию.

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

  • По цвету ячейки или шрифта

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

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

Одно из новшеств 2007-го Экселя в том, раньше можно было сортировать не более чем по трем столбцам, теперь же их более чем достаточно. Смысл в том, что вы можете сортировать данные сразу по двум критериям. Например, у вас есть таблица с именами баскетбольной команды, их очками, подборами и передачами. Вы сможете отсортировать сначала по имени, потом по очкам и увидите, кто из, скажем, Антонов в вашей команде забивает больше всех очков.

Алгоритм команды: Данные/Сортировка/Добавить уровень.

  • По вашему произвольному порядку

Пользовательский список можно импортировать через параметры Office. Для этого создайте список, выделите диапазон, потом Кнопка Office/Параметры Excel/Изменить списки/Импорт. Если же список невелик, то можно его вручную забить при сортировке Данные/Сортировка/(при этом сортировка поля должна быть по значению, а не по цвету или шрифту)/Порядок/Настраиваемый список.

Excel позволяет анализировать данные по разным параметрам. Встроенный элемент анализа – сортировка. Чтобы элемент сработал, информация должна быть представлена в виде списка, оформленного определенным способом.

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

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

В Excel можно упорядочить списки:

  • по возрастанию;
  • по убыванию;
  • по заданным пользователем параметрам (по дням недели, месяцам и т.п.).

Отсортировать по возрастанию значит упорядочить данные:

  • от 0 до 9;
  • от А до Я;
  • от A до Z.

По убыванию – в обратном порядке.

Чтобы вызвать пользовательский порядок сортировки, необходимо выполнить следующую последовательность: «данные» - «сортировка» - «порядок» - «настраиваемый список». Появляется меню такого вида.



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

У нас есть учебная таблица со списком работников и окладом:

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


Диапазон сортировки расширяется автоматически. Получается так:

Как в Excel отсортировать по возрастанию?

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


Результат:

Как сортировать по алфавиту в Excel?

Выделяем столбец с фамилиями – правая кнопка мыши – выбираем: настраиваемая сортировка.


«Сортировать по» - выбираем имя столбца, значения которого нужно отсортировать по алфавиту. У нас – «ФИО». В сортировке выбираем, на какие параметры будет ориентироваться инструмент. Это может быть цвет ячейки, шрифта, значок ячейки. В нашем примере – «значения» (анализ значений в ячейке). «Порядок» - от А до Я либо от Я до А. Сделаем прямой порядок. Жмем ОК.

Результат сортировки по алфавиту:

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

Исходные данные:

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

Порядок действий:

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


Выбираем от «старых к новым». Значения списка располагают в хронологическом порядке.

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


Сортируем данные по смыслу

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

В меню «Настраиваемый список» выбираем новый список. Формируем иерархию любых объектов. Разделителями могут быть запятые либо клавиша «Ввод».

Когда иерархические объекты внесены, нажимаем «Добавить».


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


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

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

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

Уровни можно добавлять, удалять, копировать, менять местами посредством кнопок «Вверх»-«Вниз».

Это самые простые способы сортировки данных в таблицах. Можно для этих целей применять формулы. Для этих целей подходят встроенные инструменты «НАИМЕНЬШИЙ», «СТРОКА», СЧЕТЕСЛИ».

Отсортируем формулами таблицу, состоящую из 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.

 

 

Это интересно: