Фильтры по дате в сводной таблице excel

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Еще…Меньше

Диалоговое окно «Пометить как таблицу дат» появляется при нажатии кнопки «Пометить как таблицу дат» или выборе параметров таблицы дат на вкладке «Конструктор» Power Pivot окна. В диалоговом окне «Пометить как таблицу дат» указывается уникальный столбец дат, который позволяет использовать расширенные фильтры дат Power Pivot данных в сводных отчетах Excel.

Расширенные фильтры дат отображаются для меток строк и столбцов в сводной таблице или сводной диаграмме при добавлении поля из таблицы дат в метки строк или метки столбцов списка Power Pivot полей.

Изменение свойств даты

  1. В окне Power Pivot выберите таблицу, содержащую даты.

  2. На вкладке «Конструктор» щелкните » Пометить как таблицу дат».

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

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

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

  1. Перейдите к сводной таблице или сводной диаграмме в той же книге.

  2. Добавьте столбец из таблицы «Дата» в область «Метки столбцов» или «Метки строк» Power Pivot поля.

  3. Щелкните стрелку вниз рядом с меткой столбцов или меткой строк в сводной таблице.

  4. Наведите указатель мыши на фильтры даты, а затем выберите фильтр из списка.

    Фильтры дат

К началу страницы

Нужна дополнительная помощь?

  • Редакция Кодкампа

17 авг. 2022 г.
читать 2 мин


Часто вам может понадобиться отфильтровать строки в сводной таблице в Excel по определенному диапазону дат.

К счастью, это легко сделать с помощью параметра « Фильтры дат » в раскрывающемся меню в столбце « Ярлыки строк» сводной таблицы.

В следующем примере показано, как именно это сделать.

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

Предположим, у нас есть следующий набор данных в Excel, который показывает количество продаж в разные даты:

Перед созданием сводной таблицы для этих данных щелкните одну из ячеек в столбце «Дата» и убедитесь, что Excel распознает ячейку как формат даты :

Затем мы можем выделить диапазон ячеек A1:B10 , затем щелкнуть вкладку « Вставка » на верхней ленте, затем щелкнуть « Сводная таблица» и вставить следующую сводную таблицу, чтобы суммировать общий объем продаж на каждую дату:

Теперь предположим, что мы хотим отфильтровать сводную таблицу, чтобы отображались только даты между 05.01.2022 и 13.01.2022.

Чтобы применить этот фильтр, щелкните стрелку раскрывающегося списка рядом с Метки строк , затем щелкните Фильтры дат , затем щелкните Между :

Диапазон дат фильтра сводной таблицы Excel

В появившемся новом окне введите 05.01.2022 и 13.01.2022 в поля диапазона дат:

Как только вы нажмете OK , строки в сводной таблице будут автоматически отфильтрованы, чтобы отображать только этот диапазон дат:

Чтобы удалить этот фильтр, просто щелкните значок фильтра рядом с метками строк , а затем нажмите « Очистить фильтр по дате ».

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в Excel:

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

Написано

Редакция Кодкампа

Замечательно! Вы успешно подписались.

Добро пожаловать обратно! Вы успешно вошли

Вы успешно подписались на кодкамп.

Срок действия вашей ссылки истек.

Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.

Успех! Ваша платежная информация обновлена.

Ваша платежная информация не была обновлена.

На чтение 7 мин. Просмотров 6.9k.

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

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

How to Automatically Filter for the Most Recent Date in a Pivot Table or Slicer

Pip имеет набор отчетов на основе сводных таблиц, которые она часто обновляет (ежедневно, еженедельно, ежемесячно). Она хочет автоматически фильтровать отчеты по самой последней дате в столбце в наборе данных. Этот фильтр выберет элемент в слайсере, чтобы отфильтровать сводные таблицы и диаграммы.

Как и все в Excel, есть несколько способов решить эту
проблему. Мы можем использовать макрос или добавить вычисляемый столбец в набор
данных …

