Создание временной шкалы сводной таблицы для фильтрации дат
Excel для Microsoft 365 Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Еще…Меньше
Вместо настройки фильтров для отображения дат вы можете воспользоваться временной шкалой сводной таблицы. Это параметр динамического фильтра, позволяющий легко фильтровать по дате или времени и переходить к нужному периоду с помощью ползунка. Чтобы добавить эту шкалу на лист, на вкладке Анализ нажмите кнопку Вставить временную шкалу.
Как и срез для фильтрации данных, временную шкалу можно добавить один раз и затем использовать в любой момент для изменения диапазона времени сводной таблицы.
Ниже описано, как это сделать.
-
Щелкните в любом месте сводной таблицы, чтобы показать группу Работа со сводными таблицами на ленте, и на вкладке Анализ нажмите кнопку Вставить временную шкалу.
-
В диалоговом окне Вставка временных шкал установите флажки рядом с нужными полями дат и нажмите кнопку ОК.
Использование временной шкалы для фильтрации по периоду времени
Вставив временную шкалу, вы можете фильтровать данные по периоду времени на одном из четырех уровней (годы, кварталы, месяцы или дни).
-
Нажмите на стрелку рядом с отображаемым временным уровнем и выберите нужный вариант.
-
Перетащите полосу прокрутки временной шкалы к периоду времени, который вы хотите проанализировать.
-
В элементе управления отрезком времени нажмите на плитку периода времени и перетащите ее, чтобы добавить дополнительные плитки для выбора нужного диапазона дат. С помощью маркеров отрезка времени отрегулируйте диапазон дат с обеих сторон.
Использование временной шкалы с несколькими сводными таблицами
Если ваши сводные таблицы имеют один и тот же источник данных, вы можете использовать одну временную шкалу для фильтрации по нескольким сводным таблицам. Щелкните временную шкалу, а затем на вкладке Параметры нажмите кнопку Подключения к отчетам и выберите сводные таблицы, которые вы хотите добавить.
Очистка временной шкалы
Чтобы очистить временную шкалу, нажмите кнопку Очистить фильтр .
Совет: Если нужно объединить срезы с временной шкалой для фильтрации одного и того же поля дат, установите флажок Разрешить несколько фильтров для поля в диалоговом окне Параметры сводной таблицы (Работа со сводными таблицами > Анализ > Параметры > вкладка Итоги и фильтры).
Настройка временной шкалы
Если временная шкала включает в себя данные сводной таблицы, вы можете переместить ее в более удобное расположение и изменить ее размер. Кроме того, вы можете изменить стиль временной шкалы — это удобно, если у вас несколько шкал.
-
Чтобы переместить временную шкалу, просто перетащите ее в нужное расположение.
-
Чтобы изменить размер временной шкалы, нажмите на нее, а затем выберите нужный размер, перетаскивая маркеры размера.
-
Для изменения стиля временной шкалы, нажмите на нее, чтобы вывести на экран меню Инструменты временной шкалы, и выберите нужный стиль на вкладкеПараметры.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
См. также
Создание сводной таблицы для анализа данных на листе
Создание сводной таблицы для анализа внешних данных
Создание сводной таблицы для анализа данных в нескольких таблицах
Упорядочение полей сводной таблицы с помощью списка полей
Фильтрация данных в сводной таблице
Группировка и отмена группировки данных в отчете сводной таблицы
Нужна дополнительная помощь?
Фильтрация сводных таблиц Срезами и Шкалой
Работая с большими сводными таблицами, часто приходится их принудительно упрощать, фильтруя часть информации, чтобы не утонуть в цифрах. Самый простой способ для этого — поместить некоторые поля в область фильтра (в версиях до 2007 она называлась область страниц) и выбирать из выпадающих списков только нужные значения:
Неудобства такого способа очевидны:
- При выборе нескольких элементов — их не видно, а видно текст «(несколько элементов)». Не юзерфрендли ни разу.
- Один фильтр отчета жестко привязан к одной сводной таблице. Если у нас несколько сводных таблиц (а одной обычно дело не ограничивается), то для каждой(!) придется создавать свой фильтр и для каждой придется его раскрывать, отмечать галочками нужные элементы и жать ОК. Жутко неудобно, видел даже энтузиастов, которые писали специальные макросы для этих целей.
Если у вас Excel 2010, то все это можно делать более изящно — с помощью срезов (slicers). Срезы — это удобное кнопочное графическое представление интерактивных фильтров отчета для сводной таблицы или диаграммы:
Срез выглядит как отдельный графический объект (как диаграмма или картинка), не связан с ячейками и отображается над листом, что позволяет легко его перемещать. Чтобы создать срез для текущей сводной таблицы нужно перейти на вкладку Параметры (Options) и в группе Сортировка и фильтр (Sort and filter) нажать кнопку Вставить срез (Insert slicer):
Теперь при выделении или снятии выделения с элементов среза (можно использовать клавиши Ctrl и Shift, а также протягивание с нажатой левой кнопкой мыши для выделения оптом) в сводной таблице будут отображаться только отфильтрованные данные по отобранным элементам. Дополнительный приятный нюанс в том, что срез разными цветами отображает не только выделенные, но еще и пустые элементы, для которых нет ни одного значения в исходной таблице:
Если вы используете несколько срезов, то это позволит быстро и наглядно отобразить взаимосвязи между элементами данных:
Один и тот же срез можно легко привязать к нескольким сводным таблицам и диаграммам, используя с вкладки Параметры (Options) кнопку Подключения к сводной таблице (Pivot table connections), которая открывает соответствующее диалоговое окно:
Тогда выделение элементов на одном срезе будет влиять сразу на несколько таблиц и диаграмм, возможно даже, на разных листах.
Не осталась забыта и дизайнерская составляющая. Для форматирования срезов на вкладке Конструктор (Design) есть несколько встроенных стилей:
…и возможность создавать свои варианты оформления:
А уж в связке «сводная таблица — сводная диаграмма — срез» все это выглядит совсем замечательно:
Ссылки по теме
- Что такое сводные таблицы, как их строить
- Группировка чисел и дат с нужным шагом в сводных таблицах
- Построение отчета сводной таблицы по нескольким диапазонам исходных данных
- Настройка вычислений в сводных таблицах
Фильтруемый диапазон значений даты и времени может содержать до 10 000 записей. При большом объеме списка необходимо выбрать конкретные значения даты и времени, по которым требуется выполнить отбор.
Фильтрация дат основана на григорианском летоисчислении. Финансовый год и квартал всегда начинаются в январе календарного года. Если необходимо отфильтровать ячейки по дням недели, то задайте их формат так, чтобы отображались дни недели. Метод пригодится если на летний отдых вы подыскиваете дом отдыха геленджик и вам необходимо сравнить стоимость с периодом отдыха. А для фильтрации по дню недели независимо от даты преобразуйте их в текстовый формат и используйте текстовый фильтр.
Как фильтровать диапазон ячеек со значениями даты и времени?
1 способ [ простая фильтрация ]
- В окне открытого листа выделите диапазон ячеек, содержащий значения даты и времени.
- Перейдите к вкладке «Данные» и в группе «Сортировка и фильтр» щелкните по кнопке «Фильтр».
- Раскройте меню кнопки фильтрации в первой ячейке выделенного диапазона.
- В меню «Автофильтр» активирует в списке соответствующих значений даты и времени строку даты, по которой необходимо провести фильтрацию.
2 способ [ фильтрация по условию ]
- В окне открытого листа выделите диапазон ячеек, содержащий текстовые данные.
- Перейдите к вкладке «Данные» и в группе «Сортировка и фильтр» щелкните по кнопке «Фильтр».
- Раскройте меню кнопки фильтрации в первой ячейке выделенного диапазона.
- В меню «Автофильтр» наведите курсор на пункт «Фильтры по дате» и выберите в списке оператор сравнения, по которому требуется выполнить отбор: равно, до, после и т. д. (рис. 5.40).
Рис. 5.40. Меню кнопки фильтрации столбца с числами. Пункт «Фильтр по дате»
Работа с фильтрами в MS Office Excel на примерах
Рассмотрим, как можно искать информацию в MS Excel, используя фильтры.
Для этого откроем эксель и набросаем в нем небольшую таблицу.
Выделите любую ячейку в строке с заголовками, затем перейдите на вкладку «Данные» и щелкните на кнопке «Фильтр»:
В строке с заголовками нашей таблицы в каждом столбце появятся «стрелки».
Обратите внимание, что если в Вашей таблице нет строки с заголовками, то Excel, автоматически вставит фильтр в первую строку с данными:
Подготовительный этап завершен. Можно приступать к поиску информации.
Основы работы с фильтрами
Применение фильтров к таблице
Щелкните на значке в столбце «Менеджер». Откроется следующее меню:
В данном меню с помощью флажков Вы можете отмечать те элементы, по которым необходимо фильтровать данные.
Совет 1
Если в таблице много значений, то используйте строку поиска. Для этого начните вводить в нее часть слова, которое Вам необходимо найти. Список вариантов будет автоматически сокращаться.
Минус этого способа в том, что можно отметить только одно значение или несколько значений, содержащих искомую фразу, но абсолютно разные значения найти не удастся. Т.е., например, сразу найти таким образом менеджеров по имени Сергей и Александр не получится, но можно найти все значения, содержащие «Серг»: Сергей, Сергеев, Сергиенко и т.п.
Совет 2
Например, Вам нужно отметить только 2 значения из нескольких десятков. Снимать флажок вручную с каждой позиции кроме нужных достаточно затратно по времени. Для ускорения этого процесса снимите флажок с пункта «(Выделить все)». При этом снимутся все остальные флажки. Теперь можно отметить только те пункты, которые Вам нужны.
MS Excel поддерживает множественные фильтры, т.е. фильтр сразу по нескольким столбцам.
Например, Вам необходимо найти все заказы менеджера Иванова от 18.01.2014.
Для начала щелкните на в столбце «Менеджер» и выберите Иванова.
Теперь щелкните на в столбце «Дата отгрузки», снимите флажок с «(Выделить все)» и выберите 18.01.2014 или введите в строке поиска 18 и нажмите «ОК».
Таблица примет следующий вид:
Аналогичным образом Вы можете продолжить фильтровать данные по столбцам «Описание», «Кол-во» и т.д.
Обратите внимание, что в столбцах, по которым был применен фильтр, значокменяется на .
Таким образом Вы всегда будете знать по каким столбцам происходит фильтрация данных.
Отмена фильтра
Для того, чтобы снять все фильтры сразу, перейдите на вкладку «Данные» и нажмите на кнопку «Очистить».
Если необходимо снять фильтр только с одного столбца, оставив фильтры по другим, то щелкните на значке данного столбца, напр., «Дата отгрузки» и щелкните на пункте «Удалить фильтр с <Название столбца>»:
или
Если необходимо полностью отказаться от фильтров в таблице, то перейдите на вкладку «Данные» и щелкните на кнопке «Фильтр». Она перестанет подсвечиваться, из строки с заголовками исчезнут значки и и в таблице отобразятся все данные.
После
Дополнительные настройки фильтров
В зависимости от типа содержимого столбцов у фильтров появляются дополнительные опции.
Текстовые фильтры
Щелкните на значке столбца «Менеджер», наведите курсор на «Текстовые фильтры», дождитесь появления меню и выберите любой из критериев отбора или пункт «Настраиваемый фильтр…». Появится следующее окно:
- 1. Условия «равно» или «не равно» предполагают, что искомое выражение стопроцентно совпадает с содержанием ячейки. Критерий «равно» оставляет в таблице только те строки, в которых содержится выбранное значение. Соответственно, критерий «не равно» оставляет все значения, кроме выбранного. Для упрощения задачи Вы можете выбрать нужное значение из выпадающего списка:
- 2. Условия «больше» и «меньше» предполагают, что в таблице останутся значения, которые по алфавиту начинаются с более ранней или более поздней буквы. Например, если выбрать значение «Иванов» при опции «больше», то в таблице останутся только те ячейки, которые начинаются на букву «Й»(Картов, Йогуртов и т.п.). А при опции «меньше» — значения на букву «З» (Захаров, Букин).
- 3. Единственное отличие условий «больше или равно» и «меньше или равно» от предыдущего пункта в том, что в фильтр включает и выбранное значение.
- 4. Если необходимо найти все значения, которые начинаются на «Ива», то используйте условие «начинается с», а если хотите узнать, сколько в таблице значений, оканчивающихся на «рович», то выберите опцию «заканчивается на».
- 5. Соответственно, условия «не начинается с» и «не заканчивается на» предполагают, что Вам не надо отображать в таблице значения, содержащие искомую фразу.
- 6. При выборе условий «содержит» или «не содержит» можно указать любую фразу или сочетание букв, которые необходимо включить или исключить из фильтра. Отличие этого пункта от пунктов 1, 4 и 5, в том, что искомая фраза может находится в любом месте ячейки. Например, задав в качестве фильтра «Ива», в результате получим «Иванов Алексей», «Сергей Иваровский», «кривая» и т.п.
Числовые фильтры
Большинство условий те же самые, что и при текстовых фильтрах. Рассмотрим только новые.
- 1. Условие «между». При выборе данного условия, в появившемся окне сразу же устанавливаются нужные критерии, что облегчает Вам задачу:
- Вам остается только ввести значения с клавиатуры или выбрать их из списка.
- 2. Условие «Первые 10». Данный пункт имеет следующие опции:
- Показать наименьшие или наибольшие значения.
- Сколько значений отобразить.
- В данном пункте требуется пояснение по второму значению: % от количества элементов. Например, у Вас в таблице 15 строк с числовыми значениями. При выборе 20% в таблице останется только 15/100*20 = 3 строки.
Фильтр по дате
Данные условия не требуют специальных расшифровок, поскольку их значение легко понять из названий. Единственное на что стоит обратить внимание, что в стандартном окне выбора условий фильтра появляется кнопка Календарь для облегчения ввода даты.
И еще немного о фильтрах
Есть еще один способ фильтрации данных. Немного преобразуем нашу таблицу:
Как видите, мы ее раскрасили.
Теперь, например, нам необходимо найти все строки с Красоткиным. Щелкните правой кнопкой на ячейке с данным человеком и в появившемся меню выберите пункт «Фильтр». В новом меню есть несколько новых опций. В данном примере нам нужен пункт «Фильтр по значению…».
Если выбрать условие «Фильтр по цвету…», то в таблице останутся строки с ячейками того же цвета, что и активная ячейка (желтая заливка).
Если щелкнуть на «Фильтр по цвету шрифта…», то в нашей таблице останутся только ячейки с красным или черным шрифтом, в зависимости от того, какая ячейка активна в данный момент.
Последний пункт фильтра применим только в том случае, если в таблице используется условное форматирование со значками.
Как в Excel настроить фильтр по дате
Таблицы, составленные в Microsoft Office Excel, можно отфильтровать по дате. Выставив соответствующий фильтр, пользователь сможет увидеть нужные ему дни, а сам массив сократится. В данной статье будут рассмотрены способы настройки фильтра по дате в Excel с помощью встроенных в программу инструментов.
Как наложить фильтр по дате на табличный массив
Существует ряд стандартных методов выполнения поставленной задачи, каждый из которых имеет свои нюансы. Для полного понимания темы, необходимо описать каждый способ по отдельности.
Способ 1. Использование опции «Фильтр»
Самый простой способ фильтрации табличных данных в Excel, который подразумевает соблюдение следующего алгоритма действий:
- Составить табличку, на которую необходимо наложить фильтр по дате. В этом массиве должны присутствовать конкретные числа месяца.
- Выделить составленную таблицу левой клавишей манипулятора.
- Перейти во вкладку «Главная» в верхней панели инструментов главного меню Excel.
- Нажать на кнопку «Фильтр» в отобразившейся панели опций. Также в этом разделе есть функция «Сортировка», которая меняет порядок отображения строк или столбцов в исходной таблице, сортируя их по какому-либо параметру.
- После выполнения предыдущей манипуляции на таблицу будет наложен фильтр, т.е. в названии столбцов массива появятся небольшие стрелочки, нажав на которые можно будет раскрыть варианты фильтрации. Здесь нужно кликнуть по любой стрелке.
- В открывшемся контекстном меню найти раздел «Область поиска» и выбрать месяц, по которому будет выполняться фильтрация. Здесь отображаются только те месяцы, которые есть в исходном табличном массиве. Пользователю необходимо поставить галочку напротив соответствующего месяца и нажать на «ОК» внизу окошка. Допустимо выбрать сразу несколько вариантов.
- Проверить результат. В табличке останется только информация по месяцам, выбранным пользователем в окне фильтрации. Соответственно лишние данные исчезнут.
Обратите внимание! В меню наложения фильтра можно отфильтровать данные по годам.
Способ 2. Использование опции «Фильтр по дате»
Это специальная функция, позволяющая сразу же фильтровать информацию в табличном массиве по датам. Чтобы ее активировать, необходимо проделать несколько шагов:
- Аналогичным образом наложить фильтр на исходную таблицу.
- В окне фильтрации найти строку «Фильтр по дате» и левой клавишей манипулятора кликнуть по стрелочке, расположенной справа от нее.
- Раскроется выпадающее меню. Здесь представлены варианты фильтрации данных по дате.
- К примеру, нажать на кнопку «Между…».
- Откроется окошко «Пользовательский автофильтр». Здесь в первой строчке необходимо указать начальную дату, а во второй конечную.
- Проверить результат. В таблице останутся только значения, находящиеся в промежутке между указанными датами.
Способ 3. Выполнение фильтрации вручную
Данный метод прост по реализации, однако отнимает у пользователя много времени, особенно если приходится работать с большими по объему таблицами. Чтобы вручную выставить фильтр, необходимо:
- В исходном табличном массиве найти даты, которые не нужны пользователю.
- Выделить найденные строки левой клавишей мышки.
- Нажать на кнопку «Backspace» с клавиатуры компьютера, чтобы удалить выделенные значения.
Дополнительная информация! В Microsoft Office Excel можно одновременно выделить несколько строчек в табличном массиве, чтобы сразу удалить их для экономии пользовательского времени.
Способ 4. Использование расширенного фильтра по дате
Выше был рассмотрен метод фильтрации значений в табличном массиве на основе опции «Между…». Для полного раскрытия темы необходимо обсудить несколько вариантов расширенного фильтра. Рассматривать все разновидности фильтра нецелесообразно в рамках данной статьи. Чтобы наложить на таблицу тот или иной фильтр по дате, необходимо:
- Наложить фильтр на таблицу через вкладку «Главная». О том, как это сделать, было рассказано выше.
- Раскрыть выпадающий список в заголовке любого столбика в таблице и щелкнуть ЛКМ по строчке «Фильтр по дате».
- Указать любой из вариантов. Для примера кликнем по строке «Сегодня».
- Информация в массиве отфильтруется по указанной дате. Т.е. в таблице останутся только те данные, у которых указана сегодняшняя дата. При выставлении такого фильтра Excel будет ориентироваться по дате, выставленной на компьютере.
- Выбрав вариант «Больше…», пользователю придется задать определенное число. После этого в табличном массиве останутся даты, которые больше указанной. Все остальные значения будут удалены.
Важно! Аналогичным образом применяются остальные варианты расширенной фильтрации.
Как отменить фильтр в Excel
Если пользователь случайно указал фильтр по дате, то для его отмены понадобится выполнить следующие действия:
- Выделить ЛКМ табличку, к которой применена фильтрация.
- Перейти в раздел «Главная» и щелкнуть по кнопке «Фильтр». Раскроется выпадающее меню.
- В контекстном меню необходимо нажать на кнопку «Очистить». После выполнения этого действия фильтрация отменится, и табличный массив примет исходный вид.
Обратите внимание! Отменить предыдущее действие можно с помощью кнопок «Ctrl+Z».
Кнопка «Очистить» для отмены фильтрации в Excel
Заключение
Таким образом, фильтр по дате в Microsoft Office Excel позволяет в кратчайшие сроки убрать из таблицы ненужные числа месяца. Основные способы фильтрации были описаны выше. Для понимания темы с ними необходимо внимательно ознакомиться.
Начиная с Excel 2010 сводные таблицы обзавелись новой возможностью фильтрации данных, этот инструмент называется Срезы.
Срез – это интерактивный элемент управления, который упрощает фильтрацию данных в сводной таблице (или сводной диаграмме).
На рисунке изображена сводная таблица со срезами, расположенными справа. Каждый срез относится к определенному полю данных. В данном случае срезы представляют Федеральный округ и Численность. Сводная таблица отображает информацию о площади территории для Северо-Западного и Южного округов с численностью от 1000 до 10000 тыс. человек.
Вы можете использовать срезы для создания привлекательного интерфейса для пользователей, которые не понимают процесс фильтрации в сводных таблицах.
Добавление среза
Для того чтобы добавить срез в рабочую книгу, щелкните на любой ячейке сводной таблицы. Затем выберите Работа со сводными таблицами -> Анализ -> Фильтр -> Вставить срез.
Появиться диалоговое окно Вставить срез, со списком всех полей сводной таблицы. Выберите необходимый срез и щелкните ОК.
Настройка срезов
По существу, срезы – это графические объекты, находящиеся на листе. Их можно перемещать, изменять размеры и внешний вид. Когда вы выбираете срез, в Excel появляется новая вкладка Инструменты для среза. Используйте ее для изменения стиля вашего среза.
Фильтрация срезом
Количество кнопок среза зависит от количества пунктов выбранного поля. Для установки фильтра, просто щелкните на кнопке среза. Если вы хотите выбрать несколько элементов фильтра, удерживая нажатой клавишу Ctrl, выбирайте необходимые пункты.
Если вы хотите убрать фильтр с конкретного среза, нажмите на иконку Удалить фильтр, находящуюся в верхнем правом углу среза (или нажмите Alt+C, когда срез выбран).
Подключение к фильтрам
Если вы создаете несколько сводных таблиц с одним источником данных, вы можете подключить один срез ко всем ним и фильтровать данные одновременно.
Для подключения среза ко второй сводной таблице, выберите любую ячейку во второй сводной таблице. Переходим по вкладкам Работа со сводными таблицами –> Анализ –> Фильтр -> Подключения к фильтрам.
В появившемся диалоговом окне Подключения фильтров, выбираем необходимый нам срез, жмем ОК.
Теперь обе сводные таблицы подключены к одному срезу. Если вы выберете пункт в срезе, обе сводные таблицы будут отфильтрованы. В примере ниже показано, как в срезе Федеральный округ выбраны Уральский, Северо-Западный и Южный и обе сводные таблицы отображают релевантную информацию.
На чтение 7 мин. Просмотров 6.8k.
Итог: узнаете, как отфильтровать сводную таблицу, сводную диаграмму или установить срез для самой последней даты или периода в наборе данных.
Уровень мастерства: Средний
Pip имеет набор отчетов на основе сводных таблиц, которые она часто обновляет (ежедневно, еженедельно, ежемесячно). Она хочет автоматически фильтровать отчеты по самой последней дате в столбце в наборе данных. Этот фильтр выберет элемент в слайсере, чтобы отфильтровать сводные таблицы и диаграммы.
Как и все в Excel, есть несколько способов решить эту
проблему. Мы можем использовать макрос или добавить вычисляемый столбец в набор
данных …
Содержание
- Настройка: данные конвейера продаж CRM
- Решение № 1: Макрос VBA для фильтрации сводной
таблицы по определенной дате или периоду - Решение № 2. Добавление вычисляемого столбца в
набор данных - Два способа автоматизации фильтрации сводных
таблиц
Настройка: данные конвейера продаж CRM
В этом примере мы собираемся использовать данные о продажах. Таблица данных содержит еженедельные снимки или экспорт данных из системы CRM (Salesforces.com, Dynamics CRM, HubSpot и т.д.).
Для обновления данных мы
экспортируем конвейерный отчет каждую неделю и вставляем данные в конец
существующей таблицы. Есть и другие способы автоматизации этого процесса, но мы
не будем вдаваться в подробности.
В наборе данных есть
столбец «Дата отчета», в котором содержится дата запуска отчета для каждой строки.
Вы можете видеть на изображении, что есть 4 набора данных, добавленных
(сложенных) вместе, чтобы создать одну большую таблицу.
Сводная таблица показывает
сводку доходов по этапам конвейера, а поле «Дата отчета» находится в области
«Фильтры». Это позволяет нам фильтровать по любой дате отчета, чтобы увидеть
сводную информацию о конвейере за эту неделю.
Когда новые данные
добавляются в таблицу данных, мы хотим автоматически фильтровать все связанные
сводные таблицы, диаграммы и срезы на последнюю дату отчета.
Решение № 1: Макрос VBA для фильтрации сводной
таблицы по определенной дате или периоду
Мы можем использовать
простой макрос, чтобы установить фильтр в сводной таблице для самой последней
даты в таблице исходных данных. Фильтрация поля «Дата отчета» в сводной таблице
также выберет отфильтрованный элемент в срезе и отфильтрует все связанные
сводные диаграммы.
Приведенный ниже макрос
может выглядеть как много кода, но на самом деле он очень прост. Чтобы его
использовать, вам просто нужно будет указать все переменные для имени рабочего
листа, имени сводной таблицы, имени сводного поля (Дата отчета) и критериев
фильтрации (последняя дата). Эти переменные будут представлять имена объектов в
вашей собственной книге.
Sub Filter_PivotField() ' Описание: фильтрация сводной таблицы или среза по определенной дате или периоду. Dim sSheetName As String Dim sPivotName As String Dim sFieldName As String Dim sFilterCrit As String Dim pi As PivotItem ' Установите переменные sSheetName = "Pivot" sPivotName = "PivotTable1" sFieldName = "Report Date" 'sFilterCrit = "5/2/2016" sFilterCrit = ThisWorkbook.Worksheets("Data").Range("G2").Value With ThisWorkbook.Worksheets(sSheetName).PivotTables(sPivotName).PivotFields(sFieldName) ' Очистить все фильтры основного поля .ClearAllFilters ' Проходить по элементам сводки поля сводки ' Скрыть или отфильтровать элементы, которые не соответствуют критериям For Each pi In .PivotItems If pi.Name <> sFilterCrit Then pi.Visible = False End If Next pi End With End Sub
Макрос в настоящее время
настроен на использование значения из ячейки G2 в Таблице данных для критериев
фильтра (самая поздняя дата). Ячейка G2 содержит формулу, которая возвращает
самую последнюю дату из столбца с помощью функции MAX
Конечно, это можно
изменить, чтобы вычислить самую последнюю дату в коде макроса. Хотя приятно
видеть это на листе.
Как работает макрос?
Макрос сначала очищает все
фильтры для поля сводки фильтра отчетов с помощью метода ClearAllFilters.
Затем он использует цикл
For Next для циклического прохождения всех элементов сводки в поле сводки,
чтобы применить фильтр. Каждый уникальный элемент в поле является основным
элементом. Макрос проверяет, не соответствует ли имя элемента сводки (<>)
критериям. Если нет, то он скрывает элемент или фильтрует его. В результате мы
видим только критерии фильтра.
У меня есть статья, которая объясняет For Next Loops более подробно.
Как насчет фильтрации двух сводных таблиц за
разные периоды времени?
Вот еще один пример с
настройкой переменных в качестве параметров макроса. Это позволяет нам вызывать
макрос из другого макроса.
Sub Filter_PivotField_Args( _ sSheetName As String, _ sPivotName As String, _ sFieldName As String, _ sFilterCrit As String) ' Фильтрация сводной таблицы или среза по определенной дате или периоду Dim pi As PivotItem With ThisWorkbook.Worksheets(sSheetName).PivotTables(sPivotName).PivotFields(sFieldName) ' Очистить все фильтры основного поля .ClearAllFilters ' Проходить по элементам сводки поля сводки ' Скрыть или отфильтровать элементы, которые не соответствуют критериям For Each pi In .PivotItems If pi.Name <> sFilterCrit Then pi.Visible = False End If Next pi End With End Sub
Sub Filter_Multiple_Pivots() ' Вызвать макрос Filter Pivot для нескольких пивотов Dim sFilter1 As String Dim sFilter2 As String ' Установите критерии фильтра sFilter1 = ThisWorkbook.Worksheets("Data").Range("G2").Value sFilter2 = ThisWorkbook.Worksheets("Data").Range("G3").Value ' Вызовите макрос сводных фильтров, чтобы отфильтровать оба сводных Call Filter_PivotField_Args("2 Pivots", "PivotTable1", "Report Date", sFilter1) Call Filter_PivotField_Args("2 Pivots", "PivotTable2", "Report Date", sFilter2) End Sub
В этом примере у нас есть лист с двумя сводными таблицами для сравнения неделя за неделей. Таким образом, нам нужно отфильтровать одну сводную таблицу для самой последней даты и одну для даты предыдущей недели.
Макрос Filter_Multiple_Pivots вызывает макрос Filter_PivotField_Args дважды. Обратите внимание, что имя сводной таблицы и значения критериев фильтрации различны для каждого вызова. Это простой способ многократно использовать макрос сводного поля фильтра без необходимости повторения большого количества кода.
Ознакомьтесь с моей бесплатной серией видео о том, как начать работу с макросами и VBA, чтобы узнать больше о написании макросов.
Решение № 2. Добавление вычисляемого столбца в
набор данных
Если вы не можете использовать макросы, вы можете решить эту проблему с помощью вычисляемого столбца. Это решение НЕ так гибко, как макрос. Оно НЕ очень хорошо работает, если вы хотите иметь срезы, где пользователь может выбирать другие даты отчета.
Мы можем добавить столбец
к исходным данным, чтобы проверить, совпадает ли дата отчета в каждой строке с
самой последней датой. Мы назовем этот столбец «Current Wk».
Если это так, то формула
вернет ИСТИНА, если нет — ЛОЖЬ.
Это очень простая формула.
Мы могли бы использовать функцию If, но в этом нет необходимости. Знак
равенства оценивает совпадение и возвращает значение ИСТИНА или ЛОЖЬ.
Ознакомьтесь с моей статьей If в
формулах Excel для объяснения этого.
Теперь мы можем добавить
этот новый столбец в область «Фильтры» сводной таблицы и отфильтровать его для
ИСТИНА. Это означает, что каждый раз, когда исходные данные обновляются новыми
данными, формулы пересчитывают новые строки текущей недели. Обновление сводной
таблицы автоматически применит фильтр для строк текущей недели и отобразит их в
сводной таблице.
Недостатком здесь является
то, что пользователь не может использовать слайсер для фильтрации других дат.
Технически они могут, но нам придется повторно применить фильтр Current Wk при
следующем обновлении данных. Мы могли бы использовать макрос для автоматизации
этого, но тогда мы действительно вернулись к решению № 1.
Хотя он не такой
динамичный, как решение № 1, рассчитанный столбец может быть всем необходимым
для отображения данных за последний период в статическом отчете.
Два способа автоматизации фильтрации сводных
таблиц
Фильтрация сводных таблиц
по самой последней дате или периоду — это, безусловно, хороший процесс для
автоматизации, если вы часто выполняете эту задачу. Это может сэкономить нам
много времени и предотвратить ошибки, которые обычно возникают при этих скучных
повторяющихся задачах. 🙂
Пожалуйста, оставьте
комментарий ниже с любыми вопросами или предложениями. Спасибо!