Как в excel отфильтровать по дате

Фильтрация данных в диапазоне или таблице

В этом курсе:

Используйте автофильтр или встроенные операторы сравнения, такие как “больше чем” и “первые 10”, в Excel, чтобы отобразить нужные данные и скрыть остальные. После фильтрации данных в диапазоне ячеек или таблице можно либо повторно применить фильтр, чтобы получить актуальные результаты, либо очистить фильтр, чтобы заново отобразить все данные.

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

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

Выберите любую ячейку в диапазоне данных.

Выберите фильтр> данных .

Щелкните стрелку в заголовке столбца.

Выберите текстовые фильтры или Числовые фильтры, а затем выберите Сравнение, например между.

Введите условия фильтрации и нажмите кнопку ОК.

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

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

Щелкните стрелку в заголовке столбца, содержимое которого вы хотите отфильтровать.

Снимите флажок (выделить все) и выберите поля, которые нужно отобразить.

Нажмите кнопку ОК.

Стрелка заголовка столбца превращается в значок фильтра . Щелкните этот значок, чтобы изменить или очистить фильтр.

Статьи по теме

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

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

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

Два типа фильтров

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

Повторное применение фильтра

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

стрелка раскрывающегося списка означает, что фильтрация включена, но не применяется.

При наведении указателя мыши на заголовок столбца, для которого включена фильтрация, но не применяется, выводится Экранная подсказка “(отображаются все)”.

Кнопка фильтра означает, что фильтр применен.

При наведении указателя мыши на заголовок столбца с фильтром Экранная подсказка отображает фильтр, примененный к этому столбцу, например “равно красному цвету ячейки” или “больше чем 150”.

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

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

значения, возвращаемые формулой, изменились, и лист был пересчитан.

Не используйте смешанные типы данных

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

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

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

Выделите данные, которые нужно отфильтровать. На вкладке Главная нажмите кнопку Форматировать как таблицу и выберите команду Форматировать как таблицу.

В диалоговом окне Создание таблицы вы можете выбрать, есть ли в таблице заголовки.

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

Не устанавливайте флажок, если вы хотите, чтобы Excel в Интернете добавить заполнители (которые можно переименовывать) над данными таблицы.

Нажмите кнопку ОК .

Чтобы применить фильтр, щелкните стрелку в заголовке столбца и выберите параметр фильтрации.

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

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

Выделите данные, которые нужно отфильтровать. Для достижения наилучших результатов столбцы должны содержать заголовки.

На вкладке ” данные ” нажмите кнопку ” Фильтр“.

Параметры фильтрации для таблиц и диапазонов

Можно применить общий фильтр, выбрав пункт Фильтр, или настраиваемый фильтр, зависящий от типа данных. Например, при фильтрации чисел отображается пункт Числовые фильтры, для дат отображается пункт Фильтры по дате, а для текста — Текстовые фильтры. Применяя общий фильтр, вы можете выбрать для отображения нужные данные из списка существующих, как показано на рисунке:

Выбрав параметр Числовые фильтры вы можете применить один из перечисленных ниже настраиваемых фильтров.

В этом примере, чтобы отобрать регионы, в которых сумма продаж за март была меньше 6000, можно применить настраиваемый фильтр:

Вот как это сделать.

Щелкните стрелку фильтра в ячейке со словом “Март”, выберите пункт Числовые фильтры и условие Меньше и введите значение 6000.

Нажмите кнопку ОК.

Excel в Интернете применяет фильтр и отображает только регионы с продажами ниже $6000.

Аналогичным образом можно применить фильтры по дате и текстовые фильтры.

Удаление фильтра из столбца

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

Удаление всех фильтров из таблицы или диапазона

Выделите любую ячейку в таблице или диапазоне и на вкладке данные нажмите кнопку Фильтр .

Будут удалены все фильтры из всех столбцов в таблице или диапазоне и отображаются все данные.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Источник: support.office.com

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

