X

Активная фильтрация данных. Часть 3.

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

Используем следующий вариант таблицы:

Исходная для фильтрации таблица

Для этого возьмем пример, в котором из таблицы сотрудников организации нужно отобрать только тех, которые работают в отделе «бухгалтерия» на должности «бухгалтер» и имеют заработную плату в пределах от 1500 до 2000 у.е. (для интернациональности берем универсальную валюту 🙂 ). Таким образом, имеем три условия, которые нужно отследить по трем столбцам. Ничего особо сложного.

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

Рассмотрим пошагово, как установить такой фильтр:

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

    Фильтр по столбцу Должность

    Подтверждаем выбор нажатием на кнопку Ok.

  3. В таблице останутся отображенными сотрудники, работающие на должности «бухгалтер».
  4. Переходим в столбец Отдел и, активировав кнопку настройки фильтра, в списке данных столбца устанавливаем птичку напротив названия «Бухгалтерия».

    Фильтр по столбцу Отдел

    Подтверждаем выбор нажатием на кнопку Ok.

  5. В таблице останутся отображенными сотрудники на должности «бухгалтер», работающие в отделе «Бухгалтерия». Согласно двум настроенным фильтрам.

    Результат двойного фильтра

  6. Переходим в столбец Оклад и, активировав кнопку настройки фильтра Excel, выбираем команду Числовые фильтры| Между.
  7. В открывшемся окне Пользовательские фильтры подставляем значения в автоматически настроенные поля:
    больше или равно – 1500
    меньше или равно – 2000.

Фильтр по числовым данным

Подтверждаем выбор нажатием на кнопку Ok.

  • В таблице останутся отображенными сотрудники на должности «бухгалтер», работающие в отделе «Бухгалтерия» и имеющие оклад в указанных пределах.

 

Итоговый результат фильтрации

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

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

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

Vladimir:

View Comments (2)

  • Борис, доброго дня! Ну, давайте постараюсь что-нибудь предложить или хотя бы озвучу возникшие мысли. :)
    Конечно, в таких случаях хорошо бы посмотреть/пощупать материал. Но по тому, что я понял, да, удобно пользоваться Excel или Access, но для последнего нужно овладевать знаниями по структуре баз данных, как связывать таблицы и выполнять к ним запросы. Ну, не так чтобы мало.
    Попробую не сильно растекаться мыслью. На мой взгляд, прежде всего Вам следует пересмотреть ключевики и сузить их количество до необходимого минимума, Во-вторых - разбить их по категориям, тогда проще будет ступенчато отсеивать. И посмотрите в Excel средство для создания запросов между таблицами и даже файлами Excel - Microsoft Query. Интересная штука, которая позволяет обращаться с Excel как с базой данных.
    Все собираюсь про него написать, да руки не доходят, вот Вы напомнили, может соберусь таки. :)

  • Добрый день, Владимир! Тема "фильтрация по нескольким столбцам" мне весьма интересна: пытаюсь уменьшить хаос в сборнике советов и примочек по IT-направлению, которые я надергал отовсюду за полтора десятка лет. Сейчас это два Word'овских файла по примерно 30 страниц в каждом. Предположительно могли бы подойти: 1) MS Access - но я с ним никогда не работал; 2) некие пока загадочные для меня "теги" в Word или HTML; 3) Excel - более-менее знакомое дело, формулы меня тоже не пугают. В-общем, на перепутье пока... Так вот, описанную в этом разделе фильтрацию я применял не однажды, и все работает хорошо в УПОРЯДОЧЕННЫХ таблицах. В моем случае, предположительно, стока будет выглядеть так: одна широкая ячейка для собственно текста очередного полезного совета, затем штук пять узких ячеек для ключевых слов. Например, "Windows", "драйвер", "обвал", "старт". Как сделать, чтобы ключевые слова не размножались синонимами ("старт"="запуск") - задача второстепенная, а вот то, что ПОРЯДОК этих слов в строке будет произвольным, мне преодолеть не удается. То есть через полсотни строк похожая заметка будет иметь ключевые слова "обвал", "Windows", "старт", "драйвер", и фильтр споткнется. Неопределенность добавляется и тем, что нужная заметка может содержать, к примеру, четыре ключевых слова, а при поиске будут использованы для начала только два... Расширенный фильтр запросто выдерживает такую анархию, НО не показывает список всех ключевых слов, чтобы без ошибок мышью их вводить в зону критериев поиска.
    Можете что-то подсказать? Буду признателен и за совет, какую программу целесообразнее применять, если Excel (БЕЗ макросов) не справится.

    С уважением,
    Борис

Related Post