Статья адаптирована для версии Excel 2016

Сортировка и фильтрация данных

Содержание

Введение

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

Соответствующие возможности осуществляются на вкладке Главная (то есть всегда под рукой), в модуле Редактирование (самый правый).

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

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

Верхняя часть отвечает за сортировку, а нижняя — за работу с фильтрами.

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

изменится при подключении на листе фильтра:

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

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

Выделение

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

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


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Как выделить? Примитивный, казалось бы, вопрос имеет сотни ответов. Но он далеко не так прост. Подробности описаны здесь


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Плохая новость. Описанная защита от ошибок будет работать далеко не во всех случаях. Особенно это неприятно для случая, когда выделены не все колонки.

Общая рекомендация. Всегда выделяйте таблицу вручную.

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

Сортировка, она же упорядочивание (от расстановки в определенном порядке) данных — достаточно примитивна в первом приближении. Вариант А-Я (A-Z в англоязычной версии) сортирует таблицу в порядке возрастания значений в зависимости от типа данных. Вариант же Я-А сортирует в порядке убывания, то есть от большего значения к меньшему.

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

Названные выше простейшие сортировки работают примитивно. Чтобы выполнить команду, необходимо либо выделить колонку, по которой производится сортировка, либо просто установить в нее курсор (активировать любую ячейку). Заметьте, что второй вариант намного проще, а, значит, потребует меньшего напряжения и, в конечном итоге, будет выполнен быстрее. Сортируемый блок будет автоматически обнаружен, выделен и отсортирован.

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

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

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

Настраиваемая сортировка

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

Указание наличия заголовков в таблице (по умолчанию определяется автоматически) приведет к замене наименования столбца для сортировке на название графы, в качестве которой выбирается первая строка диапазона.

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

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


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Уровни сортировки

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

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

К нему можно добавить следующий уровень. Если для примера использовать таблицу, содержащую колонки «Фамилия», «Имя», «Отчество», то, для получения упорядоченного списка, нужно произвести сортировку по всем трем графам именно в этом порядке.

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

Копирование уровня пригодится, если в новый нужно внести минимальные изменения.

Стрелки вверх и вниз (▲▼) служат для перемещения уровня к началу или концу списка и активируются только при наличии возможности смещения.

Следует помнить, что результат сортировки может быть отменен (Ctrl+Z), если вы не сохранили после нее документ.

Фильтрация данных

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

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

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

Как уже было сказано, за работу фильтра отвечает нижняя часть меню.

Пункт Фильтр служит для включения и отключения фильтра, что подробно обсуждено ниже.

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

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

Включение и отключение фильтра

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

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

Давайте проделаем некоторые манипуляции для следующего примера:


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Приемы работы со списками фильтра

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


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Управление диапазоном действия фильтра

Когда и если нас устраивает автоматическое определение таблицы, проблем не возникает.

Давайте проверим, как работает созданный нами ранее фильтр. Для этого оставим в списке для колонки B только значение «2» (сбросить Выделить все и выбрать 2) и подтвердим выбор кнопкой OK.

Но строка 9 (со значением «3») не была скрыта, так как она не была определена автоматически в качестве части таблицы.

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

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

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

В-третьих, для многих таблиц важны итоговые данные.

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

Теперь, если вновь задать для колонки B только значение «2», то из строк 2–9 будет выведена только строка 4, а остальные будут скрыты.

То есть фильтр воздействует на весь диапазон, помеченный в процессе создания. Кроме того, он дополнился дополнительной последней строкой — (Пустые).

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

Расширенные фильтры

Первичные возможности реализуются через пометку данных, совпадение с которыми (равенство), является условием для показа.

Расширенный фильтр выводится над строкой поиска и его вид (наименование) и состав зависят от типов значений не всех обрабатываемых ячеек, а только первой из них. Здесь уместно напомнить, что, по умолчанию, все ячейки таблицы в пределах одной колонки должны быть одного типа. То есть, если вы нарушили это основополагающее правило по ошибке, незнанию или по необходимости, то расширенный фильтр может работать совсем не так как вы ожидаете. Часть прикладных случаев будет приведена далее по тексту.

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

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

Комментарий к знакам подстановки «?» и «*» всегда присутствует в диалоге, а их использование является стандартным.

Задать более сложное условие можно через Дополнительные фильтры.


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Числовой фильтровый набор формируется для колонки с исключительно числовыми значениями.

См. также пояснения для диалога фильтра.

Если данные представлены типом даты, то будет выведен фильтр даты.

Хорошо видно, что он реализован в виде раскрывающегося списка (дерева) от года к месяцу и дате. При наличии значений времени, они продолжают ветви.

Из сказанного вытекает неприятный вывод, что даты, приходящиеся на 1-е число любого месяца и года, выбрать невозможно или слишком сложно. Такая возможность (и аналогичные [декада, неделя, время суток...], кроме месяца и квартала) в программе действительно не предусмотрена.


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


См. также пояснения для диалога фильтра.

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

Ниже представлен развернутый диалог условия для колонки, содержащей значения типа Дата.

Обратите внимание, что строки «после...» и «до...» относятся к типу Дата и не будут отображаться для других типов данных. Аналогичные «особенности» характерны для всех типов, кроме символьного (текстового), условия которого включены для всех диалогов (но их работа распространяется только на текст).

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


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Встраивание дополнительной колонки

Вполне естественной является ситуация, когда нужно добавить графу в уже существующую таблицу. Если вокруг добавляемой колонки уже есть кнопки фильтра, то она будет добавлена автоматически, и беспокоиться не о чем.

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

  1. создать колонку внутри таблицы (не на своем месте), за счет чего к ней будет подключен фильтр;
  2. вырезать созданную колонку;
  3. вставить ее в нужном месте.

Вывод итоговых данных и фильтр

Если это не было понято заранее, то осознание придет после первого же включения: итоговые данные не должны захватываться фильтром, так как:


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Многоуровневая шапка таблицы

Достаточно сложная и правильно составленная таблица очень часто имеет обобщающие ячейки в шапке. Её грамотная подготовка в принципе исключает адекватную работу с фильтрами. Что можно и нужно сделать в этом случае?


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Фильтр для нескольких фрагментов листа

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

То есть придется выделить единое пространство (без использования клавиши Ctrl).

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

Дополнительные фильтры

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

Поскольку почти все элементы диалога очевидны или вполне понимаемы даже с минимальным объемом знаний, обсуждаться будут только сложные моменты, плохо описанные в справке. Но не будем обсуждать косноязычие технических писателей Microsoft, а перейдем к сути.


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Общие замечания

Здесь приводится то, что затруднительно отнести к обсужденным темам, но без чего сложно обойтись на практике. А также — обобщения.


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!



Copyright © 1993–2021 Мацкявичюс Д.А. Все права защищены.
Никакая часть сайта не может быть воспроизведена никаким способом без письменного разрешения правообладателя и явной ссылки на данный ресурс.