В Excel предусмотрено три типа фильтров:

  1. Автофильтр – для отбора записей по значению ячейки, по формату или в соответствии с простым критерием отбора.
  2. Срезы – интерактивные средства фильтрации данных в таблицах.
  3. Расширенный фильтр – для фильтрации данных с помощью сложного критерия отбора.
Читайте также:  Как в excel убрать

Автофильтр

  1. Выделить одну ячейку из диапазона данных.
  2. На вкладке Данные [Data] найдите группу Сортировка и фильтр [Sort&Filter].
  3. Щелкнуть по кнопке Фильтр [Filter] .

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

Варианты фильтрации данных

  • Фильтр по значению – отметить флажком нужные значения из столбца данных, которые высвечиваются внизу диалогового окна.
  • Фильтр по цвету – выбор по отформатированной ячейке: по цвету ячейки, по цвету шрифта или по значку ячейки (если установлено условное форматирование).
  • Можно воспользоваться строкой быстрого поиска
  • Для выбора числового фильтра, текстового фильтра или фильтра по дате (в зависимости от типа данных) выбрать соответствующую строку. Появится контекстное меню с более детальными возможностями фильтрации:
  1. При выборе опции Числовые фильтры появятся следующие варианты фильтрации: равно, больше, меньше, Первые 10… [Top 10…] и др.
  2. При выборе опции Текстовые фильтры в контекстном меню можно отметить вариант фильтрации содержит. , начинается с… и др.
  3. При выборе опции Фильтры по дате варианты фильтрации – завтра, на следующей неделе, в прошлом месяце и др.
  4. Во всех перечисленных выше случаях в контекстном меню содержится пункт Настраиваемый фильтр… [Custom…], используя который можно задать одновременно два условия отбора, связанные отношением И [And] – одновременное выполнение 2 условий, ИЛИ [Or] – выполнение хотя бы одного условия.

Если данные после фильтрации были изменены, фильтрация автоматически не срабатывает, поэтому необходимо запустить процедуру вновь, нажав на кнопку Повторить [Reapply] в группе Сортировка и фильтр на вкладке Данные.

Отмена фильтрации

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

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

Чтобы быстро снять фильтрацию со всех столбцов необходимо выполнить команду Очистить на вкладке Данные

Срезы

Срезы – это те же фильтры, но вынесенные в отдельную область и имеющие удобное графическое представление. Срезы являются не частью листа с ячейками, а отдельным объектом, набором кнопок, расположенным на листе Excel. Использование срезов не заменяет автофильтр, но, благодаря удобной визуализации, облегчает фильтрацию: все примененные критерии видны одновременно. Срезы были добавлены в Excel начиная с версии 2010.

Создание срезов

В Excel 2010 срезы можно использовать для сводных таблиц, а в версии 2013 существует возможность создать срез для любой таблицы.

Для этого нужно выполнить следующие шаги:

    Выделить в таблице одну ячейку и выбрать вкладку Конструктор [Design].

  1. В диалоговом окне отметить поля, которые хотите включить в срез и нажать OK.

Форматирование срезов

  1. Выделить срез.
  2. На ленте вкладки Параметры [Options] выбрать группу Стили срезов [Slicer Styles], содержащую 14 стандартных стилей и опцию создания собственного стиля пользователя.

  1. Выбрать кнопку с подходящим стилем форматирования.

Чтобы удалить срез, нужно его выделить и нажать клавишу Delete.

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

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

Задание условий фильтрации

  1. В диалоговом окне Расширенный фильтр выбрать вариант записи результатов: фильтровать список на месте [Filter the list, in-place] или скопировать результат в другое место [Copy to another Location].

  1. Указать Исходный диапазон [List range], выделяя исходную таблицу вместе с заголовками столбцов.
  2. Указать Диапазон условий [Criteria range], отметив курсором диапазон условий, включая ячейки с заголовками столбцов.
  3. Указать при необходимости место с результатами в поле Поместить результат в диапазон [Copy to], отметив курсором ячейку диапазона для размещения результатов фильтрации.
  4. Если нужно исключить повторяющиеся записи, поставить флажок в строке Только уникальные записи [Unique records only].