Содержание

  1. Настройка: данные конвейера продаж CRM
  2. Решение № 1: Макрос VBA для фильтрации сводной
    таблицы по определенной дате или периоду
  3. Решение № 2. Добавление вычисляемого столбца в
    набор данных
  4. Два способа автоматизации фильтрации сводных
    таблиц

Настройка: данные конвейера продаж CRM

В этом примере мы собираемся использовать данные о продажах. Таблица данных содержит еженедельные снимки или экспорт данных из системы CRM (Salesforces.com, Dynamics CRM, HubSpot и т.д.).

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

CRM Sales Pipeline Source Data Updated with Weekly Snapshots" width

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

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

Pivot Table for Pipeline Revenue by Stage - Filter for Most Recent Period

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

Решение № 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

Calculate the Latest Date in the Column with the MAX Function

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

Как работает макрос?

Макрос сначала очищает все
фильтры для поля сводки фильтра отчетов с помощью метода ClearAllFilters.

Затем он использует цикл
For Next для циклического прохождения всех элементов сводки в поле сводки,
чтобы применить фильтр. Каждый уникальный элемент в поле является основным
элементом. Макрос проверяет, не соответствует ли имя элемента сводки (<>)
критериям. Если нет, то он скрывает элемент или фильтрует его. В результате мы
видим только критерии фильтра.

У меня есть статья, которая объясняет For Next Loops более подробно.

Pivot Items in the Filter Drop-down Menu of a Pivot Table

Как насчет фильтрации двух сводных таблиц за
разные периоды времени?

Вот еще один пример с
настройкой переменных в качестве параметров макроса. Это позволяет нам вызывать
макрос из другого макроса.

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».

Add a Calculated Column to the Source Data to Determine the Current Period

Если это так, то формула
вернет ИСТИНА, если нет — ЛОЖЬ.

Это очень простая формула.
Мы могли бы использовать функцию If, но в этом нет необходимости. Знак
равенства оценивает совпадение и возвращает значение ИСТИНА или ЛОЖЬ.
Ознакомьтесь с моей статьей If в
формулах Excel для объяснения этого.

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

Add the Current Week Field to Filters Area and Filter for TRUE

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

Хотя он не такой
динамичный, как решение № 1, рассчитанный столбец может быть всем необходимым
для отображения данных за последний период в статическом отчете.

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

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

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

 

День добрый, друзья,  

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

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

  Кто виноват и что делать?  
Спасибо.

 

VDM

Пользователь

Сообщений: 779
Регистрация: 22.12.2012

Если интерфейс сводной не предполагает фильтрацию по месяцам, то значит решить проблему можно только с введением в исходную таблицу доп столбца с функцией «МЕСЯЦ» и в сводной фильтровать по нему.

 
 

{quote}{login=VDM}{date=21.10.2010 12:23}{thema=}{post}Если интерфейс сводной не предполагает фильтрацию по месяцам, то значит решить проблему можно только с введением в исходную таблицу доп столбца с функцией «МЕСЯЦ» и в сводной фильтровать по нему.{/post}{/quote}  
Согласна, оставляю этот вариант на крайний случай.  

  Осталось узнать, предполагает интерфейс сводной фильтрацию по месяцам или нет.

 

{quote}{login=Z}{date=21.10.2010 12:33}{thema=}{post}Группировка. И фильтр.{/post}{/quote}и далее…

 
 

Михаил, спасибо, это что, что нужно. Но я не до конца поняла, как это сделано.  
Открываю сводную, в раздел «фильтры» добавляю «месяцы». А откуда берутся значения?  
Открыла источники для сводной — там ничего не поменялась, только моя табличка.  

  Разъясните, если сочтете возможным.

 

VDM

Пользователь

Сообщений: 779
Регистрация: 22.12.2012

