- Сортировка формулой
- Способ 1. Числовые данные
- Способ 2. Текстовый список и обычные формулы
- Способ 3. Формула массива
- Сортировка чисел по возрастанию в Microsoft Excel
- Способ 1: Кнопки быстрой сортировки
- Способ 2: Настраиваемая сортировка
- Способ 3: Формула для динамической сортировки
- Как сделать сортировку в Excel по возрастанию и по убыванию
- Сортировка данных в Excel
- Как в Excel сделать сортировку в столбце
- Сортировка по цвету ячейки в Excel
Сортировка формулой
Если вам нужно отсортировать список, то к вашим услугам куча способов, самый простой из которых — кнопки сортировки на вкладке или в меню Данные (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; » ;»»)
Она перехватывает ошибку #ЧИСЛО и выводит вместо нее пустоту (пустые кавычки).
Сортировка чисел по возрастанию в Microsoft Excel
Способ 1: Кнопки быстрой сортировки
В Excel есть две универсальные кнопки, позволяющие выполнять сортировку по алфавиту, возрастанию или убыванию, если речь идет о числах. Ими пользоваться проще всего, если есть уже готовая таблица, для которой и производится сортировка. Учитывайте, что при добавлении новых значений сортировка сбивается, а для предотвращения возникновения подобной ситуации нужно запускать ее повторно или применять Способ 3 этой статьи.
- Сначала зажмите левую кнопку мыши и выделите все значения, которые хотите отсортировать в порядке возрастания.
- На вкладке «Главная» разверните раздел «Редактирование» и выберите инструмент «Сортировка и фильтр».
- В нем вы увидите два разных типа сортировок — соответственно, в рассматриваемом случае понадобится выбрать «Сортировку по возрастанию».
Способ 2: Настраиваемая сортировка
Настраиваемая сортировка подойдет при работе с несколькими значениями в таблице, когда необходимо не только отсортировать один ряд по возрастанию, но и задействовать алфавитную сортировку или другие ее типы, присутствующие в Excel. Основной процесс настройки при использовании этого инструмента выглядит нехитрым образом.
- В том же разделе «Редактирование» нажмите кнопку «Настраиваемая сортировка».
Способ 3: Формула для динамической сортировки
В завершение разберем более сложный, но гибкий способ, подразумевающий создание вспомогательной формулы, которая будет сравнивать значения в таблице и выводить на новых ячейках числа по возрастанию. Преимущество этого метода перед остальными заключается в том, что формула автоматически расширяется при добавлении новых значений в таблицу, а значит, происходит их динамическая сортировка.
- Активируйте первую ячейку для формулы и введите =НАИМЕНЬШИЙ . Это основная функция, которая автоматически и рассчитает необходимые значения.
Как сделать сортировку в Excel по возрастанию и по убыванию
Сортировка данных в Excel это очень полезная функция, но пользоваться ней следует с осторожностью. Если большая таблица содержит сложные формулы и функции, то операцию сортировки лучше выполнять на копии этой таблицы.
Во-первых, в формулах и функциях может нарушиться адресность в ссылках и тогда результаты их вычислений будут ошибочны. Во-вторых, после многократных сортировок можно перетасовать данные таблицы так, что уже сложно будет вернуться к изначальному ее виду. В третьих, если таблица содержит объединенные ячейки, то следует их аккуратно разъединить, так как для сортировки такой формат является не приемлемым.
Сортировка данных в Excel
Какими средствами располагает Excel для сортировки данных? Чтобы дать полный ответ на этот вопрос рассмотрим его на конкретных примерах.
Подготовка таблицы для правильной и безопасной сортировки данных:
- Выделяем и копируем всю таблицу.
- На другом чистом листе (например, Лист2)щелкаем правой кнопкой мышки по ячейке A1. Из контекстного меню выбираем опцию: «Специальная вставка». В параметрах отмечаем «значения» и нажимаем ОК.
Теперь наша таблица не содержит формул, а только результаты их вычисления. Так же разъединены объединенные ячейки. Осталось убрать лишний текст в заголовках и таблица готова для безопасной сортировки.
Чтобы отсортировать всю таблицу относительно одного столбца выполните следующее:
- Выделите столбцы листа, которые охватывает исходная таблица.
- Выберите инструмент на закладке: «Данные»-«Сортировка».
- В появившимся окне укажите параметры сортировки. В первую очередь поставьте галочку напротив: «Мои данные содержат заголовки столбцов», а потом указываем следующие параметры: «Столбец» – Чистая прибыль; «Сортировка» – Значения; «Порядок» – По убыванию. И нажмите ОК.
Данные отсортированные по всей таблице относительно столбца «Чистая прибыль».
Как в Excel сделать сортировку в столбце
Теперь отсортируем только один столбец без привязки к другим столбцам и целой таблицы:
- Выделите диапазон значений столбца который следует отсортировать, например «Расход» (в данном случаи это диапазон E1:E11).
- Щелкните правой кнопкой мышки по выделенному столбцу. В контекстном меню выберите опцию «Сортировка»-«от минимального к максимальному»
- Появится диалоговое окно «Обнаруженные данные вне указанного диапазона». По умолчанию там активна опция «автоматически расширять выделенный диапазон». Программа пытается охватить все столбцы и выполнить сортировку как в предыдущем примере. Но в этот раз выберите опцию «сортировать в пределах указанного диапазона». И нажмите ОК.
Столбец отсортирован независимо от других столбцов таблицы.
Сортировка по цвету ячейки в Excel
При копировании таблицы на отдельный лист мы переносим только ее значения с помощью специальной вставки. Но возможности сортировки позволяют нам сортировать не только по значениям, а даже по цветам шрифта или цветам ячеек. Поэтому нам нужно еще переносить и форматы данных. Для этого:
- Вернемся к нашей исходной таблице на Лист1 и снова полностью выделим ее, чтобы скопировать.
- Правой кнопкой мышки щелкните по ячейке A1 на копии таблицы на третьем листе (Лист3) и выберите опцию «Специальная вставка»-«значения».
- Повторно делаем щелчок правой кнопкой мышки по ячейе A1 на листе 3 и повторно выберем «Специальная вставка» только на этот раз указываем «форматы». Так мы получим таблицу без формул но со значениями и форматами
- Разъедините все объединенные ячейки (если такие присутствуют).
Теперь копия таблицы содержит значения и форматы. Выполним сортировку по цветам:
- Выделите таблицу и выберите инструмент «Данные»-«Сортировка».
- В параметрах сортировки снова отмечаем галочкой «Мои данные содержат заголовки столбцов» и указываем: «Столбец» – Чистая прибыль; «Сортировка» – Цвет ячейки; «Порядок» – красный, сверху. И нажмите ОК.
Сверху у нас теперь наихудшие показатели по чистой прибыли, которые имеют наихудшие показатели.
Примечание. Дальше можно выделить в этой таблице диапазон A4:F12 и повторно выполнить второй пункт этого раздела, только указать розовый сверху. Таким образом в первую очередь пойдут ячейки с цветом, а после обычные.