Источник: micro-solution.ru

Фильтр по дате в Excel

Почему-то никак не удается сделать простейшую вещь – имеется таблица, первый столбец – дата и время. Нужно видеть только данные за последние 50 дней (например).

Фильтры по дате либо предлагают конкретные сроки – типа, текущий месяц, либо после конкретной даты. При попытках использовать в поле “после” чего-то типа =СЕГОДНЯ()-50 , убирает все записи.

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

Сейчас выкрутился, введя столбец с =СЕГОДНЯ()-A### и фильтруя по нему – но это же тоже некрасиво. Я понимаю, что я забиваю гвозди микроскопом. Как забивать гвозди правильно? 🙂

P.S. Позволил себе спросить здесь, потому как тут явно нужно работать с формулами, т.е. программировать 🙂

1 ответ 1

Совсем просто не получится.

Вариант1. Доп. столбец

Т.к. функция СЕГОДНЯ() летуча (пересчитывается при любых изменениях на листе), ее лучше держать в одной ячейке и ссылаться на нее. Для удобства назначить ячейку для ввода периода дат. Фильтровать по доп. столбцу.

Вариант2. Расширенный фильтр

Выделить заголовок фильтруемого столбца (или диапазон дат с заголовком), вкладка Данные-Фильтр-Дополнительно. Задать параметры фильтрации. Фильтровать можно на месте или в отдельном диапазоне.

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

Вариант3. Расширенный фильтр макросом

Макрорекодером записать действия по фильтрации расширенным фильтром, подкорректировать запись (макрорекодер пишет не все и много лишнего) – получится макрос, который можно запускать одним кликом:

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

Alt+F11 – вход в редактор VBA. Слева дерево проекта. Insert-Module – добавится общий модуль, где разместить макрос.

На листе создать кнопку и назначить ей макрос.

Источник: ru.stackoverflow.com

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

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

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

Читайте также:  Эксель вба

Фильтрация и поиск в Excel

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

  1. Откройте вкладку Данные, затем нажмите команду Фильтр. В каждом заголовке столбца появится кнопка со стрелкой. Если Вы уже применяли фильтры в таблице, то можете пропустить этот шаг.
  2. Нажмите на кнопку со стрелкой в столбце, который необходимо отфильтровать. В данном примере мы выберем столбец C.
  3. Появится меню фильтра. Введите ключевое слово в строке поиска. Результаты поиска появятся под полем автоматически, после ввода ключевого слова. В нашем примере мы введем слово “saris”, чтобы найти все оборудование этой марки.
  4. Выполнив все шаги, нажмите ОК.
  5. Данные на листе будут отфильтрованы в соответствии с ключевым словом. В нашем примере после фильтрации таблица содержит только оборудование марки Saris.

Использование расширенных текстовых фильтров в Excel

Расширенные текстовые фильтры используются для отображения более конкретной информации, например, ячеек, которые не содержат заданный набор символов. Допустим, наша таблица уже отфильтрована таким образом, что в столбце Тип отображены только Другие изделия. В дополнение мы исключим все позиции, содержащие слово “case” в столбце Описание оборудования.

  1. Откройте вкладку Данные, затем нажмите команду Фильтр. В каждом заголовке столбца появится кнопка со стрелкой. Если Вы уже применяли фильтры в таблице, можете пропустить этот шаг.
  2. Нажмите на кнопку со стрелкой в столбце, который необходимо отфильтровать. В нашем примере мы выберем столбец C.
  3. Появится меню фильтра. Наведите указатель мыши на пункт Текстовые фильтры, затем выберите необходимый текстовый фильтр в раскрывающемся меню. В данном случае мы выберем пункт не содержит, чтобы увидеть данные, которые не содержат заданное слово.
  4. В появившемся диалоговом окне Пользовательский автофильтр введите необходимый текст в поле справа от фильтра, затем нажмите OK. В данном примере мы введем слово “case”, чтобы исключить все позиции, содержащие это слово.
  5. Данные будут отфильтрованы по заданному текстовому фильтру. В нашем случае отражены только позиции из категории Другие, которые не содержат слово “case”.