Хотел уже написать для Z, что группировкой можно воспользоваться только для области строк (столбцов), т.к. у Автора «дата» была в области фильтра сводной.  
Затем посмотрел что предложил Михаил, оказывается можно сгруппировать (в данном случае по дате) данные в области строк и затем  переместить их в фильтр отчёта и группировка останется.  
Не знал.

 

Начните с поста Z post_166374.xls  

  Сначала даты в область строк, группировать — выбираем как надо (в данном случае месяцы и дни), потом то, что нужно, можно перенести в фильтр…  

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

 

Большое спасибо  
Особо не поняла, вечером разберусь :)  
Вы такие молодцы!

 

Если Вы источник данных для сводной выбрали с «запасом», то внизу будут пустые ячейки, в этом случае группировка не работает.

 

{quote}{login=Михаил}{date=21.10.2010 12:47}{thema=}{post}Сначала даты в область строк..{/post}{/quote}  
Перенесла даты в область строк, а как группировалось — я, к сожалнению  не могу понять. Открываю Ваш файл, там у «Даты» в «Сортировке и фильтрах» стоит «Автоматически».  
Объясните, всё-таки, если несложно.

 

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

 
 

Как плохо быть деревянной, если б вы знали!  
Спасибо.

 

Это как понимать: «3_kilo_durilki» из опилок?.. Тады нам не треба… ;-)  
ps А серьезно — то…

 

Да, голова же примерно 3 кило весит. Вот там и дурилки, и опилки :))

 

Мадам, а серьезно — вы проблемы свои решили, тему закрываем?  
85487

 
 

Padavan

Гость

#20

10.04.2012 09:37:24

Я делал с запасом и у меня все работает корректно, странно

В обычной таблице или диапазоне можно легко отфильтровать данные, нажав Данные > Фильтр, но знаете ли вы, как фильтровать в сводной таблице? В этой статье мы подробно расскажем о методах.

  • Фильтровать диапазон дат в сводной таблице с добавлением поля даты в качестве метки строки
  • Отфильтровать диапазон дат в сводной таблице с добавлением данных в виде фильтра отчета

Фильтровать диапазон дат в сводной таблице с добавлением поля даты в качестве метки строки

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

1. Выберите исходные данные и нажмите Вставить > PivotTable.

2. В диалоговом окне «Создание сводной таблицы» укажите целевой диапазон для размещения сводной таблицы и щелкните значок OK кнопка. Смотрите скриншот:

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

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

Теперь вы отфильтровали диапазон дат в сводной таблице.

Ноты:
(1) Если вам нужно отфильтровать указанный диапазон дат в сводной таблице, щелкните стрелку рядом с надписью строки, а затем щелкните Фильтры даты > До/После/Между в раскрывающемся списке по мере необходимости.

В моем случае я выбираю Фильтры даты > Между. Теперь в диалоговом окне «Фильтр даты (Дата)» укажите определенный диапазон дат и щелкните значок OK кнопка. Смотрите скриншот:

Теперь вы отфильтровали указанный диапазон дат в сводной таблице.

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


Отфильтровать диапазон дат в сводной таблице с добавлением данных в виде фильтра отчета

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

1. Пожалуйста, следуйте Шаг 1-2 вышеуказанного метода для создания сводной таблицы.

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

Перейдите к сводной таблице, вы увидите, что поле «Дата» добавлено в качестве фильтра отчета над сводной таблицей.

3. Пожалуйста, щелкните стрелку рядом с (Все), проверить Выбрать несколько элементов в раскрывающемся списке, даты следующей проверки, которые вы отфильтруете, и, наконец, щелкните OK кнопка. Смотрите скриншот:

Теперь вы отфильтровали диапазон дат в сводной таблице.

Легко объединяйте несколько листов / книг / файлов CSV в один рабочий лист / книгу

