Сортировка формулой
Если вам нужно отсортировать список, то к вашим услугам куча способов, самый простой из которых — кнопки сортировки на вкладке или в меню Данные (Data — Sort). Бывают, однако, ситуации, когда сортировку списка нужно делать автоматически, т.е. формулами. Такое может потребоваться, например, при формировании данных для выпадающего списка, при вычислении данных для диаграмм и т.д. Как же «на лету» сортировать список формулой?
Способ 1. Числовые данные
Если список содержит только числовую информацию, то его сортировку можно легко сделать с помощью функций НАИМЕНЬШИЙ (SMALL) и СТРОКА (ROW):
Функция НАИМЕНЬШИЙ (SMALL) выдергивает из массива (столбец А) n-й по счету наименьший элемент. Т.е. НАИМЕНЬШИЙ(A:A;1) — это самое маленькое число из столбца, НАИМЕНЬШИЙ(А:А;2) — второе по счету наименьшее и т.д.
Функция СТРОКА (ROW) выдает порядковый номер строки для указанной ячейки, т.е. СТРОКА(А1)=1, СТРОКА(A2)=2 и т.д. В данном случае она используется просто как генератор последовательности чисел n=1,2,3… для нашего отсортированного списка. С тем же успехом можно было сделать дополнительный столбец, заполнить его вручную числовой последовательностью 1,2,3… и ссылаться на него вместо функции СТРОКА.
Способ 2. Текстовый список и обычные формулы
Если в списке не числа, а текст, то функция НАИМЕНЬШИЙ (SMALL) уже не сработает, поэтому придется пойти другим, чуть более длинным, путем.
Сначала добавим служебный столбец с формулой, где будет вычисляться порядковый номер каждого имени в будущем отсортированном списке с помощью функции СЧЁТЕСЛИ (COUNTIF):
В английской версии это будет:
=COUNTIF(A:A,»<«&A1)+COUNTIF($A$1:A1,»=»&A1)
Первое слагаемое — это функция подсчета количества ячеек, которые меньше текущей. Второе — подстраховка на случай, если какое-либо имя встречается больше одного раза. Тогда они будут иметь не одинаковые, а последовательно возрастающие номера.
Теперь полученные номера надо расставить последовательно по возрастанию. Для этого можно использовать функцию НАИМЕНЬШИЙ (SMALL) из первого способа:
Ну, и наконец, осталось просто вытащить из списка имена по их номерам. Для этого можно использовать такую формулу:
Функция ПОИСКПОЗ (MATCH) ищет в столбце В нужный порядковый номер (1, 2, 3 и т.д.) и выдает, по сути, номер строки, где находится это число. Функция ИНДЕКС (INDEX) вытаскивает из столбца А имя по этому номеру строки.
Способ 3. Формула массива
Этот способ представляет собой, по сути, тот же алгоритм расстановки, что и в Cпособе-2, но реализованный формулой массива. Для упрощения формулы диапазону ячеек С1:С10 было дано имя List (выделить ячейки, нажать Ctrl+F3 и кнопку Создать):
В ячейку Е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
Отсортируем формулами таблицу, состоящую из 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.
Сортировка данных в Excel – инструмент для представления информации в удобном для пользователя виде.
Числовые значения можно отсортировать по возрастанию и убыванию, текстовые – по алфавиту и в обратном порядке. Доступны варианты – по цвету и шрифту, в произвольном порядке, по нескольким условиям. Сортируются столбцы и строки.
Порядок сортировки в Excel
Существует два способа открыть меню сортировки:
- Щелкнуть правой кнопкой мыши по таблице. Выбрать «Сортировку» и способ.
- Открыть вкладку «Данные» — диалоговое окно «Сортировка».
Часто используемые методы сортировки представлены одной кнопкой на панели задач:
Сортировка таблицы по отдельному столбцу:
- Чтобы программа правильно выполнила задачу, выделяем нужный столбец в диапазоне данных.
- Далее действуем в зависимости от поставленной задачи. Если нужно выполнить простую сортировку по возрастанию/убыванию (алфавиту или обратно), то достаточно нажать соответствующую кнопку на панели задач. Когда диапазон содержит более одного столбца, то Excel открывает диалоговое окно вида:
Чтобы сохранилось соответствие значений в строках, выбираем действие «автоматически расширить выделенный диапазон». В противном случае отсортируется только выделенный столбец – структура таблицы нарушится.
Если выделить всю таблицу и выполнить сортировку, то отсортируется первый столбец. Данные в строках станут в соответствии с положением значений в первом столбце.
Сортировка по цвету ячейки и по шрифту
Программа Excel предоставляет пользователю богатые возможности форматирования. Следовательно, можно оперировать разными форматами.
Сделаем в учебной таблице столбец «Итог» и «зальем» ячейки со значениями разными оттенками. Выполним сортировку по цвету:
- Выделяем столбец – правая кнопка мыши – «Сортировка».
- Из предложенного списка выбираем «Сначала ячейки с выделенным цветом».
- Соглашаемся «автоматически расширить диапазон».
Программа отсортировала ячейки по акцентам. Пользователь может самостоятельно выбрать порядок сортировки цвета. Для этого в списке возможностей инструмента выбираем «Настраиваемую сортировку».
В открывшемся окне вводим необходимые параметры:
Здесь можно выбрать порядок представления разных по цвету ячеек.
По такому же принципу сортируются данные по шрифту.
Сортировка в Excel по нескольким столбцам
Как задать порядок вторичной сортировки в Excel? Для решения этой задачи нужно задать несколько условий сортировки.
- Открываем меню «Настраиваемая сортировка». Назначаем первый критерий.
- Нажимаем кнопку «Добавить уровень».
- Появляются окошки для введения данных следующего условия сортировки. Заполняем их.
Программа позволяет добавить сразу несколько критериев чтобы выполнить сортировку в особом порядке.
Сортировка строк в Excel
По умолчанию сортируются данные по столбцам. Как осуществить сортировку по строкам в Excel:
- В диалоговом окне «Настраиваемой сортировки» нажать кнопку «Параметры».
- В открывшемся меню выбрать «Столбцы диапазона».
- Нажать ОК. В окне «Сортировки» появятся поля для заполнения условий по строкам.
Таким образом выполняется сортировка таблицы в Excel по нескольким параметрам.
Случайная сортировка в Excel
Встроенные параметры сортировки не позволяют расположить данные в столбце случайным образом. С этой задачей справится функция СЛЧИС.
Например, нужно расположить в случайном порядке набор неких чисел.
Ставим курсор в соседнюю ячейку (слева-справа, не важно). В строку формул вводим СЛЧИС(). Жмем Enter. Копируем формулу на весь столбец – получаем набор случайных чисел.
Теперь отсортируем полученный столбец по возрастанию /убыванию – значения в исходном диапазоне автоматически расположатся в случайном порядке.
Динамическая сортировка таблицы в MS Excel
Если применить к таблице стандартную сортировку, то при изменении данных она не будет актуальной. Нужно сделать так, чтобы значения сортировались автоматически. Используем формулы.
- Есть набор простых чисел, которые нужно отсортировать по возрастанию.
- Ставим курсор в соседнюю ячейку и вводим формулу: =НАИМЕНЬШИЙ(A:A;СТРОКА(A1)). Именно так. В качестве диапазона указываем весь столбец. А в качестве коэффициента – функцию СТРОКА со ссылкой на первую ячейку.
- Изменим в исходном диапазоне цифру 7 на 25 – «сортировка» по возрастанию тоже изменится.
Если необходимо сделать динамическую сортировку по убыванию, используем функцию НАИБОЛЬШИЙ.
Для динамической сортировки текстовых значений понадобятся формулы массива.
- Исходные данные – перечень неких названий в произвольном порядке. В нашем примере – список фруктов.
- Выделяем столбец и даем ему имя «Фрукты». Для этого в поле имен, что находится возле строки формул вводим нужное нам имя для присвоения его к выделенному диапазону ячеек.
- В соседней ячейке (в примере – в В5) пишем формулу: Так как перед нами формула массива, нажимаем сочетание Ctrl + Shift + Enter. Размножаем формулу на весь столбец.
- Если в исходный столбец будут добавляться строки, то вводим чуть модифицированную формулу: Добавим в диапазон «фрукты» еще одно значение «помело» и проверим:
Скачать формулы сортировки данных в Excel
Впоследствии при добавлении данных в таблицу процесс сортирования будет выполняться автоматически.
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.
Функция СОРТ возвращает отсортированный массив элементов в массиве. Возвращаемый массив имеет ту же форму, что и предоставленный аргумент массива.
=СОРТ(массив;[индекс_сортировки];[порядок_сортировки];[по_столбцу])
Аргумент |
Описание |
---|---|
массив Обязательный |
Диапазон или массив для сортировки |
[индекс_сортировки] Необязательный |
Число, указывающее строку или столбец, по которым нужно выполнить сортировку. |
[порядок_сортировки] Необязательный |
Число, указывающее нужный порядок сортировки: 1 для сортировки по возрастанию (по умолчанию), -1 для сортировки по убыванию |
[по_столбцу] Необязательный |
Логическое значение, указывающее нужное направление сортировки: ЛОЖЬ для сортировки по строкам (по умолчанию), ИСТИНА для сортировки по столбцам |
Примечания:
-
Если аргумент «индекс_сортировки» не указан, предполагается строка 1 или столбец 1. Если не указан порядок сортировки, применяется сортировка по возрастанию. По умолчанию Excel выполняет сортировку по строкам, а сортировка по столбцам применяется, если аргументу «по_столбцу» присвоено значение ИСТИНА. Если аргументу «по_столбцу» присвоено значение ЛОЖЬ или он отсутствует, Excel выполняет сортировку по строкам.
-
Функция СОРТ предназначена для сортировки данных в массиве. Если вы хотите отсортировать данные в сетке, лучше использовать функцию СОРТПО, поскольку она удобнее. Функция СОРТПО учитывает добавления или удаления столбцов, так как она ссылается на диапазон, а функция СОРТ ссылается на номер индекса столбца.
-
Массив может рассматриваться как строка со значениями, столбец со значениями или комбинация строк и столбцов со значениями. В приведенном выше примере исходным массивом для формулы СОРТ является диапазон A5:D20.
-
Функция СОРТ возвращает массив, который будет рассеиваться, если это будет конечным результатом формулы. Это означает, что Excel будет динамически создавать соответствующий по размеру диапазон массива при нажатии клавиши Enter. Если ваши вспомогательные данные хранятся в таблице Excel, тогда массив будет автоматически изменять размер при добавлении и удалении данных из диапазона массива, если вы используете Структурированные ссылки. Дополнительные сведения см. в статье Поведение рассеянного массива.
-
Приложение Excel ограничило поддержку динамических массивов в операциях между книгами, и этот сценарий поддерживается, только если открыты обе книги. Если закрыть исходную книгу, все связанные формулы динамического массива вернут ошибку #ССЫЛКА! после обновления.
Примеры
Сортировка диапазона значений по убыванию.
Совместное использование функций СОРТ и ФИЛЬТР, чтобы отсортировать диапазон по возрастанию и ограничить его значениями, превышающими 5000.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
См. также
Функция ФИЛЬТР
Функция СЛУЧМАССИВ
Функция ПОСЛЕДОВ
Функция СОРТПО
Функция УНИК
Ошибки #ПЕРЕНОС! в Excel
Динамические массивы и поведение массива с переносом
Оператор неявного пересечения: @
Нужна дополнительная помощь?
Сортировка данных в Excel – инструмент для представления информации в удобном для пользователя виде.
Числовые значения можно отсортировать по возрастанию и убыванию, текстовые – по алфавиту и в обратном порядке. Доступны варианты – по цвету и шрифту, в произвольном порядке, по нескольким условиям. Сортируются столбцы и строки.
Порядок сортировки в Excel
Существует два способа открыть меню сортировки:
- Щелкнуть правой кнопкой мыши по таблице. Выбрать «Сортировку» и способ.
- Открыть вкладку «Данные» — диалоговое окно «Сортировка».
Часто используемые методы сортировки представлены одной кнопкой на панели задач:
Сортировка таблицы по отдельному столбцу:
- Чтобы программа правильно выполнила задачу, выделяем нужный столбец в диапазоне данных.
- Далее действуем в зависимости от поставленной задачи. Если нужно выполнить простую сортировку по возрастанию/убыванию (алфавиту или обратно), то достаточно нажать соответствующую кнопку на панели задач. Когда диапазон содержит более одного столбца, то Excel открывает диалоговое окно вида: Чтобы сохранилось соответствие значений в строках, выбираем действие «автоматически расширить выделенный диапазон». В противном случае отсортируется только выделенный столбец – структура таблицы нарушится.
Если выделить всю таблицу и выполнить сортировку, то отсортируется первый столбец. Данные в строках станут в соответствии с положением значений в первом столбце.
Сортировка по цвету ячейки и по шрифту
Программа Excel предоставляет пользователю богатые возможности форматирования. Следовательно, можно оперировать разными форматами.
Сделаем в учебной таблице столбец «Итог» и «зальем» ячейки со значениями разными оттенками. Выполним сортировку по цвету:
- Выделяем столбец – правая кнопка мыши – «Сортировка».
- Из предложенного списка выбираем «Сначала ячейки с выделенным цветом».
- Соглашаемся «автоматически расширить диапазон».
Программа отсортировала ячейки по акцентам. Пользователь может самостоятельно выбрать порядок сортировки цвета. Для этого в списке возможностей инструмента выбираем «Настраиваемую сортировку».
В открывшемся окне вводим необходимые параметры:
Здесь можно выбрать порядок представления разных по цвету ячеек.
По такому же принципу сортируются данные по шрифту.
Сортировка в Excel по нескольким столбцам
Как задать порядок вторичной сортировки в Excel? Для решения этой задачи нужно задать несколько условий сортировки.
- Открываем меню «Настраиваемая сортировка». Назначаем первый критерий.
- Нажимаем кнопку «Добавить уровень».
- Появляются окошки для введения данных следующего условия сортировки. Заполняем их.
Программа позволяет добавить сразу несколько критериев чтобы выполнить сортировку в особом порядке.
Сортировка строк в Excel
По умолчанию сортируются данные по столбцам. Как осуществить сортировку по строкам в Excel:
- В диалоговом окне «Настраиваемой сортировки» нажать кнопку «Параметры».
- В открывшемся меню выбрать «Столбцы диапазона».
- Нажать ОК. В окне «Сортировки» появятся поля для заполнения условий по строкам.
Таким образом выполняется сортировка таблицы в Excel по нескольким параметрам.
Случайная сортировка в Excel
Встроенные параметры сортировки не позволяют расположить данные в столбце случайным образом. С этой задачей справится функция СЛЧИС.
Например, нужно расположить в случайном порядке набор неких чисел.
Ставим курсор в соседнюю ячейку (слева-справа, не важно). В строку формул вводим СЛЧИС(). Жмем Enter. Копируем формулу на весь столбец – получаем набор случайных чисел.
Теперь отсортируем полученный столбец по возрастанию /убыванию – значения в исходном диапазоне автоматически расположатся в случайном порядке.
Динамическая сортировка таблицы в MS Excel
Если применить к таблице стандартную сортировку, то при изменении данных она не будет актуальной. Нужно сделать так, чтобы значения сортировались автоматически. Используем формулы.
- Есть набор простых чисел, которые нужно отсортировать по возрастанию.
- Ставим курсор в соседнюю ячейку и вводим формулу: =НАИМЕНЬШИЙ(A:A;СТРОКА(A1)). Именно так. В качестве диапазона указываем весь столбец. А в качестве коэффициента – функцию СТРОКА со ссылкой на первую ячейку.
- Изменим в исходном диапазоне цифру 7 на 25 – «сортировка» по возрастанию тоже изменится.
Если необходимо сделать динамическую сортировку по убыванию, используем функцию НАИБОЛЬШИЙ.
Для динамической сортировки текстовых значений понадобятся формулы массива.
- Исходные данные – перечень неких названий в произвольном порядке. В нашем примере – список фруктов.
- Выделяем столбец и даем ему имя «Фрукты». Для этого в поле имен, что находится возле строки формул вводим нужное нам имя для присвоения его к выделенному диапазону ячеек.
- В соседней ячейке (в примере – в В5) пишем формулу: Так как перед нами формула массива, нажимаем сочетание Ctrl + Shift + Enter. Размножаем формулу на весь столбец.
- Если в исходный столбец будут добавляться строки, то вводим чуть модифицированную формулу: Добавим в диапазон «фрукты» еще одно значение «помело» и проверим:
Впоследствии при добавлении данных в таблицу процесс сортирования будет выполняться автоматически.
Динамическая сортировка таблицы в EXCEL
Отсортируем формулами таблицу, состоящую из 2-х столбцов. Сортировку будем производить по одному из столбцов таблицы (решим 2 задачи: сортировка таблицы по числовому и сортировка по текстовому столбцу). Формулы сортировки настроим так, чтобы при добавлении новых данных в исходную таблицу, сортированная таблица изменялась динамически. Это позволит всегда иметь отсортированную таблицу без вмешательства пользователя. Также сделаем двухуровневую сортировку: сначала по числовому, затем (для повторяющихся чисел) — по текстовому столбцу.
Пусть имеется таблица, состоящая из 2-х столбцов. Один столбец – текстовый: Список фруктов ; а второй — числовой Объем Продаж (см. файл примера ).
Задача1 (Сортировка таблицы по числовому столбцу)
Необходимо отсортировать строки таблицы по содержимому числового столбца (по Объему продаж). Предполагается, что пользователь постоянно заполняет строки таблицы, поэтому необходимо написать формулы с учетом добавляемых значений.
Для наглядности величины значений в столбце Объем Продаж выделены с помощью Условного форматирования ( Главная/ Стили/ Условное форматирование/ Гистограммы ). Также желтым выделены повторяющиеся значения.
Примечание : Задача сортировки отдельного столбца (списка) решена в статьях Сортированный список (ТЕКСТовые значения) и Сортированный список (ЧИСЛОвые значения) .
Решение1
Если числовой столбец гарантировано не содержит повторяющихся значений, то задача решается легко:
- Числовой столбец отсортировать функцией НАИБОЛЬШИЙ() (см. статью Сортированный список (ЧИСЛОвые значения) );
- Функцией ВПР() или связкой функций ИНДЕКС()+ПОИСКПОЗ() выбрать значения из текстового столбца по соответствующему ему числовому значению.
Однако, в реальных задачах числовой столбец может содержать повторы, а так как функция ВПР() в случае наличия повторов всегда выбирает только первое значение сверху (см. статью Функция ВПР() в MS EXCEL ), то этот подход не годится (названия Фруктов будут выведены неправильно).
Поэтому механизм сортировки придется реализовывать по другому.
Создадим для удобства 2 Динамических диапазона Фрукты и Продажи , которые будут ссылаться на диапазоны ячеек, содержащие значения в соответствующих столбцах исходной таблицы. При добавлении новых строк в таблицу, границы этих динамических диапазонов будут автоматически расширяться.
В столбцах D и E разместим таблицу, которая будет динамически сортироваться,
В ячейке Е7 запишем зубодробительную формулу массива :
Аналогичную формулу можно написать для вывода значений в столбец Фрукты =ИНДЕКС(Фрукты;ОКРУГЛ(. ))
В файле примера , из-за соображений скорости вычислений (см. ниже), однотипная часть формулы, т.е. все, что внутри функции ОКРУГЛ() , вынесена в отдельный столбец 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 ):
В столбце F содержится отсортированный столбец В (объем продаж). Формула возвращает позицию значения объема продаж. Например, число 86 находится в 5-й строке таблицы.
Для повторов выражение ЕСЛИ(F8=$B$7:$B$14;СТРОКА($B$7:$B$14)-СТРОКА($B$6);0) будет возвращать несколько значений: , т.е. число 74 находится в строках 2 и 8.
С помощью функции НАИБОЛЬШИЙ() сначала выводится 2, затем 8 (в разных строках).
Эта формула более наглядна, чем рассмотренная выше в начале статьи, но требует наличия дополнительного столбца.
Задача2 (Сортировка таблицы по текстовому столбцу)
Отсортируем строки таблицы по содержимому Текстового столбца (по Фруктам).
Примечание : Про сортировку списка текстовых значений можно прочитать в статье Сортированный список в MS EXCEL (ТЕКСТовые значения)
Как и в предыдущей задаче предположим, что в столбце, по которому ведется сортировка имеются повторы (названия Фруктов повторяются).
Для сортировки таблицы придется создать 2 служебных столбца (D и E).
Эта формула является аналогом ранга для текстовых значений (позиция значения относительно других значений списка). Текстовому значению, расположенному ниже по алфавиту, соответствует больший «ранг». Например, значению Яблоки соответствует максимальный «ранг» 7 (с учетом повторов).
В столбце E введем обычную формулу:
Эта формула учитывает повторы текстовых значений и корректирует «ранг». Теперь разным значениям Яблоки соответствуют разные «ранги» — 7 и 8. Это позволяет вывести список сортированных значений. Для этого используйте формулу (столбец G):
Аналогичная формула выведет соответствующий объем продаж (столбец Н).
Задача 2.1 (Двухуровневая сортировка)
Теперь снова отсортируем исходную таблицу по Объему продаж. Но теперь для повторяющихся значений (в столбце А три значения 74), соответствующие значения выведем в алфавитном порядке.
Как сделать в excel автоматическую сортировку?
Сортировка данных в Excel – инструмент для представления информации в удобном для пользователя виде.
Числовые значения можно отсортировать по возрастанию и убыванию, текстовые – по алфавиту и в обратном порядке. Доступны варианты – по цвету и шрифту, в произвольном порядке, по нескольким условиям. Сортируются столбцы и строки.
Порядок сортировки в Excel
Существует два способа открыть меню сортировки:
- Щелкнуть правой кнопкой мыши по таблице. Выбрать «Сортировку» и способ.
- Открыть вкладку «Данные» — диалоговое окно «Сортировка».
Часто используемые методы сортировки представлены одной кнопкой на панели задач:
Сортировка таблицы по отдельному столбцу:
- Чтобы программа правильно выполнила задачу, выделяем нужный столбец в диапазоне данных.
- Далее действуем в зависимости от поставленной задачи. Если нужно выполнить простую сортировку по возрастанию/убыванию (алфавиту или обратно), то достаточно нажать соответствующую кнопку на панели задач. Когда диапазон содержит более одного столбца, то Excel открывает диалоговое окно вида: Чтобы сохранилось соответствие значений в строках, выбираем действие «автоматически расширить выделенный диапазон». В противном случае отсортируется только выделенный столбец – структура таблицы нарушится.
Если выделить всю таблицу и выполнить сортировку, то отсортируется первый столбец. Данные в строках станут в соответствии с положением значений в первом столбце.
Сортировка по цвету ячейки и по шрифту
Программа Excel предоставляет пользователю богатые возможности форматирования. Следовательно, можно оперировать разными форматами.
Сделаем в учебной таблице столбец «Итог» и «зальем» ячейки со значениями разными оттенками. Выполним сортировку по цвету:
- Выделяем столбец – правая кнопка мыши – «Сортировка».
- Из предложенного списка выбираем «Сначала ячейки с выделенным цветом».
- Соглашаемся «автоматически расширить диапазон».
Программа отсортировала ячейки по акцентам. Пользователь может самостоятельно выбрать порядок сортировки цвета. Для этого в списке возможностей инструмента выбираем «Настраиваемую сортировку».
В открывшемся окне вводим необходимые параметры:
Здесь можно выбрать порядок представления разных по цвету ячеек.
По такому же принципу сортируются данные по шрифту.
Сортировка в Excel по нескольким столбцам
Как задать порядок вторичной сортировки в Excel? Для решения этой задачи нужно задать несколько условий сортировки.
- Открываем меню «Настраиваемая сортировка». Назначаем первый критерий.
- Нажимаем кнопку «Добавить уровень».
- Появляются окошки для введения данных следующего условия сортировки. Заполняем их.
Программа позволяет добавить сразу несколько критериев чтобы выполнить сортировку в особом порядке.
Сортировка строк в Excel
По умолчанию сортируются данные по столбцам. Как осуществить сортировку по строкам в Excel:
- В диалоговом окне «Настраиваемой сортировки» нажать кнопку «Параметры».
- В открывшемся меню выбрать «Столбцы диапазона».
- Нажать ОК. В окне «Сортировки» появятся поля для заполнения условий по строкам.
Таким образом выполняется сортировка таблицы в Excel по нескольким параметрам.
Случайная сортировка в Excel
Встроенные параметры сортировки не позволяют расположить данные в столбце случайным образом. С этой задачей справится функция СЛЧИС.
Например, нужно расположить в случайном порядке набор неких чисел.
Ставим курсор в соседнюю ячейку (слева-справа, не важно). В строку формул вводим СЛЧИС(). Жмем Enter. Копируем формулу на весь столбец – получаем набор случайных чисел.
Теперь отсортируем полученный столбец по возрастанию /убыванию – значения в исходном диапазоне автоматически расположатся в случайном порядке.
Динамическая сортировка таблицы в MS Excel
Если применить к таблице стандартную сортировку, то при изменении данных она не будет актуальной. Нужно сделать так, чтобы значения сортировались автоматически. Используем формулы.
- Есть набор простых чисел, которые нужно отсортировать по возрастанию.
- Ставим курсор в соседнюю ячейку и вводим формулу: =НАИМЕНЬШИЙ(A:A;СТРОКА(A1)). Именно так. В качестве диапазона указываем весь столбец. А в качестве коэффициента – функцию СТРОКА со ссылкой на первую ячейку.
- Изменим в исходном диапазоне цифру 7 на 25 – «сортировка» по возрастанию тоже изменится.
Если необходимо сделать динамическую сортировку по убыванию, используем функцию НАИБОЛЬШИЙ.
Для динамической сортировки текстовых значений понадобятся формулы массива.
- Исходные данные – перечень неких названий в произвольном порядке. В нашем примере – список фруктов.
- Выделяем столбец и даем ему имя «Фрукты». Для этого в поле имен, что находится возле строки формул вводим нужное нам имя для присвоения его к выделенному диапазону ячеек.
- В соседней ячейке (в примере – в В5) пишем формулу: Так как перед нами формула массива, нажимаем сочетание Ctrl + Shift + Enter. Размножаем формулу на весь столбец.
- Если в исходный столбец будут добавляться строки, то вводим чуть модифицированную формулу: Добавим в диапазон «фрукты» еще одно значение «помело» и проверим:
Скачать формулы сортировки данных в Excel
Впоследствии при добавлении данных в таблицу процесс сортирования будет выполняться автоматически.
Работа с таблицами во многих случаях требует анализа содержащихся в них данных. Excel предоставляет мощные средства для обработки информации, возможность построения статистических отчетов и выборки данных по условию. Но иногда достаточно просто произвести сортировку элементов, чтобы решить поставленную задачу.
Упорядочивание чисел
Сортировка чисел по возрастанию или убыванию – распространенная задача. Она помогает выстроить числовые параметры – количество товаров и клиентов, суммы продаж и доходов, и представить информацию в более наглядном виде. Сделаем в Excel сортировку этих данных.
Например, в таблице файла туристической компании хранится информация о стоимости проживания в отеле. Цена зависит от типа номера и предлагаемого питания. Турист заинтересован в поиске наиболее экономного размещения, поэтому нужно отсортировать данные по возрастанию цены.
Для этого выделяем столбец таблицы «Стоимость, руб.» и заходим на вкладку «Главная». В блоке «Редактирование» находится группа инструментов «Сортировка и фильтр». Выбираем из меню пункт «Сортировка по возрастанию».
Программа, обнаружив наличие связанных столбцов, уточняет, нужно ли выполнять сортировку в Excel только по выделенному полю, или же расширить диапазон.
Выбираем «Расширить», так как мы заинтересованы в упорядочивании полных записей таблицы, и нажимаем «Сортировка». Записи выстроены в порядке возрастания стоимости проживания.
Эта операция выполняется еще проще, если таблица отформатирована по стилю. В таком случае нужно вызвать контекстное меню столбца, щелкнув по выпадающему списку в заголовке графы. В меню находятся аналогичные команды, с помощью которых можно выполнить сортировку в Excel.
Для того чтобы числа были отсортированы верно, обратите внимание на корректность формата данных в столбце. Если значения внесены в таблицу как текст, а не число, выстраивание пройдет не в ожидаемом порядке. В таблице приведен пример сортировки чисел 10, 11, 100, 15, 110, 132 в зависимости от формата данных.
Числовой формат | Текстовый формат |
10 | 10 |
11 | 100 |
15 | 11 |
100 | 110 |
110 | 132 |
132 | 15 |
Упорядочивание текста
В Excel сортировка столбцов, содержащих текст, выполняется так же, как и операция с числами. Произведем эту команду в колонке уже известной нам таблицы цен на комнаты в отеле «Питание». Выделяем столбец кликом по его заголовку и открываем панель инструментов «Редактирование» вкладки «Главная». Теперь в выпадающем меню вместо команд сортировки по возрастанию и убыванию расположены команды сортировки от А до Я и наоборот.
Выполняем построение ячеек от А до Я, опять же указывая расширение диапазона операции.
При упорядочивании строковых данных убедитесь в том, что значения не содержат начальных пробелов, так как в таком случае желаемый порядок ячеек будет нарушен. Эта проблема случается, если информация выгружается в файл из другого источника: базы данных, стороннего приложения или другого файла.
Для форматированных таблиц сортировку в Excel выполнить еще проще. Зайдя в контекстное меню заголовка колонки, вы также увидите команды построения ячеек в порядке от А до Я и наоборот.
Упорядочивание дат
Все указанные выше операции, применимые для чисел и строковой информации, используются и для выстраивания дат и времени. Отличие состоит только в наименовании команды, для такого типа данных она называется «Сортировка от старых к новым» и наоборот. Ниже показан пример.
Для дат действует то же правило, что и для чисел: чтобы упорядочивание прошло корректно, убедитесь в том, что сортируемая информация представлена именно в формате даты, а не в текстовом.
Настраиваемые списки
Но не всегда есть возможность выстроить необходимый список штатными средствами, бывает необходимость выполнить сортировку в Excel по полям, к которым не подходит ни один из описанных выше методов. К примеру, в списке дел на неделю мы хотим выстроить задачи по дням недели.
Чтобы выполнить такую сортировку, программа предоставляет возможность использования настраиваемых списков. В MS Excel есть ряд предустановленных списков, одним из которых и является перечень дней недели. Чтобы их посмотреть, зайдите на вкладку «Данные» и найдите панель инструментов сортировки и фильтрации Excel. По кнопке «Сортировка» открывается окно выполнения операции по нескольким столбцам.
В поле «Порядок» выбираем элемент «Настраиваемый список». Из перечня выбираем дни недели и нажимаем ОК.
Упорядочивание по цвету и значкам
Еще одной удобной опцией выстраивания элементов ячейки по порядку является возможность их сортировки по цвету. При этом может использоваться цвет как заливки, так и шрифта текста. В таблице дел обозначим рабочие задачи оранжевым цветом, семейные дела – голубым, праздники – бежево-желтым. И выстроим их по типу.
Для этого заходим в настраиваемую сортировку. Кроме описанного выше способа, можно воспользоваться меню панели «Редактирование» вкладки «Главная». Выбираем из списка команд «Сортировка и фильтр» элемент «Настраиваемая сортировка».
Выбираем поле «Задача», тип «Цвет ячейки» и устанавливаем оранжевый цвет сверху. Чтобы домашние дела находились внизу списка, добавляем еще один уровень и для тех же параметров устанавливаем голубой цвет снизу.
Этот способ позволяет упорядочивать элементы таблицы и по значкам. Например, мы можем пометить отдельные задачи восклицательным знаком как важные и выводить их в начале списка.
Выше мы описали, как в Excel сделать сортировку данных разных типов, используя цвет ячеек и шрифта текста и пометки в строках. Надеемся, эта информация поможет вам в работе с программой.
Событие Worksheet_Change не реагирует на пересчет формул.
Если диапазоны, на которые ссылаются формулы, находятся далеко от таблицы (или на других листах) и их нельзя включить в проверяемый диапазон Target, можно использовать событие пересчета листа:
Application.EnableEvents — чтобы избежать зацикливания, на время сортировки отключаем события листа.
Сортировка будет происходить при пересчете формул. Чтобы пересчет происходил и при ручном изменении данных, в произвольную ячейку нужно добавить формулу с летучей функцией (летучая — пересчитывается при любом изменении на листе), например:
Недостаток данного решения — сортировка включается при любом изменении на листе.
Если пересчет формул происходит не часто, можно параллельно с Worksheet_Change использовать событие активации листа — Worksheet_Activate
Содержание
- Способ 1: Кнопки быстрой сортировки
- Способ 2: Настраиваемая сортировка
- Способ 3: Формула для динамической сортировки
- Вопросы и ответы
Способ 1: Кнопки быстрой сортировки
В Excel есть две универсальные кнопки, позволяющие выполнять сортировку по алфавиту, возрастанию или убыванию, если речь идет о числах. Ими пользоваться проще всего, если есть уже готовая таблица, для которой и производится сортировка. Учитывайте, что при добавлении новых значений сортировка сбивается, а для предотвращения возникновения подобной ситуации нужно запускать ее повторно или применять Способ 3 этой статьи.
- Сначала зажмите левую кнопку мыши и выделите все значения, которые хотите отсортировать в порядке возрастания.
- На вкладке «Главная» разверните раздел «Редактирование» и выберите инструмент «Сортировка и фильтр».
- В нем вы увидите два разных типа сортировок — соответственно, в рассматриваемом случае понадобится выбрать «Сортировку по возрастанию».
- Если таблица содержит другие данные вне указанного диапазона, появится уведомление с предложением расширить выделенный диапазон, чтобы соседние строки смещались относительно значений в выделенных ячейках.
- Если вы выберете расширение диапазона, то увидите, что все данные в таблице сместились относительно отсортированных значений. Отменить изменения можно нажатием по горячей клавише Ctrl + Z.
- Второй тип сортировки, который касается лишь пределов указанного выделения, относится только к выделенным строкам и не затрагивает соседние.
Способ 2: Настраиваемая сортировка
Настраиваемая сортировка подойдет при работе с несколькими значениями в таблице, когда необходимо не только отсортировать один ряд по возрастанию, но и задействовать алфавитную сортировку или другие ее типы, присутствующие в Excel. Основной процесс настройки при использовании этого инструмента выглядит нехитрым образом.
- В том же разделе «Редактирование» нажмите кнопку «Настраиваемая сортировка».
- Ранее мы уже говорили о появлении уведомления при обнаружении данных вне выделенного диапазона. Ознакомьтесь с полученной информацией и решите, какой вариант отмечать маркером.
- В первых двух выпадающих меню выберите столбец для сортировки и указанные значения.
- Для параметра «Порядок» задайте значение «По возрастанию».
- Если желаете отсортировать другие столбцы, вручную добавьте новый уровень и выполните те же действия.
- Вернитесь к таблице и убедитесь в том, что задача выполнена успешно.
Способ 3: Формула для динамической сортировки
В завершение разберем более сложный, но гибкий способ, подразумевающий создание вспомогательной формулы, которая будет сравнивать значения в таблице и выводить на новых ячейках числа по возрастанию. Преимущество этого метода перед остальными заключается в том, что формула автоматически расширяется при добавлении новых значений в таблицу, а значит, происходит их динамическая сортировка.
- Активируйте первую ячейку для формулы и введите
=НАИМЕНЬШИЙ
. Это основная функция, которая автоматически и рассчитает необходимые значения. - В скобках введите выражение
(A:A;СТРОКА(A1))
, где буквы столбца замените на сортируемый, а в качестве A1 используйте первое число. - Растяните эту формулу до конца таблицы, чтобы в каждой ячейке отображалось соответствующее число.
- Если вы выделите любую ячейку из созданного сортированного списка, то увидите, что содержимое формулы автоматически меняется в зависимости от поля. Это и является главной особенностью такого удобного растягивания.
Еще статьи по данной теме:
Помогла ли Вам статья?
Динамическая сортировка таблицы в MS EXCEL
Смотрите также в левой группе изменений «Значение». А можно составлять самостоятельно. кнопка мыши –SmithСтандартныеотображается только при статье относится и таблице Excel, которому данном случае мы столбца и выберите учетом повторов). сортировки таблицы через3. После ввода в массиве: {4,001:5,002:0,003:2,004:7,005:1,006:3,007:5,008}. ВПР() в случаеОтсортируем формулами таблицу, состоящую укажите на первый в третьей секцииВ меню «Настраиваемый список» опция сортировка –
с суммарным результатом(Standard) или в загрузке, редактировании или к Power Query, необходимо сортировать. В выберем сортировку по нужный порядок сортировки.
Задача1 (Сортировка таблицы по числовому столбцу)
В столбце E введем фильтр), не смотря значений, в столбцах Это реализовано выражением наличия повторов всегда из 2-х столбцов. «НОВЫЙ СПИСОК», а «Порядок» выбираем последнюю выбираем новый список.
от максимального значения$345,908 меню создании нового запроса и к новой данном примере мы размеру футболок. ЗатемЧтобы отменить сортировку, нажмите
обычную формулу: на его значениеD Е &»,»&ПОВТОР(«0»;3-ДЛСТР(СТРОКА(Продажи)-СТРОКА($E$6)))&СТРОКА(Продажи)-СТРОКА($E$6)) Именно в выбирает только первое Сортировку будем производить в правом текстовом
Решение1
опцию «Настраиваемый список». Формируем иерархию любых к минимальному значению) стоит в таблице
- Данные с помощью группе. Дополнительные сведения выделим ячейку E2.
- в поле кнопку=СЧЁТЕСЛИ($D$6:D6;D7)+D7 продаж (200).автоматически будет отображена
этой части формулы значение сверху (см. по одному из поле введите всеВ появившемся диалоговом окне объектов. Разделителями могут – ввод: первым.>Power Query см. в статьеОткройте вкладкуПорядокОтменить
Эта формула учитывает повторыКакой вариант предпочтительней -
отсортированная по убыванию заложено ограничение о статью Функция ВПР() столбцов таблицы (решим 4 категории разбив «Списки» выбираем список быть запятые либоДиапазон сортировки расширяется автоматически.Обратите внимание, что данныеСортировка. В видео показано Функция «Скачать и
Данныевыберите пунктна вкладке текстовых значений и
как всегда - таблица; не более 1000 в MS EXCEL),
2 задачи: сортировка
их на 4
названий месяцев в
клавиша «Ввод».
Получается так: в таблице можно(Data > Sort). окно преобразовать» в Excel 2016., затем нажмите командуНастраиваемый списокГлавная корректирует «ранг». Теперь
выбирать разработчику.
- 4. В сортированной строк в исходной то этот подход таблицы по числовому строки. Для этого году и нажимаемКогда иерархические объекты внесены,Выделяем столбец – правая сортировать и поПредположим, мы хотим понять,редактора запросовСортировка таблицы по одномуСортировка.. разным значениям ЯблокиСортировку таблицы можно сделать
- таблице новая строка таблице (см. выше). не годится (названия и сортировка по после ввода каждой ОК. нажимаем «Добавить». кнопка мыши – алфавиту, упорядочив имена какие месяцы показали, которое отображается после столбцу.Появится диалоговое окноПримечание: соответствуют разные «ранги» с помощью другой, будет отображена предпоследней. При желании его Фруктов будут выведены
- текстовому столбцу). Формулы нового названия категории
- Нажмите на кнопку «ДобавитьА вот результат сортировки в этот раз продавцов. Для этого
- наивысшие результаты продаж. изменения запроса вСортировка таблицы по несколькимОткроется диалоговое окноСписки В Excel Online можно — 7 и более простой формулы массива,
- На «среднем» по производительности можно легко изменить, неправильно).
сортировки настроим так, сотрудника нажимайте клавишу уровень» и на учебной таблицы по
указываем: от минимального нужно кликнуть поЕсли выполнить сортировку сводной книге Excel. Чтобы столбцамСортировка. Выберите отсортировать только отдельный 8. Это позволяет но нам понадобится компьютере пересчет пары но это бессмысленно
Поэтому механизм сортировки придется чтобы при добавлении Enter на клавиатуре: втором уровень в
должностям: значения к максимальному одному из имён таблицы по столбцу просмотретьВ редакторе запросов выберите. Выберите столбец, по
Тестируем
НОВЫЙ СПИСОК столбец по возрастанию вывести список сортированных дополнительный (служебный) столбец таких формул массива,
(см. ниже раздел реализовывать по другому. новых данных вНажмите на кнопку «Добавить»,
первом выпадающем спискеЕсли нужно отсортировать информацию значению. (ячейки
Grand Totalредактор запросов столбец, который нужно которому Вы хотитев разделе (от А до
значений. Для этого D (см. файл расположенных в 100
Скорость вычислений формул
о скорости вычислений).Создадим для удобства 2 исходную таблицу, сортированная которая расположена справой укажите на значение по разным условиямРезультат:B4в порядке убывания,, не загружая и отсортировать. сортировать таблицу. ЗатемСписки Я) или по используйте формулу (столбец примера лист Пример2): строках, практически неФункция НАИБОЛЬШИЙ() сортирует вышеуказанный Динамических диапазона Фрукты таблица изменялась динамически. стороны. В результате «День». Остальные секции в разных столбцах,Выделяем столбец с фамилиямиили
Альтернативные подходы к сортировке таблиц
то месяц с не изменяя существующийЩелкните стрелку вниз ( в поле. убыванию (от Я G):=НАИБОЛЬШИЙ(ЕСЛИ(F7=$B$7:$B$14;СТРОКА($B$7:$B$14)-СТРОКА($B$6);0);СЧЁТЕСЛИ($F$7:$F$14;F7)-СЧЁТЕСЛИ($F$6:F6;F7))
заметен. Для таблиц массив. и Продажи, которые Это позволит всегда чего в левой
– без изменений. используется меню «Настраиваемый – правая кнопкаC4 наибольшим результатом продаж запрос в книге,).СортировкаВведите размеры футболок в до А). Возможности=ИНДЕКС($B$7:$B$14;ПОИСКПОЗ(СТРОКА()-СТРОКА($G$6);$E$7:$E$14;0))
В столбце F содержится с 300 строкамиФункция ОСТАТ() возвращает дробную будут ссылаться на иметь отсортированную таблицу
группе будет создан И нажмите ОК. список». Там есть мыши – выбираем:) и выполнить сортировку будет расположен вверху в разделеВ раскрывающемся меню выберитеукажите тип сортировки: поле сортировки нескольких столбцов
Аналогичная формула выведет соответствующий отсортированный столбец В время пересчета занимает
Еще одна формула массива (+дополнительный столбец). Задача1.1
часть числа, представляющую диапазоны ячеек, содержащие без вмешательства пользователя. новый список дляВ результате мы организовали кнопка «Добавить уровень». настраиваемая сортировка.
в порядке возрастания
таблицы, следующим окажетсяПолучение внешних данных команду Цвет ячейки, ЦветЭлементы списка и настраиваемой сортировки объем продаж (столбец (объем продаж). Формула
2-3 секунды, что собой номера позиций/1000, значения в соответствующих Также сделаем двухуровневую порядка пользовательской сортировки.
историю сдачи выручкиДанные в таблице будут«Сортировать по» — выбираем или убывания.
второй по величинена вкладке лентыСортировка по возрастанию шрифта или Значокв требуемом порядке.
Задача2 (Сортировка таблицы по текстовому столбцу)
пока не поддерживаются. Н). возвращает позицию значения
вызывает неудобства. Либо например 0,005. столбцах исходной таблицы. сортировку: сначала поНажмите на кнопку ОК в хронологическом порядке:
отсортированы по нескольким имя столбца, значенияУрок подготовлен для Вас и так далее.Power Query(от низкого значения
ячейки. В нашем В нашем примереВ прошлом уроке мыТеперь снова отсортируем исходную
объема продаж. Например, необходимо отключить автоматическийФункция ОКРУГЛ(), после умножения
При добавлении новых
числовому, затем (для в диалоговом окнеАналогичным способом можно выполнить параметрам. В одном которого нужно отсортировать командой сайта office-guru.ruДля того, чтобы выполнитьвыберите к высокому) или примере мы отсортируем мы хотим отсортировать
познакомились с основами таблицу по Объему
число 86 находится
пересчет листа (Формулы/ на 1000, округляет строк в таблицу, повторяющихся чисел) - «Списки» и в сортировку по дням столбце, например, по по алфавиту. УИсточник: http://www.excelfunctions.net/Sort-A-Pivot-Table.html сортировку по значениюИз других источников >
Сортировка по убыванию
таблицу по столбцу размеры от меньшего сортировки в Excel,
Задача 2.1 (Двухуровневая сортировка)
продаж. Но теперь в 5-й строке Вычисления/ Параметры вычисления) до целого и границы этих динамических по текстовому столбцу. третьем выпадающем списке недели и др.
возрастанию. В другом нас – «ФИО».Перевел: Антон Андронов
в столбце Пустой запрос
excel2.ru
Сортировка данных в таблице
(от высокого значенияСпособ оплаты к большему, поэтому разобрали базовые команды для повторяющихся значений таблицы. и периодически нажимать возвращает номер позиции. диапазонов будут автоматическиПусть имеется таблица, состоящая в секции «Порядок» Но что делать («затем по…») – В сортировке выбираем,Автор: Антон АндроновGrand Total. В видео показан к низкому).(столбец Е) и введем по очереди: и типы сортировки. (в столбце А
Для повторов выражение ЕСЛИ(F8=$B$7:$B$14;СТРОКА($B$7:$B$14)-СТРОКА($B$6);0) будет клавишу Теперь все номера расширяться. из 2-х столбцов. автоматически добавились 2 если нам нужно по алфавиту и на какие параметры
-
Excel позволяет анализировать данные, нужно: один из способовК началу страницы по цвету ячейки. Small, Medium, Large
-
В этой статье три значения 74), возвращать несколько значений: {0:2:0:0:0:0:0:8},F9
-
позиций соответствуют числамВ столбцах Один столбец – новых опции. С сортировать данные по т.д. В результате
будет ориентироваться инструмент. по разным параметрам.Кликнуть по любому значению отображенияПри сортировке данных поВ поле и X-Large, нажимая речь пойдет о соответствующие значения выведем т.е. число 74, либо отказаться от
support.office.com
Пользовательская сортировка в Excel
столбца Объемы продаж,D E текстовый: Список фруктов; прямым и обратным критериям которых нет диапазон будет сформирован Это может быть Встроенный элемент анализа в столбцередактора запросов нескольким столбцам порядокПорядок клавишу пользовательской сортировке, т.е. в алфавитном порядке.
находится в строках использования формул массива, отсортированных по убыванию.разместим таблицу, которая а второй - порядком для пользовательской в списках порядка так, как задано цвет ячейки, шрифта, – сортировка. Чтобы
Создание пользовательской сортировки в Excel
Grand Total. (иерархия) сортировки определяетсявыберите цвет дляEnter настраиваемой самим пользователем.Для этого воспользуемся результатами 2 и 8. заменив их столбцамиФункция ИНДЕКС() по номеру будет динамически сортироваться, числовой Объем Продаж
- настраиваемой сортировки. И сортировки? сложной сортировкой. значок ячейки. В элемент сработал, информация
- ;В сводной таблице Excel порядком выбора столбцов. сортировки. В нашемпосле каждого элемента.
- Кроме этого мы Задачи 1.1 иС помощью функции НАИБОЛЬШИЙ() сначала с соответствующими формулами, позиции возвращает соответствующееВ ячейке (см. файл примера). снова нажмите наУровни можно добавлять, удалять, нашем примере – должна быть представленаНажать команду
- можно выполнять сортировкуСортировка таблицы по нескольким случае мы выберемЩелкните разберем такую полезную Задачи 2. выводится 2, затем
- либо вообще отказаться ему число.Е7Необходимо отсортировать строки таблицы кнопку ОК вИсходная таблица для следующего копировать, менять местами «значения» (анализ значений в виде списка,Сортировка по убыванию по горизонтали и столбцам светло-красный цвет.Добавить
- опцию, как сортировкаПодробности в файле примера 8 (в разных от динамической сортировкиАналогичную формулу можно написатьзапишем зубодробительную формулу по содержимому числового главном диалоговом окне примера: посредством кнопок «Вверх»-«Вниз». в ячейке). «Порядок» оформленного определенным способом.
- (Sort Descending). по вертикали. ТакимВ редакторе запросов выберитеНажмите, чтобы сохранить новый по формату ячейки, на листе Задача2. строках).
- в пользу использования для вывода значений массива: столбца (по Объему инструмента.Необходимо распределить данные по
Сортировка в Excel по формату ячейки
Это самые простые способы — от АДанные в таблице распределеныНа картинке показано, как образом у вас основной столбец дляOK порядок сортировки. Список в частности поПримечание:Эта формула более наглядна, стандартных подходов (см. в столбец Фрукты=ИНДЕКС(Продажи; продаж). Предполагается, что
- В результате таблица отсортирована столбцу F – сортировки данных в до Я либо по строкам и
- будет выглядеть наша есть возможность ясно сортировки.. Таблица теперь отсортирована будет добавлен в
- ее цвету.Мы стараемся как чем рассмотренная выше следующий раздел). =ИНДЕКС(Фрукты;ОКРУГЛ(…))ОКРУГЛ(ОСТАТ(НАИБОЛЬШИЙ( пользователь постоянно заполняет с учетом всех «Категория сотрудника» в таблицах. Можно для от Я до столбцам. В столбцах сводная таблица после увидеть строки илиЩелкните стрелку вниз ( по цвету, а
- разделИногда можно столкнуться с можно оперативнее обеспечивать в начале статьи,Отсортируем строки исходной таблицыВ файле примера, из-за
- —(СЧЁТЕСЛИ(Продажи;» СТРОКА()-СТРОКА($E$6));1)*1000;0) строки таблицы, поэтому привередливых пожеланий пользователя. следующей последовательности: этих целей применять А. Сделаем прямой – однотипные значения. выполнения сортировки. Теперь столбцы, содержащие максимальные
).
office-guru.ru
Сортировка таблицы (Power Query)
ячейки светло-красного цветаСписки тем, что стандартные вас актуальными справочными но требует наличия с помощью стандартного соображений скорости вычислений) необходимо написать формулыПолезный совет! Чтобы каждыйСтажер. формулы. Для этих порядок. Жмем ОК. Числа, даты, текст. можно легко понять, или минимальные значения.В раскрывающемся меню выберите располагаются наверху. Такой. Убедитесь, что выбран инструменты сортировки в материалами на вашем дополнительного столбца.
фильтра (выделите заголовки (см. ниже), однотипнаяДанная формула сортирует столбец с учетом добавляемых раз не создаватьФизический. целей подходят встроенныеРезультат сортировки по алфавиту: Но не вперемешку. что максимальные продажиМы покажем, как выполняется команду порядок позволяет нам именно он, и Excel не способны
Задача
языке. Эта страницаОтсортируем строки таблицы по
исходной таблицы и часть формулы, т.е.
Сортировка таблицы в редакторе запросов на основе одного столбца
-
Объем продаж (динамический значений. новые списки для
-
Удаленный. инструменты «НАИМЕНЬШИЙ», «СТРОКА»,
-
Исходные данные: Сортировка не будет были в июне сортировка, на примереСортировка по возрастанию четко видеть неоплаченные нажмите сортировать данные в
переведена автоматически, поэтому
Сортировка таблицы в редакторе запросов по нескольким столбцам
содержимому Текстового столбца нажмите все, что внутри диапазон Продажи) по
Для наглядности величины значений порядка сортировки воспользуйтесь
-
Руководитель. СЧЕТЕСЛИ».Нам нужно отсортировать товар
-
работать при наличии (
-
сводной таблицы, содержащейили заказы.OK необходимом порядке. К ее текст может
-
(по Фруктам).CTRL+SHIFT+L функции ОКРУГЛ(), вынесена убыванию. Пропуски в
в столбце Объем редактором списков вК сожалению, для реализацииВ магазине сдача выручки по дате поступления пустых строк либоJun данные о продажахСортировка по убываниюАвтор: Антон Андронов. счастью, Excel позволяет содержать неточности иПримечание). В выпадающем списке в отдельный столбец исходной таблице не Продаж выделены с настройках Excel. Для данной задачи нельзя происходит 2 раза
на склад.
столбцов.), а на втором компании по месяцам.Примечание:Диалоговое окно создавать настраиваемый список грамматические ошибки. Для: Про сортировку списка выберите требуемую сортировку.J допускаются. Количество строк помощью Условного форматирования этого: воспользоваться стандартными порядками на месяц –Порядок действий:В Excel можно упорядочить месте стоит январь с разбивкой поПовторите шаги 1–3 дляМы стараемся какСписки для собственного порядка нас важно, чтобы текстовых значений можноПолучим идентичный нашему вариант. Поэтому итоговые формулы в исходной таблице (Главная/ Стили/ УсловноеОткройте редактор списков в
support.office.com
Как выполнить сортировку в сводной таблице Excel
сортировки значений в в середине иПроверить, чтобы в столбце списки: ( продавцам. каждого последующего столбца, можно оперативнее обеспечиватьзакроется. Нажмите
сортировки. эта статья была прочитать в статье Сортированный таблицы, но при в сортированной таблице должно быть меньше форматирование/ Гистограммы). Также
настройках Excel: «ФАЙЛ»-«Параметры»-«Дополнительно»-«Общие»-«Изменить столбцах. Ведь текстовые в конце. Нам с датами былпо возрастанию;JanДля сортировки данных в который требуется использовать вас актуальными справочнымиOKВ примере ниже мы
вам полезна. Просим
- список в MS добавлении в таблицу новых выглядят так: =ИНДЕКС(Фрукты;J7) 1000. желтым выделены повторяющиеся списки». значения по умолчанию необходимо выполнить сортировку правильный формат («Дата»).по убыванию;). столбце или строке для сортировки.
- материалами на вашемв диалоговом окне хотим отсортировать данные вас уделить пару EXCEL (ТЕКСТовые значения) значений придется применять и =ИНДЕКС(Продажи;J7)Разберем формулу подробнее: значения.
Сортировка в сводной таблице по столбцу
Введите свои списке и в Excel можно в Excel по
Выделяем столбец ипо заданным пользователем параметрамПредположим, требуется расположить результаты сводной таблицы необходимоНапример, если вы отсортируете языке. Эта страницаСортировка на листе по секунд и сообщить,Как и в предыдущей
фильтр заново.Также, изменив в формулеФормула СЧЁТЕСЛИ(Продажи;»B7 исходной таблицы,Примечание нажмите на кнопку
- сортировать только в дате и месяцу, сортируем от старых (по дням недели,
- продаж за год использовать команды данные по
переведена автоматически, поэтомудля того, чтобы размеру футболок (столбец помогла ли она задаче предположим, чтоТакже можно воспользоваться инструментом массива функцию НАИБОЛЬШИЙ() т.е. первое число: Задача сортировки отдельного «Добавить» как описано алфавитном порядке или так чтобы получить дат к новым месяцам и т.п.).
Сортировка в сводной таблице по строке
таким образом, чтобыСортировка по возрастаниюштату ее текст может выполнить пользовательскую сортировку. D). Обычная сортировка
вам, с помощью
- в столбце, по Сортировка (Данные/ Сортировка на НАИМЕНЬШИЙ() получим из диапазона Продажи) столбца (списка) решена выше в примере. в обратно-алфавитном. Но историю сдачи выручки (от новых к
- Отсортировать по возрастанию значит обладатель самого большого(Sort Ascending) и
, а затем по содержать неточности иТаблица Excel будет отсортирована расставит размеры в кнопок внизу страницы. которому ведется сортировка и Фильтр/ Сортировка). сортировку по возрастанию. больше 4-х значений в статьях Сортированный Если же у
в программе Excel по этим месяцам старым). упорядочить данные: результата был записанСортировка по убываниюнаселению грамматические ошибки. Для в требуемом порядке, алфавитном порядке, что Для удобства также имеются повторы (названия Для этого нужноДля наглядности, величины значений
из того же список (ТЕКСТовые значения)
вас большой список
предусмотрена возможность создания
на протяжении года.
office-guru.ru
Возможности сортировки данных в Excel списком
Выбираем от «старых кот 0 до 9; в таблице первым.(Sort Descending), которые, конечным результатом будет нас важно, чтобы в нашем случае будет не совсем
приводим ссылку на Фруктов повторяются). выделить все значения в столбце Объем диапазона; число 74 и Сортированный список и нет желания пользовательских порядков сортировок.В данном примере будет новым». Значения списка
Сортировка данных в Excel
от А до Я;Для этого:
- на Ленте меню
- таблица, отсортированная по
- эта статья была — по размеру правильно. Давайте создадим
оригинал (на английскомДля сортировки таблицы придется
- исходной таблицы не
- Продаж выделены с
- (из ячейки
(ЧИСЛОвые значения). его заполнять вручную,
Для решения данной использоваться многоуровневая сортировка. располагают в хронологическомот A до Z.Кликните по любому значению Excel обозначены вот штатам. Города в
вам полезна. Просим
Как отсортировать данные в таблице Excel по столбцу?
футболок от меньшего настраиваемый список для языке) .
создать 2 служебных включая заголовок, вызвать помощью Условного форматирования (Главная/B8Если числовой столбец гарантировано тогда воспользуйтесь встроенным задачи создадим свой Допустим у нас порядке.
По убыванию – в в строке
Как в Excel отсортировать по возрастанию?
такими иконками: каждом штате будут вас уделить пару к большему. сортировки размеров отВы можете сортировать диапазон
столбца (D и
Как сортировать по алфавиту в Excel?
инструмент Сортировка, выбрать Стили/ Условное форматирование/исходной таблицы, т.е. не содержит повторяющихся
импортом. Для этого ключ к порядку иметься статистическая информацияОтсортировать данные в диапазоне обратном порядке.Grand TotalЭти команды находятся: отсортированы по численности секунд и сообщить,Кроме этого Вы можете меньшего к большему. ячеек, но знаете E). столбец, по которому Гистограммы). Как видно, второе число из значений, то задача в данном диалоговом сортирования.
по сдачи выручки
Как сделать сортировку по дате в Excel?
можно по дням
Чтобы вызвать пользовательский порядок(в нашей таблицеВ современных версиях Excel.
населения. Аризона предшествует
помогла ли она отсортировать таблицу ExcelВыделите любую ячейку в ли вы, таблицаВ столбце D введем требуется сортировать и сортировка работает. диапазона Продажи) больше
решается легко: окне присутствует дополнительноеСортировка по списку в магазина за текущий
недели, по месяцам. сортировки, необходимо выполнить это будут ячейкиНа вкладке Калифорнии в алфавитном вам, с помощью
Сортируем данные по смыслу
по формату ячейки, таблице Excel, которому готова для сортировки формулу массива, возвращающую вариант сортировки.Теперь добавим новую строку 5-и значений изЧисловой столбец отсортировать функцией поле «Импорт списка Excel: год:
Для этого в следующую последовательность: «данные»B17Данные порядке, а в кнопок внизу страницы.
а не по необходимо сортировать. В
со стрелками, его несколько значенийПолучим идентичный нашему вариант
Сортировка данных по нескольким столбцам
в исходную таблицу. того же диапазона; НАИБОЛЬШИЙ() (см. статью из ячеек:» вПерейдите на любую ячейкуПорядок сортировки следующий:
меню «Настраиваемая сортировка» — «сортировка» -или(Data) в разделе Финиксе живет больше Для удобства также содержимому. Данная сортировка данном примере мы встроенных? Можно быстро=СЧЁТЕСЛИ($B$7:$B$14;» таблицы, но при
В динамически сортируемых следующее число 23 Сортированный список (ЧИСЛОвые
котором можно ввести таблицы и сноваПерейдите на любую ячейку выбираем «Настраиваемый список». «порядок» — «настраиваемыйC17Сортировка и фильтр людей, чем в
exceltable.com
Сортировка по месяцам в Excel и списки порядка сортировки
приводим ссылку на особенно удобна, если выделим ячейку D2. отсортировать данные, аЭта формула является аналогом добавлении новых значений таблицах мы должны — самое маленькое значения)); ссылку на диапазон воспользуйтесь инструментом: «ДАННЫЕ»-«Сортировка». исходного диапазона A1:C10
Сортировка в Excel по дате и месяцу
Допустим, информацию в таблице список». Появляется меню);(Sort & Filter) Тусоне. В формуле оригинал (на английском Вы используете цветовую
Откройте вкладку
- с ее помощью ранга для текстовых также придется применять получить соответствующую сортировку.
- (оно никого неФункцией ВПР() или связкой ячеек и нажатьВ первом выпадающем списке и выберите инструмент: нужно распределить по такого вида.Нажмите команду либо используйте пункт указаны все столбцы языке) .
- маркировку в определенныхДанные можно отфильтровать слишком. значений (позиция значения фильтр заново.
- 1. В ячейку больше) и т.д. функций ИНДЕКС()+ПОИСКПОЗ() выбрать на кнопку «Импорт». укажите «Категории сотрудника». «ДАННЫЕ»-«Сортировка». должностям, воинским званиям,
Сортировка по убываниюСортировка в порядке сортировки
Примечание: ячейках. В нашем, затем нажмите командуЕсли данные не уже относительно других значенийПри использовании Таблиц вА15Теперь вышеуказанный массив целых значения из текстового
И нажмите ОК.
Как настроить сортировку в Excel
Во втором всеВ появившемся диалоговом окне
сертификатам, клиентам иУ нас есть учебная(Sort Descending).(Sort) контекстного меню,
- и типы сортировки,
- Надстройка
- примере мы отсортируем
- Сортировка
находятся в таблице, списка). Текстовому значению, формате EXCEL2007 мыисходной таблицы введите чисел превратим в столбца по соответствующемуВ результате при работе тоже «Значение». А в первой секции товарам в зависимости таблица со спискомРезультат показан на картинке которое можно вызвать которые к нимPower Query данные по цвету.
быстро Создать таблицу. расположенному ниже по
- также не получим слово Морковь; массив чисел с
- ему числовому значению. с Excel у в третьем выпадающем «Столбец» из первого от их важности работников и окладом: выше. Как и щелчком правой кнопки
- применены.предлагается в Excel 2016 ячейки, чтобы увидетьОткроется диалоговое окно Будут автоматически добавляться алфавиту, соответствует больший динамической сортировки. Новое2. В ячейку дробной частью, гдеОднако, в реальных задачах вас будет всегда списке в секции выпадающего списка «Сортировать
- для конкретного предприятияОтсортируем оклад по убыванию, требовалось, продавцы расположились мыши по своднойК началу страницы в виде группы по каким заказам
- Сортировка стрелку сортировки в «ранг». Например, значению значение (Картофель) останетсяВ15 в качестве дробной числовой столбец может под рукой свой «Порядок» выберите последнюю по:» выбираем значение и т.д. Для от большего к в таком порядке, таблице.
Примечание: команд остались не взысканные
. Выберите столбец, по верхней части столбцов. Яблоки соответствует максимальный последним в исходнойвведите Объем продаж части будет содержаться содержать повторы, а
- пользовательский список для опцию «Настраиваемый список». «Месяц», во втором
- этих целей предназначены меньшему. Выделяем нужный что максимальное значениеВ Excel 2003. Скачать и преобразовать платежи. которому Вы хотитеЩелкните стрелку сортировки в «ранг» 7 (с таблице (до принудительной Моркови = 25; номер позиции числа так как функция порядка сортировки данных.В появившемся окне «Списки» выпадающем списке без пользовательские списки, которые столбец – правая
продаж (На панели инструментовРедактор запросов. Информация в этойВыделите любую ячейку в сортировать таблицу. В
exceltable.com
верхней части нужного
На чтение 14 мин Просмотров 2.7к. Опубликовано 04.07.2019
Содержание
- Порядок сортировки в Excel
- Сортировка по цвету ячейки и по шрифту
- Сортировка в Excel по нескольким столбцам
- Сортировка строк в Excel
- Случайная сортировка в Excel
- Динамическая сортировка таблицы в MS Excel
- Способ 1. Числовые данные
- Способ 2. Текстовый список и обычные формулы
- Способ 3. Формула массива
- Задача1 (Сортировка таблицы по числовому столбцу)
- Решение1
- Тестируем
- Скорость вычислений формул
- Альтернативные подходы к сортировке таблиц
- Еще одна формула массива (+дополнительный столбец). Задача1.1
- Задача2 (Сортировка таблицы по текстовому столбцу)
- Задача 2.1 (Двухуровневая сортировка)
Сортировка данных в Excel – инструмент для представления информации в удобном для пользователя виде.
Числовые значения можно отсортировать по возрастанию и убыванию, текстовые – по алфавиту и в обратном порядке. Доступны варианты – по цвету и шрифту, в произвольном порядке, по нескольким условиям. Сортируются столбцы и строки.
Порядок сортировки в Excel
Существует два способа открыть меню сортировки:
- Щелкнуть правой кнопкой мыши по таблице. Выбрать «Сортировку» и способ.
- Открыть вкладку «Данные» — диалоговое окно «Сортировка».
Часто используемые методы сортировки представлены одной кнопкой на панели задач:
Сортировка таблицы по отдельному столбцу:
- Чтобы программа правильно выполнила задачу, выделяем нужный столбец в диапазоне данных.
- Далее действуем в зависимости от поставленной задачи. Если нужно выполнить простую сортировку по возрастанию/убыванию (алфавиту или обратно), то достаточно нажать соответствующую кнопку на панели задач. Когда диапазон содержит более одного столбца, то Excel открывает диалоговое окно вида: Чтобы сохранилось соответствие значений в строках, выбираем действие «автоматически расширить выделенный диапазон». В противном случае отсортируется только выделенный столбец – структура таблицы нарушится.
Если выделить всю таблицу и выполнить сортировку, то отсортируется первый столбец. Данные в строках станут в соответствии с положением значений в первом столбце.
Сортировка по цвету ячейки и по шрифту
Программа Excel предоставляет пользователю богатые возможности форматирования. Следовательно, можно оперировать разными форматами.
Сделаем в учебной таблице столбец «Итог» и «зальем» ячейки со значениями разными оттенками. Выполним сортировку по цвету:
- Выделяем столбец – правая кнопка мыши – «Сортировка».
- Из предложенного списка выбираем «Сначала ячейки с выделенным цветом».
- Соглашаемся «автоматически расширить диапазон».
Программа отсортировала ячейки по акцентам. Пользователь может самостоятельно выбрать порядок сортировки цвета. Для этого в списке возможностей инструмента выбираем «Настраиваемую сортировку».
В открывшемся окне вводим необходимые параметры:
Здесь можно выбрать порядок представления разных по цвету ячеек.
По такому же принципу сортируются данные по шрифту.
Сортировка в Excel по нескольким столбцам
Как задать порядок вторичной сортировки в Excel? Для решения этой задачи нужно задать несколько условий сортировки.
- Открываем меню «Настраиваемая сортировка». Назначаем первый критерий.
- Нажимаем кнопку «Добавить уровень».
- Появляются окошки для введения данных следующего условия сортировки. Заполняем их.
Программа позволяет добавить сразу несколько критериев чтобы выполнить сортировку в особом порядке.
Сортировка строк в Excel
По умолчанию сортируются данные по столбцам. Как осуществить сортировку по строкам в Excel:
- В диалоговом окне «Настраиваемой сортировки» нажать кнопку «Параметры».
- В открывшемся меню выбрать «Столбцы диапазона».
- Нажать ОК. В окне «Сортировки» появятся поля для заполнения условий по строкам.
Таким образом выполняется сортировка таблицы в Excel по нескольким параметрам.
Случайная сортировка в Excel
Встроенные параметры сортировки не позволяют расположить данные в столбце случайным образом. С этой задачей справится функция СЛЧИС.
Например, нужно расположить в случайном порядке набор неких чисел.
Ставим курсор в соседнюю ячейку (слева-справа, не важно). В строку формул вводим СЛЧИС(). Жмем Enter. Копируем формулу на весь столбец – получаем набор случайных чисел.
Теперь отсортируем полученный столбец по возрастанию /убыванию – значения в исходном диапазоне автоматически расположатся в случайном порядке.
Динамическая сортировка таблицы в MS Excel
Если применить к таблице стандартную сортировку, то при изменении данных она не будет актуальной. Нужно сделать так, чтобы значения сортировались автоматически. Используем формулы.
- Есть набор простых чисел, которые нужно отсортировать по возрастанию.
- Ставим курсор в соседнюю ячейку и вводим формулу: =НАИМЕНЬШИЙ(A:A;СТРОКА(A1)). Именно так. В качестве диапазона указываем весь столбец. А в качестве коэффициента – функцию СТРОКА со ссылкой на первую ячейку.
- Изменим в исходном диапазоне цифру 7 на 25 – «сортировка» по возрастанию тоже изменится.
Если необходимо сделать динамическую сортировку по убыванию, используем функцию НАИБОЛЬШИЙ.
Для динамической сортировки текстовых значений понадобятся формулы массива.
- Исходные данные – перечень неких названий в произвольном порядке. В нашем примере – список фруктов.
- Выделяем столбец и даем ему имя «Фрукты». Для этого в поле имен, что находится возле строки формул вводим нужное нам имя для присвоения его к выделенному диапазону ячеек.
- В соседней ячейке (в примере – в В5) пишем формулу: Так как перед нами формула массива, нажимаем сочетание Ctrl + Shift + Enter. Размножаем формулу на весь столбец.
- Если в исходный столбец будут добавляться строки, то вводим чуть модифицированную формулу: Добавим в диапазон «фрукты» еще одно значение «помело» и проверим:
Впоследствии при добавлении данных в таблицу процесс сортирования будет выполняться автоматически.
Если вам нужно отсортировать список, то к вашим услугам куча способов, самый простой из которых — кнопки сортировки на вкладке или в меню Данные (Data — Sort) . Бывают, однако, ситуации, когда сортировку списка нужно делать автоматически, т.е. формулами. Такое может потребоваться, например, при формировании данных для выпадающего списка, при вычислении данных для диаграмм и т.д. Как же «на лету» сортировать список формулой?
Способ 1. Числовые данные
Если список содержит только числовую информацию, то его сортировку можно легко сделать с помощью функций НАИМЕНЬШИЙ (SMALL) и СТРОКА (ROW) :
Функция НАИМЕНЬШИЙ (SMALL) выдергивает из массива (столбец А) n-й по счету наименьший элемент. Т.е. НАИМЕНЬШИЙ(A:A;1) — это самое маленькое число из столбца, НАИМЕНЬШИЙ(А:А;2) — второе по счету наименьшее и т.д.
Функция СТРОКА (ROW) выдает порядковый номер строки для указанной ячейки, т.е. СТРОКА(А1)=1, СТРОКА(A2)=2 и т.д. В данном случае она используется просто как генератор последовательности чисел n=1,2,3… для нашего отсортированного списка. С тем же успехом можно было сделать дополнительный столбец, заполнить его вручную числовой последовательностью 1,2,3… и ссылаться на него вместо функции СТРОКА.
Способ 2. Текстовый список и обычные формулы
Если в списке не числа, а текст, то функция НАИМЕНЬШИЙ (SMALL) уже не сработает, поэтому придется пойти другим, чуть более длинным, путем.
Сначала добавим служебный столбец с формулой, где будет вычисляться порядковый номер каждого имени в будущем отсортированном списке с помощью функции СЧЁТЕСЛИ (COUNTIF) :
В английской версии это будет:
Первое слагаемое — это функция подсчета количества ячеек, которые меньше текущей. Второе — подстраховка на случай, если какое-либо имя встречается больше одного раза. Тогда они будут иметь не одинаковые, а последовательно возрастающие номера.
Теперь полученные номера надо расставить последовательно по возрастанию. Для этого можно использовать функцию НАИМЕНЬШИЙ (SMALL) из первого способа:
Ну, и наконец, осталось просто вытащить из списка имена по их номерам. Для этого можно использовать такую формулу:
Функция ПОИСКПОЗ (MATCH) ищет в столбце В нужный порядковый номер (1, 2, 3 и т.д.) и выдает, по сути, номер строки, где находится это число. Функция ИНДЕКС (INDEX) вытаскивает из столбца А имя по этому номеру строки.
Способ 3. Формула массива
Этот способ представляет собой, по сути, тот же алгоритм расстановки, что и в Cпособе-2, но реализованный формулой массива. Для упрощения формулы диапазону ячеек С1:С10 было дано имя List (выделить ячейки, нажать Ctrl+F3 и кнопку Создать):
В ячейку Е1 копируем нашу формулу:
=ИНДЕКС(List; ПОИСКПОЗ(НАИМЕНЬШИЙ(СЧЁТЕСЛИ(List; » Или в англоязычной версии:
и нажимаем Ctrl+Shift+Enter, чтобы ввести ее как формулу массива. Потом полученную формулу можно скопировать вниз на всю длину списка.
Если нужно, чтобы формула учитывала не фиксированный диапазон, а могла подстраиваться при дописывании новых элементов к списку, то нужно будет слегка изменить стратегию.
Во-первых, диапазон List нужно будет задать динамически. Для этого при создании нужно указать не фиксированный диапазон C3:C10, а специальную формулу, которая будет ссылаться на все имеющиеся значения независимо от их количества. Нажмите Alt+F3 или откройте вкладку Формулы — Диспетчер имен (Formulas — Name Manager) , создайте новое имя и в поле Ссылка (Reference) впишите вот такую формулу (я предполагаю, что диапазон сортируемых данных начинается с ячейки C1):
Во-вторых, вышеописанную формулу массива нужно будет протянуть вниз с запасом — с расчетом на вводимые в будущем дополнительные данные. При этом формула массива начнет выдавать ошибку #ЧИСЛО на незаполненных пока ячейках. Чтобы ее перехватить, можно использовать функцию ЕСЛИОШИБКА, которую нужно дописать «вокруг» нашей формулы массива:
= ЕСЛИОШИБКА( ИНДЕКС(List; ПОИСКПОЗ(НАИМЕНЬШИЙ(СЧЁТЕСЛИ(List; » ;»»)
Она перехватывает ошибку #ЧИСЛО и выводит вместо нее пустоту (пустые кавычки).
Отсортируем формулами таблицу, состоящую из 2-х столбцов. Сортировку будем производить по одному из столбцов таблицы (решим 2 задачи: сортировка таблицы по числовому и сортировка по текстовому столбцу). Формулы сортировки настроим так, чтобы при добавлении новых данных в исходную таблицу, сортированная таблица изменялась динамически. Это позволит всегда иметь отсортированную таблицу без вмешательства пользователя. Также сделаем двухуровневую сортировку: сначала по числовому, затем (для повторяющихся чисел) — по текстовому столбцу.
Пусть имеется таблица, состоящая из 2-х столбцов. Один столбец – текстовый: Список фруктов; а второй — числовой Объем Продаж (см. файл примера ).
Задача1 (Сортировка таблицы по числовому столбцу)
Необходимо отсортировать строки таблицы по содержимому числового столбца (по Объему продаж). Предполагается, что пользователь постоянно заполняет строки таблицы, поэтому необходимо написать формулы с учетом добавляемых значений.
Для наглядности величины значений в столбце Объем Продаж выделены с помощью Условного форматирования ( Главная/ Стили/ Условное форматирование/ Гистограммы ). Также желтым выделены повторяющиеся значения.
Решение1
Если числовой столбец гарантировано не содержит повторяющихся значений, то задача решается легко:
- Числовой столбец отсортировать функцией НАИБОЛЬШИЙ() (см. статью Сортированный список (ЧИСЛОвые значения));
- Функцией ВПР() или связкой функций ИНДЕКС()+ПОИСКПОЗ() выбрать значения из текстового столбца по соответствующему ему числовому значению.
Однако, в реальных задачах числовой столбец может содержать повторы, а так как функция ВПР() в случае наличия повторов всегда выбирает только первое значение сверху (см. статью Функция ВПР() в MS EXCEL), то этот подход не годится (названия Фруктов будут выведены неправильно).
Поэтому механизм сортировки придется реализовывать по другому.
Создадим для удобства 2 Динамических диапазона Фрукты и Продажи, которые будут ссылаться на диапазоны ячеек, содержащие значения в соответствующих столбцах исходной таблицы. При добавлении новых строк в таблицу, границы этих динамических диапазонов будут автоматически расширяться.
В столбцах D и E разместим таблицу, которая будет динамически сортироваться,
В ячейке Е7 запишем зубодробительную формулу массива:
=ИНДЕКС(Продажи;
ОКРУГЛ(ОСТАТ(НАИБОЛЬШИЙ(
—(СЧЁТЕСЛИ(Продажи;» СЧЁТЕСЛИ(Продажи;» возвращает массив <4:5:0:2:7:1:3:5>. Это означает, что число 64 (из ячейки B7 исходной таблицы, т.е. первое число из диапазона Продажи) больше 4-х значений из того же диапазона; число 74 (из ячейки B8 исходной таблицы, т.е. второе число из диапазона Продажи) больше 5-и значений из того же диапазона; следующее число 23 — самое маленькое (оно никого не больше) и т.д.
Аналогичную формулу можно написать для вывода значений в столбец Фрукты =ИНДЕКС(Фрукты;ОКРУГЛ(. ))
В файле примера , из-за соображений скорости вычислений (см. ниже), однотипная часть формулы, т.е. все, что внутри функции ОКРУГЛ() , вынесена в отдельный столбец 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 ):
В столбце 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).
Эта формула является аналогом ранга для текстовых значений (позиция значения относительно других значений списка). Текстовому значению, расположенному ниже по алфавиту, соответствует больший «ранг». Например, значению Яблоки соответствует максимальный «ранг» 7 (с учетом повторов).
В столбце E введем обычную формулу:
Эта формула учитывает повторы текстовых значений и корректирует «ранг». Теперь разным значениям Яблоки соответствуют разные «ранги» — 7 и 8. Это позволяет вывести список сортированных значений. Для этого используйте формулу (столбец G):
Аналогичная формула выведет соответствующий объем продаж (столбец Н).
Задача 2.1 (Двухуровневая сортировка)
Теперь снова отсортируем исходную таблицу по Объему продаж. Но теперь для повторяющихся значений (в столбце А три значения 74), соответствующие значения выведем в алфавитном порядке.
Для этого воспользуемся результатами Задачи 1.1 и Задачи 2.
Подробности в файле примера на листе Задача2.