Использование в Excel расширенных фильтров по дате

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

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

Использование расширенных числовых фильтров в Excel

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

  1. Откройте вкладку Данные, затем нажмите команду Фильтр. В каждом заголовке столбца появится кнопка со стрелкой. Если Вы уже применяли фильтры в таблице, можете пропустить этот шаг.
  2. Нажмите на кнопку со стрелкой в столбце, который необходимо отфильтровать. В этом примере мы выберем столбец A, чтобы увидеть заданный ряд идентификационных номеров.
  3. Появится меню фильтра. Наведите указатель мыши на пункт Числовые фильтры, затем выберите необходимый числовой фильтр в раскрывающемся меню. В данном примере мы выберем между, чтобы увидеть идентификационные номера в определенном диапазоне.
  4. В появившемся диалоговом окне Пользовательский автофильтр введите необходимые числа для каждого из условий, затем нажмите OK. В этом примере мы хотим получить номера, которые больше или равны 3000, но меньше или равны 4000.
  5. Данные будут отфильтрованы по заданному числовому фильтру. В нашем случае отображаются только номера в диапазоне от 3000 до 4000.

Источник: office-guru.ru

Как сделать сортировку по дате в Excel в порядке возрастания

Каждая транзакция проводиться в какое-то время или период, а потом привязывается к конкретной дате. В Excel дата – это преобразованные целые числа. То есть каждая дата имеет свое целое число, например, 01.01.1900 – это число 1, а 02.01.1900 – это число 2 и т.д. Определение годов, месяцев и дней – это ничто иное как соответствующий тип форматирования для очередных числовых значений. По этой причине даже простейшие операции с датами выполняемые в Excel (например, сортировка) оказываются весьма проблематичными.

Сортировка в Excel по дате и месяцу

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

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

  1. В ячейке A1 введите название столбца «№п/п», а ячейку A2 введите число 1. После чего наведите курсор мышки на маркер курсора клавиатуры расположенный в нижнем правом углу квадратика. В результате курсор изменит свой внешний вид с указательной стрелочки на крестик. Не отводя курсора с маркера нажмите на клавишу CTRL на клавиатуре в результате чего возле указателя-крестика появиться значок плюсик «+».
  2. Теперь одновременно удерживая клавишу CTRL на клавиатуре и левую клавишу мышки протяните маркер вдоль целого столбца таблицы (до ячейки A15).

В результате чего столбец автоматически заполниться последовательностью номеров транзакций от 1 до 14.

Полезный совет! В Excel большинство задач имеют несколько решений. Для автоматического нормирования столбцов в Excel можно воспользоваться правой кнопкой мышки. Для этого достаточно только лишь навести курсор на маркер курсора клавиатуры (в ячейке A2) и удерживая только правую кнопку мышки провести маркер вдоль столбца. После того как отпустить правую клавишу мышки, автоматически появиться контекстное меню из, которого нужно выбрать опцию «Заполнить». И столбец автоматически заполниться последовательностью номеров, аналогично первому способу автозаполнения.

Читайте также:  В excel не ставится 0

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

  1. Ячейки D1, E1, F1 заполните названиями заголовков: «Год», «Месяц», «День».
  2. Соответственно каждому столбцу введите под заголовками соответствующие функции и скопируйте их вдоль каждого столбца:
  • D1: =ГОД(B2);
  • E1: =МЕСЯЦ(B2);
  • F1: =ДЕНЬ(B2).

В итоге мы должны получить следующий результат:

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

Допустим мы хотим выполнить сортировку дат транзакций по месяцам. В данном случае порядок дней и годов – не имеют значения. Для этого просто перейдите на любую ячейку столбца «Месяц» (E) и выберите инструмент: «ДАННЫЕ»-«Сортировка и фильтр»-«Сортировка по возрастанию».

Теперь, чтобы сбросить сортировку и привести данные таблицы в изначальный вид перейдите на любую ячейку столбца «№п/п» (A) и вы снова выберите тот же инструмент «Сортировка по возрастанию».