Объединение десятков листов из разных книг в один лист может оказаться утомительным. Но с Kutools for ExcelАвтора Объединить (рабочие листы и рабочие тетради) утилиту, вы можете сделать это всего за несколько кликов!

объявление объединить листы книги 1

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


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (0)


Оценок пока нет. Оцените первым!

Hi,

We have a scenario where we want to find the customer balance by a given date. Such balances can be based on a table similar to the following table:

CustomerNo Voucher Date Amount
1 1000 28-11-2020 1876
1 1010 02-12-2020 -1876
2 1001 15-12-2020 1586
1 1002 05-01-2021 189
2 1001 15-01-2021 -1586
1 1003 10-02-2021 731
2 1004 10-03-2021 934
1 1005 10-04-2021 1354

When we pivot the data, we can aggregate pr. customer and identify the balance per customer. Although there does not seem to be an intuitive way to set an ending date.

For example we want to be able to generate the following result. Lets say we want the ending balances by the 31st December 2020, we should be able to get:

Although in the pivot table we are only able to add dates filter as a slicer or a timeline. The slicer is not usefull as you need to select all dates before the filter date and when using the timeline you have to scroll through all dates up until the filter e.g., we have to select from January 2016 until December 2020.

The latter is not an efficient approach as it is also prone to be making mistakes.

Does anybody have a suggestion to making a filter that basically just allows for setting a ‘before …’ parameter?

We cannot filter directly on the underlying data as we build the pivot table on a cube, hence if we add the dates filter to the table, we get all entries, and if it is added as a filter, we are basically back to just having the slicer, where all values must be selected.

Please let me know if you need more details.

Best regards

Jonas

Фильтр по дате в сводной таблице

lebensvoll

Дата: Четверг, 07.07.2016, 15:16 |
Сообщение № 1

Группа: Проверенные

Ранг: Старожил

Сообщений: 1002


Репутация:

30

±

Замечаний:
0% ±


Excel 2010

