Отсортируем формулами таблицу, состоящую из 2-х столбцов. Сортировку будем производить по одному из столбцов таблицы (решим 2 задачи: сортировка таблицы по числовому и сортировка по текстовому столбцу). Формулы сортировки настроим так, чтобы при добавлении новых данных в исходную таблицу, сортированная таблица изменялась динамически. Это позволит всегда иметь отсортированную таблицу без вмешательства пользователя. Также сделаем двухуровневую сортировку: сначала по числовому, затем (для повторяющихся чисел) — по текстовому столбцу.
Пусть имеется таблица, состоящая из 2-х столбцов. Один столбец – текстовый:
Список фруктов
; а второй — числовой
Объем Продаж
(см.
файл примера
).
Задача1 (Сортировка таблицы по числовому столбцу)
Необходимо отсортировать строки таблицы по содержимому числового столбца (по Объему продаж). Предполагается, что пользователь постоянно заполняет строки таблицы, поэтому необходимо написать формулы с учетом добавляемых значений.
Для наглядности величины значений в столбце
Объем Продаж
выделены с помощью
Условного форматирования
(
). Также желтым выделены повторяющиеся значения.
Примечание
: Задача сортировки отдельного столбца (списка) решена в статьях
Сортированный список (ТЕКСТовые значения)
и
Сортированный список (ЧИСЛОвые значения)
.
Решение1
Если числовой столбец гарантировано не содержит
повторяющихся
значений, то задача решается легко:
-
Числовой столбец отсортировать функцией
НАИБОЛЬШИЙ()
(см. статьюСортированный список (ЧИСЛОвые значения)
);
-
Функцией
ВПР()
или связкой функций
ИНДЕКС()+ПОИСКПОЗ()
выбрать значения из текстового столбца по соответствующему ему числовому значению.
Однако, в реальных задачах числовой столбец может содержать повторы, а так как функция
ВПР()
в случае наличия повторов всегда выбирает только первое значение сверху (см. статью
Функция ВПР() в MS EXCEL
), то этот подход не годится (названия Фруктов будут выведены неправильно).
Поэтому механизм сортировки придется реализовывать по другому.
Создадим для удобства 2
Динамических диапазона
Фрукты
и
Продажи
, которые будут ссылаться на диапазоны ячеек, содержащие значения в соответствующих столбцах исходной таблицы. При добавлении новых строк в таблицу, границы этих динамических диапазонов будут автоматически расширяться.
В столбцах
D
и
E
разместим таблицу, которая будет динамически сортироваться,
В ячейке
Е7
запишем зубодробительную
формулу массива
:
=ИНДЕКС(Продажи; ОКРУГЛ(ОСТАТ(НАИБОЛЬШИЙ( —(СЧЁТЕСЛИ(Продажи;»<«&Продажи)&»,»&ПОВТОР(«0»;3-ДЛСТР(СТРОКА(Продажи)-СТРОКА($E$6)))&СТРОКА(Продажи)-СТРОКА($E$6)); СТРОКА()-СТРОКА($E$6));1)*1000;0) )
Данная формула сортирует столбец
Объем продаж
(динамический диапазон
Продажи
) по убыванию. Пропуски в исходной таблице не допускаются. Количество строк в исходной таблице должно быть меньше 1000.
Разберем формулу подробнее:
-
Формула
СЧЁТЕСЛИ(Продажи;»<«&Продажи)
возвращает массив {4:5:0:2:7:1:3:5}. Это означает, что число 64 (из ячейки
B7
исходной таблицы, т.е. первое число из диапазона
Продажи
) больше 4-х значений из того же диапазона; число 74 (из ячейки
B8
исходной таблицы, т.е. второе число из диапазона
Продажи
) больше 5-и значений из того же диапазона; следующее число 23 — самое маленькое (оно никого не больше) и т.д. -
Теперь вышеуказанный массив целых чисел превратим в массив чисел с дробной частью, где в качестве дробной части будет содержаться номер позиции числа в массиве: {4,001:5,002:0,003:2,004:7,005:1,006:3,007:5,008}. Это реализовано выражением
&»,»&ПОВТОР(«0»;3-ДЛСТР(СТРОКА(Продажи)-СТРОКА($E$6)))&СТРОКА(Продажи)-СТРОКА($E$6))
Именно в этой части формулы заложено ограничение о не более 1000 строк в исходной таблице (см. выше). При желании его можно легко изменить, но это бессмысленно (см. ниже раздел о скорости вычислений). -
Функция
НАИБОЛЬШИЙ()
сортирует вышеуказанный массив. -
Функция
ОСТАТ()
возвращает дробную часть числа, представляющую собой номера позиций/1000, например 0,005. -
Функция
ОКРУГЛ()
, после умножения на 1000, округляет до целого и возвращает номер позиции. Теперь все номера позиций соответствуют числам столбца
Объемы продаж,
отсортированных по убыванию. -
Функция
ИНДЕКС()
по номеру позиции возвращает соответствующее ему число.
Аналогичную формулу можно написать для вывода значений в столбец
Фрукты
=ИНДЕКС(Фрукты;ОКРУГЛ(…))
В
файле примера
, из-за соображений скорости вычислений (см. ниже), однотипная часть формулы, т.е. все, что внутри функции
ОКРУГЛ()
, вынесена в отдельный столбец
J
. Поэтому итоговые формулы в сортированной таблице выглядят так:
=ИНДЕКС(Фрукты;J7)
и
=ИНДЕКС(Продажи;J7)
Также, изменив в формуле массива функцию
НАИБОЛЬШИЙ()
на
НАИМЕНЬШИЙ()
получим сортировку по возрастанию.
Для наглядности, величины значений в столбце
Объем Продаж
выделены с помощью
Условного форматирования
(
). Как видно, сортировка работает.
Тестируем
Теперь добавим новую строку в исходную таблицу. В динамически сортируемых таблицах мы должны получить соответствующую сортировку.
1. В ячейку
А15
исходной таблицы введите слово
Морковь
; 2. В ячейку
В15
введите
Объем продаж
Моркови = 25; 3. После ввода значений, в столбцах
D
и
Е
автоматически будет отображена отсортированная по убыванию таблица; 4. В сортированной таблице новая строка будет отображена предпоследней.
Скорость вычислений формул
На «среднем» по производительности компьютере пересчет пары таких
формул массива,
расположенных в 100 строках, практически не заметен. Для таблиц с 300 строками время пересчета занимает 2-3 секунды, что вызывает неудобства. Либо необходимо отключить автоматический пересчет листа (
) и периодически нажимать клавишу
F9
, либо отказаться от использования формул массива, заменив их столбцами с соответствующими формулами, либо вообще отказаться от динамической сортировки в пользу использования стандартных подходов (см. следующий раздел).
Альтернативные подходы к сортировке таблиц
Отсортируем строки исходной таблицы с помощью стандартного фильтра (выделите заголовки исходной таблицы и нажмите
CTRL+SHIFT+L
). В выпадающем списке выберите требуемую сортировку.
Получим идентичный нашему вариант таблицы, но при добавлении в таблицу новых значений придется применять фильтр заново.
Также можно воспользоваться инструментом Сортировка (
). Для этого нужно выделить все значения исходной таблицы не включая заголовок, вызвать инструмент Сортировка, выбрать столбец, по которому требуется сортировать и вариант сортировки.
Получим идентичный нашему вариант таблицы, но при добавлении новых значений также придется применять фильтр заново.
При использовании
Таблиц в формате EXCEL2007
мы также не получим динамической сортировки. Новое значение (Картофель) останется последним в исходной таблице (до принудительной сортировки таблицы через фильтр), не смотря на его значение продаж (200).
Какой вариант предпочтительней — как всегда — выбирать разработчику.
Еще одна формула массива (+дополнительный столбец). Задача1.1
Сортировку таблицы можно сделать с помощью другой, более простой
формулы массива
, но нам понадобится дополнительный (служебный) столбец D (см.
файл примера лист Пример2
):
=
НАИБОЛЬШИЙ(ЕСЛИ(F7=$B$7:$B$14;СТРОКА($B$7:$B$14)-СТРОКА($B$6);0);СЧЁТЕСЛИ($F$7:$F$14;F7)-СЧЁТЕСЛИ($F$6:F6;F7))
В столбце F содержится отсортированный столбец В (объем продаж). Формула возвращает позицию значения объема продаж. Например, число 86 находится в 5-й строке таблицы.
Для повторов выражение
ЕСЛИ(F8=$B$7:$B$14;СТРОКА($B$7:$B$14)-СТРОКА($B$6);0)
будет возвращать несколько значений: {0:2:0:0:0:0:0:8}, т.е. число 74 находится в строках 2 и 8.
С помощью функции
НАИБОЛЬШИЙ()
сначала выводится 2, затем 8 (в разных строках).
Эта формула более наглядна, чем рассмотренная выше в начале статьи, но требует наличия дополнительного столбца.
Задача2 (Сортировка таблицы по текстовому столбцу)
Отсортируем строки таблицы по содержимому Текстового столбца (по Фруктам).
Примечание
: Про сортировку списка текстовых значений можно прочитать в статье
Сортированный список в MS EXCEL (ТЕКСТовые значения)
Как и в предыдущей задаче предположим, что в столбце, по которому ведется сортировка имеются повторы (названия Фруктов повторяются).
Для сортировки таблицы придется создать 2 служебных столбца (D и E).
В столбце D введем
формулу массива, возвращающую несколько значений
=
СЧЁТЕСЛИ($B$7:$B$14;»<«&$B$7:$B$14)+1
Эта формула является аналогом
ранга
для текстовых значений (позиция значения относительно других значений списка). Текстовому значению, расположенному ниже по алфавиту, соответствует больший «ранг». Например, значению Яблоки соответствует максимальный «ранг» 7 (с учетом повторов).
В столбце E введем обычную формулу:
=
СЧЁТЕСЛИ($D$6:D6;D7)+D7
Эта формула учитывает повторы текстовых значений и корректирует «ранг». Теперь разным значениям Яблоки соответствуют разные «ранги» — 7 и 8. Это позволяет вывести список сортированных значений. Для этого используйте формулу (столбец G):
=
ИНДЕКС($B$7:$B$14;ПОИСКПОЗ(СТРОКА()-СТРОКА($G$6);$E$7:$E$14;0))
Аналогичная формула выведет соответствующий объем продаж (столбец Н).
Задача 2.1 (Двухуровневая сортировка)
Теперь снова отсортируем исходную таблицу по Объему продаж. Но теперь для повторяющихся значений (в столбце А три значения 74), соответствующие значения выведем в алфавитном порядке.
Для этого воспользуемся результатами Задачи 1.1 и Задачи 2.
Подробности в
файле примера
на листе Задача2.
Содержание
- 1 Порядок сортировки в Excel
- 2 Сортировка по цвету ячейки и по шрифту
- 3 Сортировка в Excel по нескольким столбцам
- 4 Сортировка строк в Excel
- 5 Случайная сортировка в Excel
- 6 Динамическая сортировка таблицы в MS Excel
- 7 Упорядочивание чисел
- 8 Упорядочивание текста
- 9 Упорядочивание дат
- 10 Настраиваемые списки
- 11 Упорядочивание по цвету и значкам
Сортировка данных в 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, можно использовать событие пересчета листа:
Private Sub Worksheet_Calculate() Application.EnableEvents = False .CurrentRegion.Sort , xlDescending, Header:=xlYes Application.EnableEvents = True End Sub
Application.EnableEvents — чтобы избежать зацикливания, на время сортировки отключаем события листа.
Сортировка будет происходить при пересчете формул. Чтобы пересчет происходил и при ручном изменении данных, в произвольную ячейку нужно добавить формулу с летучей функцией (летучая — пересчитывается при любом изменении на листе), например:
=СЕГОДНЯ()
Недостаток данного решения — сортировка включается при любом изменении на листе.
Если пересчет формул происходит не часто, можно параллельно с Worksheet_Change использовать событие активации листа — Worksheet_Activate
Сортировка данных – распространенный способ упорядочивания значений от большего к меньшему, по алфавиту или другим параметрам. В Excel это можно сделать несколькими методами – обращаясь к функциям или используя пункты в меню.
Вариант 1: Быстрая сортировка в Excel
Иногда требуется максимально быстро отсортировать данные в столбце по возрастанию чисел, убыванию или по алфавиту. Для этого идеально подойдут кнопки быстрой сортировки, предназначенные как раз для выполнения поставленной задачи.
-
Выделите зажатой левой кнопкой мыши столбец с данными и вызовите меню «Редактирование».
-
Откройте список «Сортировка и фильтр» и выберите подходящий для вас вариант упорядочения. С числами это по возрастанию или убыванию, а для текста – по алфавиту и в обратную сторону.
-
Если вы выделили не все ячейки в столбце, появится окно с предложением расширить диапазон. Сделайте это, если за пределами выделения тоже находятся значения, которые нужно сортировать. Укажите сортировку в пределах данного диапазона, если за ним находятся исключительно заголовки.
-
Изменения вступают в силу сразу же. Нажмите Ctrl + Z для отмены действия, если что-то выполнено неправильно.
Обратите внимание на то, что сортировка сбивается после внесения любых изменений в клетках. Придется снова обращаться к тем же самым кнопкам, упорядочив уже новый массив с данными.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Вариант 2: Настраиваемая сортировка
Более продвинутый вариант, позволяющий задать сразу несколько условий упорядочения, – это настраиваемая сортировка, выполняющаяся через соответствующее окно. Давайте разберем сортировку по двум разным параметрам:
-
Вы можете не выделять заранее столбец, если для него задано название. Вызовите то же меню редактирования, но на этот раз нажмите по «Настраиваемая сортировка».
-
Выберите вариант с расширением или сохранением диапазона, если предварительно выделили столбец.
-
Вы увидите первый уровень сортировки, который и стоит настроить с самого начала.
-
Выберите столбец для сортировки из первого выпадающего списка.
-
Далее укажите вариант сортировки. Это может быть значение, цвет шрифта или ячейки, знаки условного форматирования.
-
В завершение укажите, в каком порядке необходимо отсортировать данные.
-
Если затем нужно применить еще один вариант сортировки, добавьте уровень и настройте его должным образом.
-
После применения вернитесь к таблице и убедитесь в том, что действия произведены верно. Учитывайте, что в этом случае сортировка тоже собьется, если вы внесете изменения в любой ячейке.
Вариант 3: Функция НАИБОЛЬШИЙ или НАИМЕНЬШИЙ
Последний вариант – единственный динамический, то есть после внесения изменений в клетках сортировка автоматически перестроится и ее последовательность будет правильной. Как вы уже поняли, для этого понадобится использовать функцию НАИБОЛЬШИЙ или НАИМЕНЬШИЙ.
-
В пустом столбце выберите первую ячейку для сортировки (желательно, чтобы она находилась параллельно ячейке с существующего столбца). Вызовите одну из указанных функций, отталкиваясь от необходимого вам типа упорядочения.
-
Далее в скобках укажите (C:C;СТРОКА(C1)), поменяв буквы на номер столбца сортировки.
-
Растяните функцию, зажав левую кнопку мыши в правой нижней точке ячейки и потянув вниз. Вы увидите, что данные указанного столбца перенесены параллельно, но соблюдена сортировка по возрастанию или убыванию. При этом исходные данные остаются в таком же хаотичном порядке, как были и раньше.
Теперь в исходном столбце вы можете вносить любые изменения для значений, а параллельные данные в отсортированном столбце поменяются в зависимости от указанных данных, но порядок все равно будет правильным.
Используйте любой из вариантов сортировки по надобности, но учитывайте, что динамически меняется только способ с применением функции. Конечно, он потребует создания дополнительного столбца, но в некоторых случаях это является оптимальным решением. Только не забудьте дать название столбцу, чтобы все пользователи таблицы понимали, для чего он нужен на листе.
Сортировка в Excel формулой.
Смотрите также: данные обновлять неФайл не получилось лист, туда формулу срабатывал на странице? (к примеру, в я новичок, поэтому что столбец «G» одном из форумов, ЧТО (A3:C11) между буквами и но я его помощь. сразу по нескольким Или в определенной=ЕСЛИОШИБКА(ИНДЕКС(Фамилии;ПОИСКПОЗ(НАИМЕНЬШИЙ(СЧЁТЕСЛИ(Фамилии;» И формулу «НАИБОЛЬШИЙ». =НАИБОЛЬШИЙ(A:A;СТРОКА(A1))Есть несколько способов формулой, а макросом. приложить, ну и
например Поскольку идет импорт 3 и 40 просьба не быть
у меня формируется
если найду, выложу, и сортируем сначала
проч. не смог адаптироватьНа всякий случай
столбцам и строкам, последовательности — звание,
протянуть вниз по
Второй способ, как сделать сортировку и добавить сортировку. ладно… (Только нужно=COUNTA(Лист1!A:S) данных извне и строках) — остальная слишком строгими ко
на основании сложения но формулы там по Диапазону Название
Serge к своему файлу
опишу механику фильтрации по нескольким условиям.
чин, должность, название столбцу чуть ниже. в и можно запускать первую таблицу сделатьВ модуль этого обновляются с периодичностью информация не должна мне. Вопрос следующий. и умножения других гигантские скажу сразу! (А3:А11): А почему не :(
по значению, может Как настроить такую
месяцев по порядку, последней строки таблицы.Сортировка по алфавиту вExcel кнопкой или сочетанием массивом «Таблица1») листа код 5 минут. То
попадать на новый У меня есть ячеек, и данный )потом по Диапазону использовать сводную?Возможно это както кто сделает проще. сортировку, смотрите в а не поЕсли данные вExcel.. Для этого есть
клавиш. Успехов!updPrivate Sub Worksheet_Calculate() есть, чтобы макрос
лист. Импорт данных некая информация преобразованная макрос автоматически произведётExcel-ok Столбец1 (В3:В11)Григорий формулами сделать?1)В таблицу с статье «Сортировка в алфавиту.
excel-office.ru
Как настроить сортировку в Excel.
таблице не сортируютсяЕсли в столбцефункция вLelushПолучилось. Лист1.www End Sub для «Статистики» срабатывал из внешних источников в excel-файл. Необходимо сортировку только если: Читать так:Проверьте имена диапазонов: Serge Для своднойvikttur
данными добавил столбец
Excel по несколькимМожно сделать любой по дате, значит стоят не числа,Excel «Сортировка и фильтр».: У меня естьКак сделать автоматическую сортировкуЭто в файл автоматически. (строк может быть
отобрать нужные строки я зайду вЕСТЬ решение этой что были присвоены данные неудобные.: Сортировка по тексту с нумерацией строк столбцам и строкам» список. У нас не правильно написаны
а текст, например,Как сортировать с столбец
списка значений от КаренаHugo любое количество - и автоматически скопировать любую ячейку G задачи и с и все должноМикки В макросе — по алфавиту (хотя можно было тут. есть такая таблица. все или некоторые фамилии, наименование товара, помощью этой функции,A минимального до максимального,Можно аналогично и: А мне вариант главное, чтобы они их на отдельный и затем нажму
помощью формул. Его работать выдает ошибку на или есть числовые и через «строку»Таблицу Excel можноВыделяем столбец. Заходим даты. Как правильно т.д., то используем читайте в статье
с данными, который в котором эти мой код вызывать Карена нравится больше удовлетворяли требованиям по лист. Еще момент энтер. А хотелось KL приводил как-тоPrivate Sub Worksheet_Change(ByVal Range(«Что»).Select . Можно
«вкрапления», как в пойти). защитить от других на закладке «Главная» сортировать по датам, формулу массива. Таблица
excel-office.ru
Автоматическая сортировка списка
«Сортировка в Excel». постоянно пополняется. Как
значения появляются ДИНАМИЧНО.
— только названиеЕсли конечно всегда примеру 3 и — данные в бы без этого
на одном из
Target As Range) для особо непонятливых примере?2)Данные из столбца пользователей, установив пароль. -> «Сортировка и смотрите в статье такая. Здесь рассмотрим, как
мне сделать так, Подскажите пожалуйста формулу поменять. применим. 40 строк). Желаемый excel-файле периодически обновляются. лишнего движения, чтобы форумов, если найду,’если изменения в
(для меня :)Григорий
с нумерацией привязал Смотрите в статье фильтр», выбираем « «Сортировка по дате
Выделяем столбец и присваиваем настроить сортировку в чтобы в столбец или макрос. Главноеmaxx13Как сделать чтоб
результат (как должно Файл прикрепляю. Уточняю, автоматически производилась сортировка.
выложу, но формулы диапазоне A3:C11 ) по пунктам: Спасибо за участие к функции «наибольшее» «Пароль на Excel.Настраиваемая сортировка в Excel». ему имя. Как Excel с помощьюR чтобы сортировка была: Добрый день. подскажите, срабатывало на обновление быть) на Листе пользуюсь Ecxel 2003, +нужна сортировка не
там гигантские скажуIf Not Intersect(Target, что там манять :)
3)К данным находящимся Защита Excel».». В появившемся окнеСортировка в Excel это сделать, читайте формул. Эта сортировкакопировались записи из
автоматической. пожалуйста, возможен ли — зависит как 2. можно Excel 2007 по возрастанию а
сразу! Range(«A3:C11»)) Is Nothing
при переносе надоВ моем случае в столбце поГригорий в разделе «Порядок»проводится разными способами
в статье «Присвоить удобна тем, что столбца
Нужно просто отсортировать вариант, чтобы excel обновляете.HugoЮрий М
по убыванию.
)))
Then
(Кроме названия листов
будут числовые вкропления, которому необходима фильтрация: Всем здравствуйте. выбираем «Настраиваемый список». — функцией «Сортировка»,
имя в Excel при изменении данныхA по занятому месту
автоматом подставлял изМожно на третьем: Фильтр в T: roadtomoney, Вам, как_Boroda_Guest
’если выделили больше и диапазонов). Меняю при этом колличество прибавил данные изОписание:В разделе окна «Списки» формулами, т.д. Но
ячейке, диапазону, формуле» в столбце, произойдети тут же
список имён. таблицы 1 (выделена листе прописать формулу,
— выбираем «Статистика», новичку, скажу по: Так нужно?: одной ячейке, то и в самом буквенных и числовых столбца нумерации деленныеЕсть таблица в появится запись «Новый можно настроить сортировку тут. Мы присвоили автоматическая сортировка в
сортировались по возрастанию?Имя1 (столбец1) - красным цветом) в завязанную на первый,
копируем. Можно вручную, секрету: мало ктоPrivate Sub Worksheet_Change(ByVal Target
Микки выход листе и в
знаков может различаться. на 1 000 которой могут появляться список», выделяем его.
по своим условиям. имя «Фамилии».
Excel новых данных. То есть я 4 место (столбец2)
нужные сроки таблицы и по событию можно маросом.
захочет возиться с As Range)
: Я таки неIf Selection.Cells.Count > модуле.
Например 000 000 :)
и исчезать данные Переходим в правую Как сортировать функцией,В ячейке В1
Рассмотрим два способа добавляю новую запись
Имя2 — 2 2 (выделена желтым).
пересчёта запускать макрос.roadtomoney файлом в 510К.
On Error Resume понимаю , чем 1 Then Exit
vikttur Можешь показатьМО1 таким образом в
(прям волшебная какая-то
часть диалогового окна
читайте в статье
пишем такую формулу.
сортировки данных в
в
место
BobroEJ
Но не вполне
: Можно немного подробнее,
Ведь можно же
Next
мой вариант плох?
Sub
как по первым
МГБ12
случае появлении в таблица :)). и пишем наш «Сортировка в Excel».=ИНДЕКС(Фамилии;ПОИСКПОЗ(НАИМЕНЬШИЙ(СЧЁТЕСЛИ(Фамилии;» Для ввода таблице Excel сAИмя3 — 1: maxx13, вы там понятно — куда
пожалуйста. Как будет делать пример не
With Me Прекрасно работает сделайтеRange(«Что»).Select 3м буквам? Яи т.д. таблице одинаковых значенийЗадача: список через запятую. Как настроить автоматическую
формулы нажимаем сочетание
помощью формул.и в столбце
место что-то забыли приложить. копировать? Всегда в выглядеть макрос? наr1_ = .UsedRange.Rows.Count динамические диапазоны и’ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear д
planetaexcel.ru
Автоматическая сортировка в Excel (Формулы/Formulas)
Микки (а у меня
Так вот необходимо Получилось так.
сортировку в помощью клавиш «Ctrl» +
Первый способ.RИмя4 - 3
maxx13
A1?
Hugo
такое
If Not Intersect(Target,
не парьтесь или
ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Add Key:=Range(«Название»), _Serge: Интересно почему не они целые) формула настроить автоматическую сортировкуНажимаем кнопку «Добавить» наш формул, смотрите в «Shift» + «Enter»,Сортировка вуже обновлённый отсортированный место.: сориroadtomoney: Sub tt() Withколичество строк. Да Range(«D1:F» & r1_)) засадите макрос наSortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
: {quote}{login=Григорий}{date=03.09.2009 03:13}{thema=}{post}Serge Для смогли ? Что
все равно получало по тексту а
список появился в статье "Сортировка в
п.ч. это формула
Excel по возрастанию.
список.Полосатый жираф аликbuchlotnik
: Копирование на соседний
Sheets(1) If .AutoFilterMode
и какие строки Is Nothing Then
кнопочку
ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add Key:=Range("Столбец1"), _
сводной данные неудобные. Вам так сильно
сове наибольшее с
после по значению.
левой стороне окна.
Excel формулой" здесь.
массива. Копируем формулу
excelworld.ru
Автоматическая сортировка и копирование строк в excel
Сортируем с помощьюЕщё есть такой: На том же: так нужно? лист, всегда в Then .AutoFilter.Range.AutoFilter End считать «нужными» -With .Sort.SortFieldsstalberSortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormalПрикольно, я ещё мешает? небольшой погрешностью которая С настройкой отдельноНажимаем «ОК». Здесь жеСортировка списка в Excel. вниз по столбцу. функций «НАИМЕНЬШИЙ» или нюанс: в этих
месте — формулой200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИОШИБКА(ИНДЕКС(D$90:D$108;ПОИСКПОЗ($C17;$C$90:$C$108;0));»») A1 Вопрос в With With Sheets(1).UsedRange.Columns(20) пока только Вы.Clear: Использую данный код:With ActiveWorkbook.Worksheets(«Лист1»).Sort не встречал неудобныхvikttur потом округлялась и по значению проблем можно удалить ненужныйТаблица Excel сортирует Получилось так. «НАИБОЛЬШИЙ». столбцах строка 1 не получится. А
_Boroda_ том, что на
.AutoFilter Field:=1, Criteria1:=»Статистика» знаете. Как должен.Add Key:=Range(«G1:G» &Private Sub Worksheet_Change(ByVal.SetRange Range(«Что») данных ;): Вопрос был в как следствие исчезала. нет — использую список, предварительно выделив данные по определеннымЕсли предполагается добавлятьВ ячейке В5 пишем обычная, а начиная в другом столбце: Еще вариант первом листе данные .SpecialCells(xlCellTypeVisible).EntireRow.Copy Sheets(2).[a1] End выглядеть желаемый результат r1_), Order:=xlDescending Target As Range).Header = xlYesпрохожий следующем — как
4)Ну а дальше функцию «наибольший» а его. спискам. Мы можем строки в таблицу,
такую формулу. =НАИМЕНЬШИЙ(A:A;СТРОКА(A1)) со второй и — запросто. Заодно,200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММПРОИЗВ(($C17=$C$90:$C$108)*D$90:D$108)
динамические и меняются With Sheets(1).AutoFilter.Range.AutoFilter End — тоже никтоEnd WithOn Error Resume.MatchCase = False: А почему именно сортировать? комбинацией Индекс(Поискпоз вытаскивал
вот с текстом…..Теперь сортируем так:
сами создать свои то можно сделатьОбратите внимание! далее идёт группировка а по какойИ формат ячеек автоматически каждые 5 Sub не знает…With .Sort Next.Orientation = xlTopToBottom автоматическая? А нажатиемПо алфавиту можно, в новую таблицуТ.е. при обновлении
«Сортировка и фильтр» списки, по которым, динамический диапазон столбца
Хотя первая ячейка по 2 ячейки.
формуле считаются места?# ##0,00;; минут, а макросk61
roadtomoney.SetRange Range(«D1:G» &If Not Intersect(Target,.SortMethod = xlPinYin кнопки сложно?
но формулами по необходимые мне данные данных, в итоговой -> «Настраиваемая сортировка»
затем, будем сортировать А. Смотрите статью для сортировки находитсяkalbasiatkaAlexmaxx13 для обновления статистики: …: Спасибо. Сейчас исправлюсь) r1_) Range(«G:G»)) Is Nothing.ApplyМикки первым одной-двум буквам,Микки
таблице данные должны -> выбираем в данные. Эти списки «Чтобы размер таблицы в пятой строке
: Добавить и отсортировать.
: Копай в сторону: да, спасибо огромное.
приходится запускать вручную.roadtomoney
roadtomoney.Apply
ThenEnd With: Объясняю далее усложнение. А
planetaexcel.ru
Автоматическая сортировка (Формулы/Formulas)
: Добавил Вам автосортировку выстроиться в алфавитном разделе «Порядок» диалогового будут работать и Excel менялся автоматически». таблицы (А5), в А лучше к условного форматирования. Сортировку уже проще от
Можно сделать так,: Спасибо большое. Все: Прикладываю новый файл.
End WithRange(«G1»).Sort Key1:=Range(«G1»), _
End IfИспользуются 3 именованных если имеется текст
изменитн любое значение порядке с дополнительной
окна «Настраиваемый список».
в других книгах
Тогда формулу массива
формуле пишем ячейку своим темам файл не сделает, но 200 органов такое чтобы макрос запускался работает!!! Столько по
Проблема описана вEnd IfOrder1:=xlAscending, Header:=xlYes, _
End Sub диапазона на Листе с тремя-пятью одинаковыми? в 1 или сортировкой (в случае
Выделяем его, нажимаем Excel.
excelworld.ru
Автоматическая сортировка в excel 2010 ?
в столбце В А1. Копируем ячейку прикреплять (для наглядности хотя бы цветом свести 2 разных автоматически вместе с интернету бродил…HUGO - нем снизу) СутьEnd With
OrderCustom:=1, MatchCase:=False, _Excel-ok 1 (строго)
По числам (цифрам) 2 столбце, хотя
появления одинаковых названий) «ОК», ещё раз
Например, нам нужно нужно будет чуть
вниз по столбцу. примера), чтобы не
пометить можно при файла обновлением первого листа? ты лучший проблемы в том,End SubOrientation:=xlTopToBottom: Если решение этой
Если изменилось что тоже можно, но имена лучше динамические по данным в «ОК». рассортировать данные магазина дополнить функцией. Формулу Получилось так.
гадали люди в тех или иныхBobroEJHugoМожно еще один что необходимо, чтобыroadtomoney
Автоматическая сортировка
End If задачи с помощью либо в диапазоне нужно знать некоторые но писать лень таблице.Получилось так. по отделам (фамилии в ячейке В1В столбце С установили какой плоскости у условиях.:: Так ведь уже вопрос… Как сделать, копировались именно строки: Здравствуйте, уважаемые форумчане.End Sub формул. Его KL A3:C11 подробности — размещение,Гигорий
Буду благодарен заВ Excel можно сортировать сотрудников, товар, др.). напишем такую. формулу с функцией вас группировка ячеек.Шведов сергей
200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(ЕОШИБКА(ИНДЕКС(Таблица1;ПОИСКПОЗ($C17;ИНДЕКС(Таблица1;;1);0);D$16-3));»»;ИНДЕКС(Таблица1;ПОИСКПОЗ($C17;ИНДЕКС(Таблица1;;1);0);D$16-3)) написал — добавляете чтобы макрос автоматически с информацией, как В последующем вопросеНеудобство в том, приводил как-то нато выделяем диапазон наличие цифровых знаков
CyberForum.ru
: Спасибо за макрос,
Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Excel Starter 2010 Еще…Меньше
С помощью встроенных настраиваемых списков вы можете сортировать данные по дням недели или месяцам года. При желании вы можете создавать собственные настраиваемые списки для сортировки по любым другим параметрам, которые трудно сортировать по алфавиту (например, высокий, средний и низкий или S, M, L, XL).
Настраиваемые списки позволяют сортировать данные листа по месяцам доставки или по приоритету.
Сортировка по дням недели или месяцам года с помощью встроенного настраиваемого списка
Выполните указанные ниже действия:
-
Выделите столбцы для сортировки.
Примечание: Для получения наилучшего результата у каждого столбца должен быть заголовок.
-
На ленте выберите Данные > Сортировка.
-
Во всплывающем окне Сортировка в раскрывающемся списке Сортировать по выберите столбец, по которому нужно выполнить сортировку.
Например, чтобы отсортировать данные в предыдущем примере по дате доставки, в поле Сортировать по выберите доставка.
-
В раскрывающемся списке Порядок выберите Настраиваемый список.
-
В диалоговом окне Списки выберите нужный список и нажмите кнопку OK для сортировки листа.
Создание собственного настраиваемого списка
Чтобы создать собственный настраиваемый список для сортировки, выполните указанные ниже действия.
-
В столбце листа введите значения, по которым нужно выполнять сортировку. Расположите их нужным образом, определяющим порядок сортировки (от верхней ячейки к нижней). Например:
-
Выделите все ячейки в этом списке и выберите Файл > Параметры > Дополнительно.
-
Прокрутите страницу вниз до раздела Общие и нажмите кнопку Изменить списки…
-
В окне Списки нажмите кнопку Импорт.
Совет: Короткий список, который содержит значения «Высокий», «Средний» и «Низкий», возможно, проще ввести непосредственно в поле Элементы списка окна Списки.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Нужна дополнительная помощь?
Автоматическая сортировка в excel
Сортировка в Excel формулой.
Как настроить сортировку в Excel.
списка значений от КаренаHugo любое количество - и автоматически скопировать любую ячейку G задачи и с и все должно Микки В макросе — по алфавиту (хотя можно было тут. есть такая таблица. все или некоторые фамилии, наименование товара, помощью этой функции, A минимального до максимального,Можно аналогично и : А мне вариант главное, чтобы они их на отдельный и затем нажму
помощью формул. Его работать выдает ошибку на или есть числовые и через «строку»Таблицу Excel можноВыделяем столбец. Заходим даты. Как правильно т.д., то используем читайте в статье
с данными, который в котором эти мой код вызывать Карена нравится больше удовлетворяли требованиям по лист. Еще момент энтер. А хотелось KL приводил как-тоPrivate Sub Worksheet_Change(ByVal Range(«Что»).Select . Можно
«вкрапления», как в пойти). защитить от других на закладке «Главная» сортировать по датам, формулу массива. Таблица
Автоматическая сортировка списка
«Сортировка в Excel». постоянно пополняется. Как
значения появляются ДИНАМИЧНО.
— только названиеЕсли конечно всегда примеру 3 и — данные в бы без этого
на одном из
Target As Range) для особо непонятливых примере?2)Данные из столбца пользователей, установив пароль. -> «Сортировка и смотрите в статье такая. Здесь рассмотрим, как
мне сделать так, Подскажите пожалуйста формулу поменять. применим. 40 строк). Желаемый excel-файле периодически обновляются. лишнего движения, чтобы форумов, если найду,’если изменения в
(для меня :)Григорий
с нумерацией привязал Смотрите в статье фильтр», выбираем « «Сортировка по дате
Выделяем столбец и присваиваем настроить сортировку в чтобы в столбец или макрос. Главноеmaxx13Как сделать чтоб
результат (как должно Файл прикрепляю. Уточняю, автоматически производилась сортировка.
выложу, но формулы диапазоне A3:C11 ) по пунктам: Спасибо за участие к функции «наибольшее» «Пароль на Excel.Настраиваемая сортировка в Excel». ему имя. Как Excel с помощьюR чтобы сортировка была: Добрый день. подскажите, срабатывало на обновление быть) на Листе пользуюсь Ecxel 2003, +нужна сортировка не
там гигантские скажуIf Not Intersect(Target, что там манять :)
3)К данным находящимся Защита Excel».». В появившемся окнеСортировка в Excel это сделать, читайте формул. Эта сортировкакопировались записи из
автоматической. пожалуйста, возможен ли — зависит как 2. можно Excel 2007 по возрастанию а
сразу! Range(«A3:C11»)) Is Nothing
при переносе надоВ моем случае в столбце поГригорий в разделе «Порядок»проводится разными способами
в статье «Присвоить удобна тем, что столбца
Нужно просто отсортировать вариант, чтобы excel обновляете.HugoЮрий М
по убыванию.
)))
Then
(Кроме названия листов
будут числовые вкропления, которому необходима фильтрация: Всем здравствуйте. выбираем «Настраиваемый список». — функцией «Сортировка»,
имя в Excel при изменении данныхA по занятому месту
автоматом подставлял изМожно на третьем: Фильтр в T: roadtomoney, Вам, как_Boroda_Guest
’если выделили больше и диапазонов). Меняю при этом колличество прибавил данные изОписание:В разделе окна «Списки» формулами, т.д. Но
ячейке, диапазону, формуле» в столбце, произойдети тут же
список имён. таблицы 1 (выделена листе прописать формулу,
— выбираем «Статистика», новичку, скажу по: Так нужно?: одной ячейке, то и в самом буквенных и числовых столбца нумерации деленныеЕсть таблица в появится запись «Новый можно настроить сортировку тут. Мы присвоили автоматическая сортировка в
сортировались по возрастанию?Имя1 (столбец1) - красным цветом) в завязанную на первый,
копируем. Можно вручную, секрету: мало ктоPrivate Sub Worksheet_Change(ByVal Target
Микки выход листе и в
знаков может различаться. на 1 000 которой могут появляться список», выделяем его.
по своим условиям. имя «Фамилии».
Excel новых данных. То есть я 4 место (столбец2)
нужные сроки таблицы и по событию можно маросом.
захочет возиться с As Range)
: Я таки неIf Selection.Cells.Count > модуле.
Например 000 000 :)
и исчезать данные Переходим в правую Как сортировать функцией,В ячейке В1
Рассмотрим два способа добавляю новую запись
Имя2 — 2 2 (выделена желтым).
пересчёта запускать макрос.roadtomoney файлом в 510К.
On Error Resume понимаю , чем 1 Then Exit
vikttur Можешь показатьМО1 таким образом в
(прям волшебная какая-то
часть диалогового окна
читайте в статье
пишем такую формулу.
сортировки данных в
в
место
BobroEJ
Но не вполне
: Можно немного подробнее,
Ведь можно же
Next
мой вариант плох?
Sub
как по первым
МГБ12
случае появлении в таблица :)). и пишем наш «Сортировка в Excel».=ИНДЕКС(Фамилии;ПОИСКПОЗ(НАИМЕНЬШИЙ(СЧЁТЕСЛИ(Фамилии;» Для ввода таблице Excel сAИмя3 — 1: maxx13, вы там понятно — куда
пожалуйста. Как будет делать пример не
With Me Прекрасно работает сделайтеRange(«Что»).Select 3м буквам? Яи т.д. таблице одинаковых значенийЗадача: список через запятую. Как настроить автоматическую
формулы нажимаем сочетание
помощью формул.и в столбце
место что-то забыли приложить. копировать? Всегда в выглядеть макрос? наr1_ = .UsedRange.Rows.Count динамические диапазоны и’ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear д
Автоматическая сортировка в Excel (Формулы/Formulas)
Микки (а у меня
Так вот необходимо Получилось так.
сортировку в помощью клавиш «Ctrl» +
Первый способ.RИмя4 — 3
maxx13
A1?
Hugo
такое
If Not Intersect(Target,
не парьтесь или
ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Add Key:=Range(«Название»), _Serge: Интересно почему не они целые) формула настроить автоматическую сортировкуНажимаем кнопку «Добавить» наш формул, смотрите в «Shift» + «Enter»,Сортировка вуже обновлённый отсортированный место.: сориroadtomoney: Sub tt() Withколичество строк. Да Range(«D1:F» & r1_)) засадите макрос наSortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
: Serge Для смогли ? Что
все равно получало по тексту а
список появился в статье «Сортировка в
п.ч. это формула
Excel по возрастанию.
список.Полосатый жираф аликbuchlotnik
: Копирование на соседний
Sheets(1) If .AutoFilterMode
и какие строки Is Nothing Then
кнопочку
ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Add Key:=Range(«Столбец1»), _
сводной данные неудобные. Вам так сильно
сове наибольшее с
после по значению.
левой стороне окна.
Excel формулой» здесь.
массива. Копируем формулу
Автоматическая сортировка и копирование строк в excel
Сортируем с помощьюЕщё есть такой: На том же: так нужно? лист, всегда в Then .AutoFilter.Range.AutoFilter End считать «нужными» -With .Sort.SortFieldsstalberSortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormalПрикольно, я ещё мешает? небольшой погрешностью которая С настройкой отдельноНажимаем «ОК». Здесь жеСортировка списка в Excel. вниз по столбцу. функций «НАИМЕНЬШИЙ» или нюанс: в этих
месте — формулой200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИОШИБКА(ИНДЕКС(D$90:D$108;ПОИСКПОЗ($C17;$C$90:$C$108;0));»») A1 Вопрос в With With Sheets(1).UsedRange.Columns(20) пока только Вы.Clear: Использую данный код:With ActiveWorkbook.Worksheets(«Лист1»).Sort не встречал неудобныхvikttur потом округлялась и по значению проблем можно удалить ненужныйТаблица Excel сортирует Получилось так. «НАИБОЛЬШИЙ». столбцах строка 1 не получится. А
_Boroda_ том, что на
.AutoFilter Field:=1, Criteria1:=»Статистика» знаете. Как должен.Add Key:=Range(«G1:G» &Private Sub Worksheet_Change(ByVal.SetRange Range(«Что») данных ;): Вопрос был в как следствие исчезала. нет — использую список, предварительно выделив данные по определеннымЕсли предполагается добавлятьВ ячейке В5 пишем обычная, а начиная в другом столбце: Еще вариант первом листе данные .SpecialCells(xlCellTypeVisible).EntireRow.Copy Sheets(2).[a1] End выглядеть желаемый результат r1_), Order:=xlDescending Target As Range).Header = xlYesпрохожий следующем — как
4)Ну а дальше функцию «наибольший» а его. спискам. Мы можем строки в таблицу,
такую формулу. =НАИМЕНЬШИЙ(A:A;СТРОКА(A1)) со второй и — запросто. Заодно,200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММПРОИЗВ(($C17=$C$90:$C$108)*D$90:D$108)
динамические и меняются With Sheets(1).AutoFilter.Range.AutoFilter End — тоже никтоEnd WithOn Error Resume.MatchCase = False: А почему именно сортировать? комбинацией Индекс(Поискпоз вытаскивал
вот с текстом. Теперь сортируем так:
сами создать свои то можно сделатьОбратите внимание! далее идёт группировка а по какой И формат ячеек автоматически каждые 5 Sub не знает. With .Sort Next.Orientation = xlTopToBottom автоматическая? А нажатиемПо алфавиту можно, в новую таблицуТ.е. при обновлении
«Сортировка и фильтр» списки, по которым, динамический диапазон столбца
Хотя первая ячейка по 2 ячейки.
формуле считаются места?# ##0,00;; минут, а макросk61
roadtomoney.SetRange Range(«D1:G» &If Not Intersect(Target,.SortMethod = xlPinYin кнопки сложно?
но формулами по необходимые мне данные данных, в итоговой -> «Настраиваемая сортировка»
затем, будем сортировать А. Смотрите статью для сортировки находитсяkalbasiatkaAlexmaxx13 для обновления статистики: . : Спасибо. Сейчас исправлюсь) r1_) Range(«G:G»)) Is Nothing.ApplyМикки первым одной-двум буквам,Микки
таблице данные должны -> выбираем в данные. Эти списки «Чтобы размер таблицы в пятой строке
: Добавить и отсортировать.
: Копай в сторону: да, спасибо огромное.
приходится запускать вручную.roadtomoney
roadtomoney.Apply
ThenEnd With: Объясняю далее усложнение. А
Автоматическая сортировка (Формулы/Formulas)
: Добавил Вам автосортировку выстроиться в алфавитном разделе «Порядок» диалогового будут работать и Excel менялся автоматически». таблицы (А5), в А лучше к условного форматирования. Сортировку уже проще от
Можно сделать так,: Спасибо большое. Все: Прикладываю новый файл.
End WithRange(«G1»).Sort Key1:=Range(«G1»), _
End IfИспользуются 3 именованных если имеется текст
изменитн любое значение порядке с дополнительной
окна «Настраиваемый список».
в других книгах
Тогда формулу массива
формуле пишем ячейку своим темам файл не сделает, но 200 органов такое чтобы макрос запускался работает. Столько по
Проблема описана вEnd If Order1:=xlAscending, Header:=xlYes, _
End Sub диапазона на Листе с тремя-пятью одинаковыми? в 1 или сортировкой (в случае
Выделяем его, нажимаем Excel.
Автоматическая сортировка в excel 2010 ?
в столбце В А1. Копируем ячейку прикреплять (для наглядности хотя бы цветом свести 2 разных автоматически вместе с интернету бродил. HUGO - нем снизу) СутьEnd With
OrderCustom:=1, MatchCase:=False, _Excel-ok 1 (строго)
По числам (цифрам) 2 столбце, хотя
появления одинаковых названий) «ОК», ещё раз
Например, нам нужно нужно будет чуть
вниз по столбцу. примера), чтобы не
пометить можно при файла обновлением первого листа? ты лучший проблемы в том,End SubOrientation:=xlTopToBottom: Если решение этой
Если изменилось что тоже можно, но имена лучше динамические по данным в «ОК». рассортировать данные магазина дополнить функцией. Формулу Получилось так.
гадали люди в тех или иныхBobroEJHugoМожно еще один что необходимо, чтобыroadtomoney
Автоматическая сортировка
End If задачи с помощью либо в диапазоне нужно знать некоторые но писать лень таблице.Получилось так. по отделам (фамилии в ячейке В1В столбце С установили какой плоскости у условиях.:: Так ведь уже вопрос. Как сделать, копировались именно строки: Здравствуйте, уважаемые форумчане.End Sub формул. Его KL A3:C11 подробности — размещение,Гигорий
Буду благодарен заВ Excel можно сортировать сотрудников, товар, др.). напишем такую. формулу с функцией вас группировка ячеек.Шведов сергей
Динамическая сортировка таблицы в MS EXCEL
Отсортируем формулами таблицу, состоящую из 2-х столбцов. Сортировку будем производить по одному из столбцов таблицы (решим 2 задачи: сортировка таблицы по числовому и сортировка по текстовому столбцу). Формулы сортировки настроим так, чтобы при добавлении новых данных в исходную таблицу, сортированная таблица изменялась динамически. Это позволит всегда иметь отсортированную таблицу без вмешательства пользователя. Также сделаем двухуровневую сортировку: сначала по числовому, затем (для повторяющихся чисел) — по текстовому столбцу.
Пусть имеется таблица, состоящая из 2-х столбцов. Один столбец – текстовый: Список фруктов; а второй — числовой Объем Продаж (см. файл примера ).
Задача1 (Сортировка таблицы по числовому столбцу)
Необходимо отсортировать строки таблицы по содержимому числового столбца (по Объему продаж). Предполагается, что пользователь постоянно заполняет строки таблицы, поэтому необходимо написать формулы с учетом добавляемых значений.
Для наглядности величины значений в столбце Объем Продаж выделены с помощью Условного форматирования ( Главная/ Стили/ Условное форматирование/ Гистограммы ). Также желтым выделены повторяющиеся значения.
Примечание: Задача сортировки отдельного столбца (списка) решена в статьях Сортированный список (ТЕКСТовые значения) и Сортированный список (ЧИСЛОвые значения).
Если числовой столбец гарантировано не содержит повторяющихся значений, то задача решается легко:
- Числовой столбец отсортировать функцией НАИБОЛЬШИЙ() (см. статью Сортированный список (ЧИСЛОвые значения));
- Функцией ВПР() или связкой функций ИНДЕКС()+ПОИСКПОЗ() выбрать значения из текстового столбца по соответствующему ему числовому значению.
Однако, в реальных задачах числовой столбец может содержать повторы, а так как функция ВПР() в случае наличия повторов всегда выбирает только первое значение сверху (см. статью Функция ВПР() в MS EXCEL), то этот подход не годится (названия Фруктов будут выведены неправильно).
Поэтому механизм сортировки придется реализовывать по другому.
Создадим для удобства 2 Динамических диапазона Фрукты и Продажи, которые будут ссылаться на диапазоны ячеек, содержащие значения в соответствующих столбцах исходной таблицы. При добавлении новых строк в таблицу, границы этих динамических диапазонов будут автоматически расширяться.
В столбцах D и E разместим таблицу, которая будет динамически сортироваться,
В ячейке Е7 запишем зубодробительную формулу массива:
=ИНДЕКС(Продажи;
ОКРУГЛ(ОСТАТ(НАИБОЛЬШИЙ(
—(СЧЁТЕСЛИ(Продажи;» Похожие задачи
Сортировка в Excel
Сортировка в Excel применяется для визуализации данных и их упорядочивания, что существенно облегчает восприятие информации, представленной в табличной форме. Необходимость в этой функции возникает при работе с бухгалтерскими ведомостями, списками складских запасов и строительными сметами.
Часто проблемой может стать вопрос расположения чисел от большего к меньшему или наоборот. На самом деле критерии для упорядочивания информации в Экселе бывают разными: дата, время, цвет ячеек или тип шрифта. Чаще всего при изучении приемов работы с электронными таблицами рассматриваются примеры, где представлены списки сотрудников или товаров, так как сортировать по алфавиту на практике приходится очень часто. Рассортировать в программе можно по двум различным параметрам.
Как отсортировать по алфавиту
Поскольку в большинстве таблиц числовые параметры привязаны к какому-либо тексту – фамилии или названию товара то удобно расположить по алфавиту. Рассмотрим особенности работы с этим инструментом в редакторе Еxcel на примере таблицы «Содержание питательных веществ во фруктах и овощах».
Для того чтобы отсортировать названия овощей и фруктов по алфавиту необходимо выделить первый столбец, кликнув мышью по его заголовку. Далее требуется перейти на панель инструментов «Редактирование» и открыть вкладку «Главная», на которой расположена специальная кнопка «Сортировка и фильтр». Для упорядочивания названий в первом столбце от А до Я или наоборот, достаточно выбрать соответствующую команду сортировки в выпадающем меню. Если в таблицу Еxcel будут добавлены данные о других продуктах сработает автоматическая сортировка.
Как в Еxcel отсортировать по возрастанию значений
Простое распределение по возрастанию в программе Эксель осуществляется аналогичным образом, что и по алфавиту. После выделения нужного столбца в верхней части главного окна на панели задач «Главная» в разделе «редактирование» выбирается кнопка «Сортировка и фильтр», имеющая дополнительное меню. В открывшемся списке необходимо выбрать подходящий вариант. Когда данные в таблице Эксель нужно упорядочить от большего к меньшему, их следует отсортировать по убыванию, в противном случае выбирается пункт «Сортировка по возрастанию».
Если диапазон данных состоит из двух и более столбцов, при сортировке на экране должно появиться диалоговое окно для выбора дальнейших действий. Если пользователю необходимо отсортировать по возрастанию данные во всей таблице, то следует указать «автоматически расширить выделенный диапазон», во втором случае данные будут упорядочены только в выбранном столбце.
Как сделать сортировку по дате
В таблицах, где в хронологическом порядке отражаются определенные операции, их часто требуется отсортировать по дате проведения. Поскольку дата это сочетание целых чисел, представленных определенным образом, для правильного осуществления сортировки необходимо, чтобы был выбран соответствующий формат ячеек. Если формат указан неправильно, программа не сможет распознать значения дат, поэтому упорядочить их не получится.
Чтобы рассортировать строки таблицы по дате в редакторе Эксель нужно выполнить следующую последовательность действий:
- Выделить любую ячейку в столбце с датами, которые требуется упорядочить.
- Во вкладке «Главная» найти кнопку «Сортировка и фильтр», навести на нее курсор и выбрать одно из предложенных действий в выпадающем списке. Это может быть распределение от новых к старым, когда в начале списка будут находится наиболее поздние даты и привязанные к ним значения, либо наоборот от старых к новым.
Сортировка по цвету ячейки и по шрифту
В случае если определенный диапазон табличных данных отформатирован с использованием шрифта различных цветов или заливки, пользователь может рассортировать строки по цвету, в который окрашена часть ячеек. Упорядочить данные можно также по набору значков, при создании которых применялось условное форматирование. В любом случае это можно сделать следующим образом:
- Курсором мыши нужно выбрать одну из ячеек с данными в нужном столбце.
- На вкладке «Главная» в функциональной группе «Редактирование» следует найти кнопку «Сортировка и фильтрация» и выбрать в дополнительном меню команду «Настраиваемая сортировка».
- В открывшемся окне сначала указать столбец, в котором нужно упорядочить данные, а потом тип сортировки. Это может быть цвет ячейки, цвет шрифта или значок условного форматирования.
- В зависимости от выбранного вида сортировки в группе порядок необходимо отметить нужный значок либо оттенок заливки или шрифта.
- Последний параметр, который нужно указать – это последовательность расположения (сверху или снизу).
Поскольку определенный порядок значков или цветов в редакторе не предусмотрен, его нужно создать самостоятельно. Для этого следует необходимо нажать кнопку «Добавить уровень» и затем повторить указанные шаги для каждого цвета или значка отдельно, исключая те, которые не нужно включать в сортировку,
Сортировка в Excel по нескольким столбцам
Если возникла необходимость отсортировать данные в редакторе Эксель по двум или более столбцам, следует так же, как и в предыдущем случае выбрать диапазон данных и открыть окно «Настраиваемая сортировка». Далее в первой группе следует отметить заголовок столбца, данные в котором нужно упорядочить в первую очередь. Вторая группа остается без изменений, а в третьей необходимо указать желаемый тип сортировки.
Для указания критериев сортировки для второго столбца нужно добавить еще один уровень. В итоге количество уровней будет соответствовать числу столбцов, по которым необходимо отсортировать данные.
Динамическая сортировка таблицы в MS Excel
При выполнении некоторых задач в Excel, требуется установить автоматическую сортировку, которая предполагает наличие формул. В зависимости от типа данных в используемом диапазоне динамическая сортировка может быть задана тремя способами:
- Если информация в ячейках столбца представлена числами, используются функции НАИМЕНЬШИЙ и СТРОКА. Первая находит наименьший элемент из массива, а вторая определяет порядковый номер строки. Таким образом формируется последовательность. Формула записывается следующим образом: =НАИМЕНЬШИЙ(A:A;СТРОКА(A1)).
- Когда в ячейках содержаться текст, первая формула не сработает. Для сортировки в этом случае целесообразно применять формулу: =СЧЁТЕСЛИ(A:A;”
Как убрать сортировку в Excel
Для отмены единичной сортировки диапазона данных достаточно нажать кнопку «Отменить ввод» в левом углу экрана. Бывает так, что изменения в файле были сохранены и отменить действие невозможно. Как убрать сортировку в этом случае?
Если после сложных манипуляций с таблицей, ее нужно будет вернуть в первоначальный вид, перед выполнением сортировки следует специально создать дополнительный столбец, в котором будет отражена нумерация строк. После завершения сложного анализа числовых и текстовых данных, представленных в таблице, чтобы отменить все проделанные операции достаточно будет установить сортировку по созданному столбцу.
Автоматическая сортировка
Автоматическая сортировка товаров в таблице
Здраствуйте уважаемые програмисты, нужна помощь! Есть таблица товара, товар выбирается галочкой по.
Поиск и сортировка по дате (программно). Автоматическая очистка TextBox
Нужны примеры: Поиск и сортировка по дате (программно) . Автоматическая очистка TextBox по нажатию.
Автоматическая стрельба
Доброго времени суток! На форме создано 100 элементов «Label», каждый элемент имеет форму.
Автоматическая замена символов
Как-то я видел здесь способ замены на листе Exсell сточных символов на прописные. В связи с этим.
Автоматическая обработка Заказа
Добрый день! Господа помогите пожалуйста начинающему. Суть вопроса в следующем. Клиенты высылают.
Спасибо огромное. Всё работает!
А стандартных средств этому действию нет?
В смысле галочку где-нибудь поставить автоматически обновлять — такого нет.
Добавлено через 10 минут
И ещё один вопрос:
У меня сортировка по двум столбцам, после того как отсортирован первый,
нужно до отсортировать второй. Команда:
Снимает первую сортировку, как отсортировать образовавшиеся группы,
с учётом результатов первой сортировки?
Добавлено через 7 минут
Сделал так:
Тоже возникла такая же необходимость, как и у автора темы
С сортировкой разобрался, спасибо огромное
Но есть еще вопрос —
Как сделать чтобы при сортировке курсор остался на этой же ячейке (уже отсортированной) или в соседней.
Т.е. например — у меня настроена сортировка по столбцу E. Я ввожу в ячейку E565 дату и строка автоматом поднимается на верх в порядке сортировки. Но курсор либо смещается на ячейку E566 (если нажать Enter) либо в ячейку F565 (если нажать Tab), т.е. я уже не вижу отсортированную строку.
И потом приходится прокручивать страницу и искать.
Как сделать чтобы курсор передвигался туда же, куда отсортировалась последняя строка?
Сортировка данных в Excel
Если данные текстовые, их можно отсортировать по алфавиту («от А до Я» или «от Я до А»). Если данные числовые, их можно отсортировать в порядке возрастания или убывания. Если в диапазоне данных есть строка или столбец, в которых содержатся данные типа время или дата, их можно отсортировать в прямом или обратном хронологическом порядке. Имеется также возможность сортировки предварительно отформатированных данных по элементам этого форматирования.
Сортировать данные можно по одному условию (например, сортировка списка сотрудников по фамилии) или нескольким (например, сортировка списка сотрудников по занимаемой должности, а внутри каждой должности фамилии отсортировать в алфавитном порядке). Данные можно сортировать по столбцу (или нескольким столбцам) или по строке.
Сортировка по одному критерию
- В столбце, по которому должна быть выполнена сортировка, нужно выделить любую ячейку (весь столбец выделять не надо).
- На вкладке Данные [Data] найти группу команд Сортировка и фильтр [Sort&Filter].
- Выбрать нужную кнопку: – сортировка по возрастанию или сортировка по убыванию.
Отметим, что буквы на этой кнопке указывают только на направление сортировки, а вид кнопки остается один и тот же и при текстовых, и при числовых данных.
Существует и другой удобный способ сортировки данных: щелкнув правой кнопкой мыши по ячейке столбца, по которому будет выполняться сортировка, в контекстном меню выбрать пункт Сортировка [Sort], а далее – требуемый вариант сортировки.
Многоуровневая сортировка
- Выделить одну ячейку из сортируемого массива данных.
Если диапазоне данных имеются пустые столбцы или строкой, то Excel автоматически воспринимает их как границы сортируемого массива данных. В таком случае следует выделить все данные, подлежащие сортировке.
- На вкладке Данные [Data] найти группу команд Сортировка и фильтр [Sort&Filter] и на ней выбрать команду Сортировка [Sort].
- Последовательно задать уровни сортировки (определяемые именем столбца).
Нажимая на стрелку возле трех полей (Столбец, Сортировка, Порядок) необходимо выбрать:
- Имя столбца для сортировки.
- Тип критерия (в зависимости от того, будет ли вестись сортировка по значениям данных в столбце, или по оформлению ячейки, или по значку ячейки).
- Порядок сортировки (по убыванию или по возрастанию).
Если выбранный для сортировки столбец содержит названия месяцев или дней недели, то в списке поля Порядок можно выбрать опцию Настраиваемый список и в новом окне отметить один из предлагаемых вариантов сортировки.
Сортировка по форматированию
Часто для анализа данных делается заливка ячеек (или шрифта) цветом. С помощью сортировки можно также упорядочивать данные на основе их форматирования.
Пошаговый порядок действий:
- Щелкнуть по любой ячейки из столбца, по которому будет выполняться сортировка.
- На вкладке Данные [Data] выбрать группу Сортировка и фильтр [Sort&Filter], а затем выбрать команду Сортировка [Sort].
- В поле Столбец [Column] укажите столбец по которому будет проводиться сортировка.
- В поле Сортировка [Sort On] из всплывающего меню выбрать критерий сортировки: цвет ячейки, цвет шрифта или значок ячейки.
- Поле Порядок [Order] содержит два выпадающих списка. В первом нужно выбрать тип критерия, а во втором – размещение ячеек, отсортированных по данному критерию (строку Сверху [On Top] или Снизу [On Bottom]).
- При необходимости добавить еще один критерий сортировки, в окне Сортировка нужно выбрать кнопку Добавить уровень.
Можно также воспользоваться командой «Копировать уровень» [Copy Level], заменив в поле «Порядок» прежнее значение на новое.
- После выбора сортировки нажать кнопку ОК.
Сортировка в Excel — инструмент, с помощью которого информацию из таблицы организовывают в необходимом порядке. Данные можно сортировать по алфавиту, по возрастанию и убыванию чисел или по любым пользовательским критериям — например, по должностям сотрудников.
- Как сделать сортировку данных по одному критерию
- Как сделать сортировку по нескольким критериям
- Как сделать пользовательскую сортировку
Сортировка необходима, когда информация в таблице располагается хаотично. Пользователь выбирает столбец и тип сортировки — Excel упорядочивает информацию таблицы по этим критериям.
Разберём на примере.
Воспользуемся отчётом небольшого автосалона. В таблице собрана информация о продажах: характеристики авто, их цена, дата продажи и ответственные менеджеры. Данные расположены беспорядочно.
Скриншот: Excel / Skillbox Media
Для примера отсортируем данные по возрастанию цены автомобилей, по дате их продажи и по фамилиям менеджеров.
Сортируем данные по возрастанию цены авто. Выделяем любую ячейку в столбце, данные которого нужно отсортировать. В нашем случае — любую ячейку столбца «Цена, руб.».
Скриншот: Excel / Skillbox Media
На вкладке «Главная» нажимаем кнопку «Сортировка и фильтр».
Скриншот: Excel / Skillbox Media
Выбираем нужный тип сортировки — в нашем случае пункт «Сортировка по возрастанию».
Скриншот: Excel / Skillbox Media
Готово — данные таблицы отсортированы по возрастанию цен на автомобили.
Скриншот: Excel / Skillbox Media
Сортируем данные по дате продажи авто. Выделяем любую ячейку столбца «Дата продажи», нажимаем кнопку «Сортировка и фильтр» и выбираем нужный тип сортировки. В нашем случае — пункт «Сортировка от старых к новым».
Скриншот: Excel / Skillbox Media
Готово — данные отсортированы по дате продаж: от более давних к новым.
Скриншот: Excel / Skillbox Media
Сортируем данные по фамилиям менеджеров. Выделяем любую ячейку в столбце «Менеджер», нажимаем кнопку «Сортировка и фильтр» и выбираем нужный тип сортировки. В нашем примере отсортируем по алфавиту — выберем пункт «Сортировка от А до Я».
Скриншот: Excel / Skillbox Media
Готово — данные отсортированы по фамилиям менеджеров.
Скриншот: Excel / Skillbox Media
Выше мы привели три примера сортировки по одному столбцу. Но иногда требуется отсортировать таблицу одновременно по нескольким критериям.
Разберём, как это сделать, на примере.
Допустим, нужно отсортировать первоначальную таблицу отчётности по двум критериям: по возрастанию цены авто и по фамилиям менеджеров.
Выбираем любую ячейку таблицы и нажимаем кнопку «Сортировка» на вкладке «Данные».
Скриншот: Excel / Skillbox Media
В появившемся окне с помощью кнопки «+» добавляем критерии сортировки.
Скриншот: Excel / Skillbox Media
Добавляем критерии в необходимой последовательности: сначала — сортировка по фамилии менеджеров, затем — по возрастанию цен на автомобили, которые они продали.
Для этого нажимаем на стрелки под блоком «Столбец» и выбираем параметр «Менеджер». В пункте «Порядок» оставляем параметр «От А до Я».
Скриншот: Excel / Skillbox Media
Затем снова нажимаем на кнопку «+» и добавляем второй критерий сортировки — «Цена, руб.» → «По возрастанию». Жмём «ОК».
Скриншот: Excel / Skillbox Media
Готово — таблица отсортирована по двум столбцам одновременно.
Скриншот: Excel / Skillbox Media
Выше мы рассмотрели стандартную сортировку: по возрастанию и убыванию, по алфавиту, по дате. Кроме неё, в Excel можно настроить сортировку по критериям, выбранным пользователем.
Функция пригодится, когда нужные критерии не предусмотрены стандартными настройками. Например, если требуется сортировать данные по должностям сотрудников или по названиям отделов. Это называется пользовательской сортировкой.
Схема работы такова:
- Пользователь создаёт новый список для сортировки и вводит значения столбца, который нужно отсортировать, в необходимом порядке.
- Потом сортирует таблицу по стандартному пути с помощью меню сортировки.
Для примера отсортируем нашу таблицу по названиям моделей авто. Создадим новый список для пользовательской сортировки.
В операционной системе macOS это делается так: в верхнем меню нажимаем на вкладку «Excel» и выбираем пункт «Параметры…».
Скриншот: Excel / Skillbox Media
В появившемся окне нажимаем кнопку «Списки».
Скриншот: Excel / Skillbox Media
Затем в правой панели «Пользовательские списки» выбираем пункт «НОВЫЙ СПИСОК», а в левой панели «Элементы списка» вводим элементы списка в нужном порядке.
Скриншот: Excel / Skillbox Media
Элементы списка можно ввести двумя способами:
- Напечатать вручную.
- Импортировать из исходной таблицы и отредактировать.
Пойдём по второму пути. Поставим курсор в строку «Импортировать список из ячеек» и выберем диапазон столбца, значения которого нужно отсортировать. В нашем случае — значения столбца «Марка, модель».
Нажмём кнопку «Импорт».
Скриншот: Excel / Skillbox Media
Excel импортирует все значения столбца, даже дублирующиеся.
Скриншот: Excel / Skillbox Media
Теперь удалим повторяющиеся значения и расположим их в нужном порядке. Для примера сделаем так:
Скриншот: Excel / Skillbox Media
Нажимаем кнопку «Добавить», и список появляется в панели «Пользовательский списки». Закрываем окно.
Скриншот: Excel / Skillbox Media
В операционной системе Windows путь вызова меню «Списки» отличается. Нужно перейти во вкладку «Файл» и выбрать пункты «Параметры» → «Дополнительно» → «Общие» → «Изменить списки». Дальнейшие действия совпадают со схемой, описанной выше.
Теперь отсортируем таблицу по созданному списку. Снова выбираем любую ячейку таблицы и нажимаем кнопку «Сортировка» на вкладке «Данные».
В появившемся окне в блоке «Столбец» выбираем столбец, значения которого нужно отсортировать. В нашем случае — пункт «Марка, модель».
В блоке «Порядок» выбираем созданный список сортировки.
Скриншот: Excel / Skillbox Media
Нажимаем «ОК».
Скриншот: Excel / Skillbox Media
Готово — таблица отсортирована по условиям пользователя. Значения столбца «Марка, модель» расположены в порядке, который мы установили для нового списка.
Скриншот: Excel / Skillbox Media
Сортировка формулой
Если вам нужно отсортировать список, то к вашим услугам куча способов, самый простой из которых — кнопки сортировки на вкладке или в меню Данные (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