Как сделать сортировку дат по нескольким условиям в Excel

А теперь можно приступать к сложной сортировки дат по нескольким условиям. Задание следующее – транзакции должны быть отсортированы в следующем порядком:

  1. Года по возрастанию.
  2. Месяцы в период определенных лет – по убыванию.
  3. Дни в периоды определенных месяцев – по убыванию.

Способ реализации поставленной задачи:

  1. Перейдите на любую ячейку исходной таблицы и выберите инструмент: «ДАННЫЕ»-«Сортировка и фильтр»-«Сортировка».
  2. В появившемся диалоговом окне настраиваемой сортировки убедитесь в том, что галочкой отмечена опция «Мои данные содержат заголовки». После чего во всех выпадающих списках выберите следующие значения: в секции «Столбец» – «Год», в секции «Сортировка» – «Значения», а в секции «Порядок» – «По возрастанию».
  3. На жмите на кнопку добавить уровень. И на втором условии заполните его критериями соответственно: 1 – «Месяц», 2 – «Значение», 3 – «По убыванию».
  4. Нажмите на кнопку «Копировать уровень» для создания третьего условия сортирования транзакций по датам. В третьем уровне изменяем только первый критерий на значение «День». И нажмите на кнопку ОК в данном диалоговом окне.

В результате мы выполнили сложную сортировку дат по нескольким условиям:

Для сортирования значений таблицы в формате «Дата» Excel предоставляет опции в выпадающих списках такие как «От старых к новым» и «От новых к старым». Но на практике при работе с большими объемами данных результат не всегда оправдывает ожидания. Так как для программы Excel даты – это целые числа безопаснее и эффективнее сортировать их описанным методом в данной статье.

Источник: exceltable.com

Как отфильтровать даты с помощью макросов VBA в Excel

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

Уровень мастерства: Средний

Скачать файл

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

VBA AutoFilters Guide.xlsm (100.5 KB)

Фильтры даты в Excel

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

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

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

Фильтры диапазона дат в VBA

Следующий макрос содержит примеры основных фильтров даты. Важно отметить, что значения параметров Criteria заключены в кавычки. Операторы сравнения = <> также включены в кавычки.
Пожалуйста, ознакомьтесь с моей статьей Фильтрация сводной таблицы или среза по самой последней дате или периоду для получения более подробной информации о том, как использовать метод AutoFilter и его параметры.

Вы можете скопировать / вставить приведенный ниже код в VB Editor.

Несколько групп дат

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

Для этих фильтров мы устанавливаем для параметра Operator значение xlFilterValues. Мы используем Criteria2 (не Criteria1), чтобы указать массив элементов с помощью функции Array.

Это специальный массив шаблонов, где первое число — это период времени (год, месяцы, дни и т. Д.). Второе число — последняя дата в диапазоне. Макрос ниже содержит примеры и дальнейшие пояснения.

Динамические даты в периодах

Следующий макрос содержит примеры дат в определенных периодах. Это аналогично выбору предустановленных элементов фильтра из подменю «Фильтры даты».

Для этих фильтров мы устанавливаем параметр Operator равным xlFilterDynamic. Мы устанавливаем Criteria1 в константу, которая представляет параметр периода динамической даты. Константы перечислены ниже.

Вот ссылка на справочную страницу MSDN со списком XlDynamicFilterCriteria. И спасибо Дугу Глэнси из YourSumBuddy за то, что он указал на февральскую опечатку в константе. У него есть несколько полезных советов для параметра Operator в этой статье.

Фильтры и типы данных

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

Я создал отдельные статьи для каждого из этих типов фильтров. Статьи содержат пояснения и примеры кода VBA.

Файл в разделе загрузок выше содержит все эти примеры кода в одном месте. Вы можете добавить его в свою личную книгу макросов и использовать макросы в своих проектах.

Пожалуйста, оставьте комментарий ниже с любыми вопросами или предложениями. Спасибо!

Источник: excelpedia.ru