Добрый день еще раз уважаемые форумчане!!!
Создал документ начал набивать информация и решил сразу проверить как строить графики и как это все будет выглядеть.
Но тут столкнулся с делемой (((( почему фильтр на даты (как на графике «листа 7» так и «данные по материалам»)не могу выбрать весь месяц (январь; февраль; март и т.д) а не все даты (((((
как настраивать такие фильтры чтоб примерно выглядело так
[img][img=http://i11.pixs.ru/storage/6/9/7/SnimokJPG_8492121_22556697.jpg][/img]
а выглядет все не так (((( на «листе 7» при использовании фильтра даты
[img][img=http://i11.pixs.ru/storage/7/3/7/SnimokJPG_9793250_22556737.jpg][/img]

К сообщению приложен файл:

4989382.xlsx
(96.4 Kb)


Кто бы ты ни был, мир в твоих руках

Сообщение отредактировал lebensvollЧетверг, 07.07.2016, 15:17

 

Ответить

Nic70y

Дата: Четверг, 07.07.2016, 15:23 |
Сообщение № 2

Группа: Друзья

Ранг: Экселист

Сообщений: 8137


Репутация:

1999

±

Замечаний:
0% ±


Excel 2010

Снимаете галку с Все в Поиск пишите .02 (для февраля)


ЮMoney 41001841029809

 

Ответить

buchlotnik

Дата: Четверг, 07.07.2016, 15:28 |
Сообщение № 3

Группа: Заблокированные

Ранг: Участник клуба

Сообщений: 3442


Репутация:

929

±

Замечаний:
20% ±


2010, 2013, 2016 RUS / ENG

lebensvoll, сделайте группировку по дате yes
[p.s.] а в 2013 временнАя шкала появилась — как срез, только по дате

К сообщению приложен файл:

5529551.xlsx
(89.9 Kb)

Сообщение отредактировал buchlotnikЧетверг, 07.07.2016, 15:39

 

Ответить

lebensvoll

Дата: Четверг, 07.07.2016, 15:36 |
Сообщение № 4

Группа: Проверенные

Ранг: Старожил

Сообщений: 1002


Репутация:

30

±

Замечаний:
0% ±


Excel 2010

buchlotnik, а как вы добавили в список сводных полей ГОДЫ???


Кто бы ты ни был, мир в твоих руках

 

Ответить

buchlotnik

Дата: Четверг, 07.07.2016, 15:43 |
Сообщение № 5

Группа: Заблокированные

Ранг: Участник клуба

Сообщений: 3442


Репутация:

929

±

Замечаний:
20% ±


2010, 2013, 2016 RUS / ENG

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

Сообщение отредактировал buchlotnikЧетверг, 07.07.2016, 15:44

 

Ответить

lebensvoll

Дата: Пятница, 08.07.2016, 12:02 |
Сообщение № 6

Группа: Проверенные

Ранг: Старожил

Сообщений: 1002


Репутация:

30

±

Замечаний:
0% ±


Excel 2010

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

К сообщению приложен файл:

3991079.xlsx
(43.2 Kb)


Кто бы ты ни был, мир в твоих руках

 

Ответить

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

  • Фильтрация с использованием слайсеров.
  • Фильтрация с использованием фильтров отчетов.
  • Фильтрация данных вручную.
  • Фильтрация с использованием Label Filters.
  • Фильтрация с использованием Value Filters.
  • Фильтрация с использованием фильтров даты.
  • Фильтрация с использованием Top 10 Filter.
  • Фильтрация с использованием временной шкалы.

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

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

Срезы

Фильтры отчетов

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

Перетащите область из строк в фильтры в областях сводной таблицы.

Фильтры отчетов

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

Космический фильтр

Вы заметите, что

  • Значения продавца отображаются в строках.

  • Значения месяца отображаются в столбцах.

  • Фильтр регионов появляется сверху, по умолчанию выбрано ВСЕ.

  • Суммирующим значением является сумма суммы заказа.

    • Сумма суммы заказа в зависимости от продавца отображается в столбце Общая сумма.

    • Сумма суммы заказа По месяцам появляется в строке Итого.

  • Нажмите на стрелку в поле справа от области фильтра.

Значения продавца отображаются в строках.

Значения месяца отображаются в столбцах.

Фильтр регионов появляется сверху, по умолчанию выбрано ВСЕ.

Суммирующим значением является сумма суммы заказа.

Сумма суммы заказа в зависимости от продавца отображается в столбце Общая сумма.

Сумма суммы заказа По месяцам появляется в строке Итого.

Нажмите на стрелку в поле справа от области фильтра.

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

Выберите несколько предметов

По умолчанию все флажки отмечены. Снимите флажок ( Все ). Все коробки будут сняты.

Затем установите флажки – Юг и Запад и нажмите ОК.

Снять флажок

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

Данные, относящиеся

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

Ручная фильтрация

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

Ручная фильтрация

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

Нажмите на стрелку Стрелка вниз в ячейке Метки столбцов.

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

Поисковая строка

  • Снимите флажок (Выбрать все) в верхней части списка значений.

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

Снимите флажок (Выбрать все) в верхней части списка значений.

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

Флажок

Сводная таблица отображает только те значения, которые относятся к выбранному значению поля Месяц – февраль. Вы можете видеть, что стрелка фильтрации меняется на значок Фильтр поиска чтобы указать, что фильтр применяется. Поместите курсор на Фильтр поиска значок.

Значение поля месяца

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

Если вы хотите изменить значение выбора фильтра, выполните следующие действия:

  • Нажмите на Фильтр поиска значок.

  • Установите / снимите флажки значений.

Нажмите на Фильтр поиска значок.

Установите / снимите флажки значений.

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

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

  • Нажмите на стрелку Стрелка вниз в ячейке Ярлыки строк.

Нажмите на стрелку Стрелка вниз в ячейке Ярлыки строк.

Row Labels Cell

Список значений поля – Регион отображается. Это потому, что Регион находится на внешнем уровне Продавца в порядке размещения. У вас также есть дополнительная опция – Выбрать поле. Нажмите на поле «Выбрать поле».

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

  • Снимите флажок (Выбрать все) и проверьте Уолтерс, Крис.

  • Нажмите ОК.

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

Снимите флажок (Выбрать все) и проверьте Уолтерс, Крис.

Нажмите ОК.

Проверьте Уолтерс

Сводная таблица отображает только те значения, которые связаны с выбранным значением поля Месяц – февраль и значение поля Продавец – Уолтерс, Крис.

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

Метки колонки

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

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

Фильтрация по тексту

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

Данные сотрудника

Данные содержат данные о сотрудниках – EmployeeID, Title, BirthDate, MaritalStatus, Gender и HireDate. Кроме того, данные также имеют уровень менеджера сотрудника (уровни 0 – 4).

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

Дата приема на работу

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

  • Нажмите на стрелку Стрелка вниз в ячейке Ярлыки строк.

  • Выберите Title в поле Select Field из выпадающего списка.

  • Нажмите на Фильтры меток.

  • Нажмите Содержит во втором раскрывающемся списке.

Нажмите на стрелку Стрелка вниз в ячейке Ярлыки строк.

Выберите Title в поле Select Field из выпадающего списка.

Нажмите на Фильтры меток.

Нажмите Содержит во втором раскрывающемся списке.

Менеджер

Откроется диалоговое окно «Фильтр меток (заголовок)». Введите менеджер в поле рядом с Содержит. Нажмите ОК.

заглавие

Сводная таблица будет отфильтрована до значений заголовков, содержащих «Менеджер».

  • Нажмите на Фильтр поиска значок.

Нажмите на Фильтр поиска значок.

Ты это видишь Кнопка фильтра отображается с указанием следующего –

  • Фильтр меток применяется к полю – Заголовок и
  • Что такое применяемый фильтр меток

Фильтр примененных меток

Фильтрация по значениям

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

  • Нажмите на стрелку Стрелка вниз в ячейке Ярлыки строк.

  • Выберите Title в поле Select Field из выпадающего списка.

  • Нажмите на Фильтры Значения.

  • Выберите Больше или равно из второго раскрывающегося списка.

Нажмите на стрелку Стрелка вниз в ячейке Ярлыки строк.

Выберите Title в поле Select Field из выпадающего списка.

Нажмите на Фильтры Значения.

Выберите Больше или равно из второго раскрывающегося списка.

Выберите Большой

Откроется диалоговое окно «Фильтр значений (заголовок)». Введите 25 в поле справа.

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

Названия сотрудников

Фильтрация по датам

Возможно, вы захотите отобразить данные всех сотрудников, которые были приняты на работу в 2015-15 финансовом году. Вы можете использовать фильтры данных для того же, как показано ниже:

  • Включите поле HireDate в сводную таблицу. Теперь вам не нужны данные менеджера, поэтому вы удалите поле ManagerLevel из сводной таблицы.

Включите поле HireDate в сводную таблицу. Теперь вам не нужны данные менеджера, поэтому вы удалите поле ManagerLevel из сводной таблицы.

ManagerLevel

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

  • Нажмите стрелку Стрелка вниз в ячейке Ярлыки строк.

  • Выберите HireDate в поле «Выбрать поле» из выпадающего списка.

  • Нажмите Фильтры даты.

  • Seelct Between из второго выпадающего списка.

Нажмите стрелку Стрелка вниз в ячейке Ярлыки строк.

Выберите HireDate в поле «Выбрать поле» из выпадающего списка.

Нажмите Фильтры даты.

Seelct Between из второго выпадающего списка.

Выберите Между

Откроется диалоговое окно «Фильтр даты» (HireDate). Введите 1.04.2014 и 31.03.2015 в два поля «Дата». Нажмите ОК.

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

Сводная таблица будет отфильтрована для отображения только данных с HireDate в период с 1 апреля 2014 года по 31 марта 2015 года.

дисплей

Вы можете сгруппировать даты в кварталы следующим образом –

  • Щелкните правой кнопкой мыши по любой из дат. Откроется диалоговое окно « Группировка ».

  • Введите 1/4/2014 в поле Начиная с. Установите флажок

  • Введите 31.03.2015 в поле Окончание в. Установите флажок

  • Нажмите Кварталы в поле под.

Щелкните правой кнопкой мыши по любой из дат. Откроется диалоговое окно « Группировка ».

Введите 1/4/2014 в поле Начиная с. Установите флажок

Введите 31.03.2015 в поле Окончание в. Установите флажок

Нажмите Кварталы в поле под.

От

Даты будут сгруппированы в кварталы в сводной таблице. Вы можете сделать таблицу компактной, перетащив поле HireDate из области ROWS в область COLUMNS.

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

Отчетный год

Фильтрация с использованием Top 10 Filter

Фильтр Top 10 можно использовать для отображения нескольких верхних или нижних нескольких значений поля в сводной таблице.

  • Нажмите стрелку Стрелка вниз в ячейке Ярлыки строк.

  • Нажмите Фильтры значений.

  • Нажмите Top 10 во втором выпадающем списке.

Нажмите стрелку Стрелка вниз в ячейке Ярлыки строк.

Нажмите Фильтры значений.

Нажмите Top 10 во втором выпадающем списке.

Верхний фильтр

Откроется диалоговое окно Top 10 Filter (Title).

  • В первом поле нажмите сверху (вы также можете выбрать снизу).

  • Во втором поле введите число, скажем, 7.

  • В третьем поле у ​​вас есть три варианта, по которым вы можете фильтровать.

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

    • Нажмите на проценты, чтобы отфильтровать по процентам.

    • Нажмите на сумму, чтобы отфильтровать по сумме.

  • Поскольку у вас есть счет EmployeeID, нажмите Элементы.

  • В четвертом окне нажмите на поле Count of EmployeeID.

  • Нажмите ОК.

В первом поле нажмите сверху (вы также можете выбрать снизу).

Во втором поле введите число, скажем, 7.

В третьем поле у ​​вас есть три варианта, по которым вы можете фильтровать.

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

Нажмите на проценты, чтобы отфильтровать по процентам.

Нажмите на сумму, чтобы отфильтровать по сумме.

Поскольку у вас есть счет EmployeeID, нажмите Элементы.

В четвертом окне нажмите на поле Count of EmployeeID.

Нажмите ОК.

Количество полей

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

Семь Ценностей

Как вы можете заметить, наибольшее количество рабочих мест в финансовом году – это количество техников-технологов, и преобладающее число таких сотрудников – в Qtr1.

Фильтрация с использованием временной шкалы

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

Создайте сводную таблицу из данных сотрудника, которые вы использовали ранее, и добавьте данные в модель данных в диалоговом окне «Создание сводной таблицы».

  • Перетащите поле Название в область ROWS.

  • Перетащите поле EmployeeID в область AL VALUES и выберите «Счет» для расчета.

Перетащите поле Название в область ROWS.

Перетащите поле EmployeeID в область AL VALUES и выберите «Счет» для расчета.

EmployeeID

  • Нажмите на сводную таблицу.

  • Нажмите вкладку INSERT.

  • Нажмите Временная шкала в группе Фильтры. Откроется диалоговое окно «Вставка временных шкал».

Нажмите на сводную таблицу.

Нажмите вкладку INSERT.

Нажмите Временная шкала в группе Фильтры. Откроется диалоговое окно «Вставка временных шкал».

Вставить сроки

  • Установите флажок HireDate.
  • Нажмите ОК. Временная шкала появится на листе.
  • Инструменты временной шкалы появляются на ленте.

Временная шкала появляется

Как вы можете видеть, все периоды – в месяцах отображаются на временной шкале.

  • Нажмите на стрелку рядом с – МЕСЯЦЕВ.

  • Выберите КВАРТАЛЫ из выпадающего списка. Отображение временной шкалы меняется на Все периоды – в кварталах.

Нажмите на стрелку рядом с – МЕСЯЦЕВ.

Выберите КВАРТАЛЫ из выпадающего списка. Отображение временной шкалы меняется на Все периоды – в кварталах.

Выберите КВАРТАЛЫ

  • Нажмите на 2014 Q1.

  • Держите нажатой клавишу Shift и перетащите на 2014 Q4. Период временной шкалы выбирается с 1 по 4 квартал 2014 года.

  • Сводная таблица фильтруется для этого периода времени.

Нажмите на 2014 Q1.

Держите нажатой клавишу Shift и перетащите на 2014 Q4. Период временной шкалы выбирается с 1 по 4 квартал 2014 года.

Сводная таблица фильтруется для этого периода времени.

Q1

Очистка фильтров

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

Очистка всех фильтров в сводной таблице

Все фильтры, установленные в сводной таблице, можно очистить за один раз следующим образом:

  • Нажмите вкладку HOME на ленте.
  • Нажмите Сортировка и фильтр в группе Редактирование.
  • Выберите Очистить из выпадающего списка.

Очистка фильтров

Очистка метки, фильтра даты или значения

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

Нажмите на значок в метках строк или меток столбцов.

Нажми на Фильтр поиска <имя поля>, из которого вы хотите очистить фильтр в поле «Выбрать поле» в раскрывающемся списке.

Нажмите Очистить фильтр от <Filed Name>, которое появится в раскрывающемся списке.

Нажмите ОК. Конкретный фильтр будет очищен.

Фильтрация сводной таблицы или среза по самой последней дате или периоду

Автор Дмитрий Якушев На чтение7 мин. Просмотров358

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

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

Pip имеет набор отчетов на основе сводных таблиц, которые она часто обновляет (ежедневно, еженедельно, ежемесячно). Она хочет автоматически фильтровать отчеты по самой последней дате в столбце в наборе данных. Этот фильтр выберет элемент в слайсере, чтобы отфильтровать сводные таблицы и диаграммы.

Как и все в Excel, есть несколько способов решить эту проблему. Мы можем использовать макрос или добавить вычисляемый столбец в набор данных …

Содержание

  1. Загрузите файлы примеров
  2. Настройка: данные конвейера продаж CRM
  3. Решение № 1: Макрос VBA для фильтрации сводной таблицы по определенной дате или периоду
  4. Как работает макрос?
  5. Как насчет фильтрации двух сводных таблиц за разные периоды времени?
  6. Решение № 2. Добавление вычисляемого столбца в набор данных
  7. Два способа автоматизации фильтрации сводных таблиц

Загрузите файлы примеров

Filter For Recent Date Or Period In Pivot Table — VBA Macro.xlsm (50.4 KB)

Filter For Recent Date Or Period In Pivot Table — Calculated Column.xlsm (41.7 KB)

Настройка: данные конвейера продаж 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 более подробно.

Как насчет фильтрации двух сводных таблиц за разные периоды времени?

Вот еще один пример с настройкой переменных в качестве параметров макроса. Это позволяет нам вызывать макрос из другого макроса.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

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, рассчитанный столбец может быть всем необходимым для отображения данных за последний период в статическом отчете.

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

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

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

Источник

Понравилась статья? Поделить с друзьями:
  • Финансовая модель компьютерного клуба в excel скачать бесплатно
  • Фильтры данных в таблицах excel
  • Финансовая модель для бизнеса в excel
  • Фильтры по дате в excel 2007
  • Фильтры в электронных таблицах excel