Time filters in excel

Создание временной шкалы сводной таблицы для фильтрации дат

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

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

Временная шкала

 

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


Ниже описано, как это сделать.

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

    Кнопка "Вставить временную шкалу" на вкладке "Анализ"

  2. В диалоговом окне Вставка временных шкал установите флажки рядом с нужными полями дат и нажмите кнопку ОК.

    Диалоговое окно "Вставка временных шкал"

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

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

  1. Нажмите на стрелку рядом с отображаемым временным уровнем и выберите нужный вариант.

    Стрелка временных уровней

  2. Перетащите полосу прокрутки временной шкалы к периоду времени, который вы хотите проанализировать.

    Полоса прокрутки временной шкалы

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

    Маркеры выбора отрезка времени

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

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

Очистка временной шкалы

Чтобы очистить временную шкалу, нажмите кнопку Очистить фильтр Кнопка "Сбросить фильтр".

Совет: Если нужно объединить срезы с временной шкалой для фильтрации одного и того же поля дат, установите флажок Разрешить несколько фильтров для поля в диалоговом окне Параметры сводной таблицы (Работа со сводными таблицами > Анализ > Параметры > вкладка Итоги и фильтры).

Настройка временной шкалы

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

  • Чтобы переместить временную шкалу, просто перетащите ее в нужное расположение.

  • Чтобы изменить размер временной шкалы, нажмите на нее, а затем выберите нужный размер, перетаскивая маркеры размера.

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

Стили временной шкалы на вкладке "Параметры" меню "Инструменты временной шкалы"

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

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Создание сводной таблицы для анализа данных на листе

Создание сводной таблицы для анализа внешних данных

Создание сводной таблицы для анализа данных в нескольких таблицах

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

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

Группировка и отмена группировки данных в отчете сводной таблицы

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

Содержание

  1. Date Filters
  2. Create a PivotTable timeline to filter dates
  3. Use a Timeline to filter by time period
  4. Use a Timeline with multiple PivotTables
  5. Clear a timeline
  6. Customize a timeline
  7. Need more help?
  8. Как отфильтровать даты с помощью макросов VBA в Excel
  9. Скачать файл
  10. Фильтры даты в Excel
  11. Фильтры диапазона дат в VBA
  12. Несколько групп дат
  13. Динамические даты в периодах
  14. Фильтры и типы данных
  15. Filtering DateTime column for Time Range?
  16. 3 Answers 3
  17. How to filter in excel between two time intervals (not dates)
  18. 1 Answer 1

Date Filters

This example teaches you how to apply a date filter to only display records that meet certain criteria.

1. Click any single cell inside a data set.

2. On the Data tab, in the Sort & Filter group, click Filter.

Arrows in the column headers appear.

3. Click the arrow next to Date.

4. Click on Select All to clear all the check boxes, click the + sign next to 2015, and click the check box next to January.

Result. Excel only displays the sales in 2015, in January.

6. Click the arrow next to Date.

7. Click on Select All to select all the check boxes.

8. Click Date Filters (this option is available because the Date column contains dates) and select Last Month from the list.

Result. Excel only displays the sales of last month.

Note: this date filter and many other date filters depend on today’s date.

Источник

Create a PivotTable timeline to filter dates

Instead of adjusting filters to show dates, you can use a PivotTable Timeline—a dynamic filter option that lets you easily filter by date/time, and zoom in on the period you want with a slider control. Click Analyze > Insert Timeline to add one to your worksheet.

Much like a slicer for filtering data, you can insert a Timeline one time, and then keep it with your PivotTable to change the range of time whenever you like.

Click anywhere in a PivotTable to show the PivotTable Tools ribbon group, then click Analyze > Insert Timeline.

In the Insert Timeline dialog box, check the date fields you want, and click OK.

Use a Timeline to filter by time period

With your Timeline in place, you’re ready to filter by a time period in one of four time levels ( years, quarters, months, or days).

Click the arrow next to the time level shown, and pick the one you want.

Drag the Timeline scroll bar to the time period you want to analyze.

In the timespan control, click a period tile and drag to include additional tiles to select the date range you want. Use the timespan handles to adjust the date range on either side.

Use a Timeline with multiple PivotTables

Provided your PivotTables are using the same data source, you can use a single Timeline to filter multiple PivotTables. Select the Timeline, then on the ribbon, go to Options > Report Connections, and select the PivotTables you want to include.

Clear a timeline

To clear a timeline, click the Clear Filter button .

Tip: If you want to combine slicers with a timeline to filter the same date field, you can do that by checking the Allow multiple filters per field box in the PivotTable Options dialog box ( PivotTable Tools > Analyze > Options > Totals & Filters tab).

Customize a timeline

When a timeline covers your PivotTable data, you can move it to a better location and change its size. You can also change the timeline style, which may be useful if you have more than one timeline.

To move the timeline, simply drag it to the location you want.

To change the size of the timeline, click it, and then drag the sizing handles to the size you want.

To change the style of the timeline, click it to display the Timeline Tools, and then pick the style you want on the Options tab.

Need more help?

You can always ask an expert in the Excel Tech Community or get support in the Answers community.

Источник

Как отфильтровать даты с помощью макросов 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.

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

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

Источник

Filtering DateTime column for Time Range?

I have two columns that contain date/time pairs as MM/DD/YYYY HH:MM:SS , and I need to filter both columns so that only times between 15:59:59 and 20:00:00 are displayed, the date does not matter. I tried doing a Greater Than filter of ??/??/. 15:59:59 with a Less Than filter of ??/??/. 20:00:00 but that just hides all the data. What are the correct filter parameters I should be using to display only the data I need?

3 Answers 3

While =MOD(A1, 1) will get you the time as a number between 0.000 and 0.999…, =HOUR(A1) will get you an integer between 0 and 23. Then display 16 , 17 , 18 , and 19 .

By the way, it turns out that =HOUR(A1) works on both actual date/time values, and also strings that look like times (with an optional date).

As suggested above, one way to solve your problem would be to establish a helper column containing =HOUR(A1) , and then filter that column to display rows containing 16 , 17 , 18 , or 19 , and hide the rest. Another would be to set up a helper column with

So the rows where the time is in the desired range show up as “ good ” and the others show up as “ bad ”. Then filter to display the “ good ” rows and hide the “ bad ” rows. (Obviously, if the users are sensitive about the choice of words, you can change them.) An advantage to this is that it makes it straightforward to handle multiple discriminator data columns with a single helper column. If I understand your question correctly, you have two date/time columns, and you want to see only the rows where both values are in the late afternoon or early evening. So put this

into your helper column.

Now take the next step:

=IF(AND(HOUR(A1)>=16,HOUR(A1) … , …maybe other conditions ), «» , «bad»)

Now the rows where the time is in the desired range show up as blank and the others show up as “ bad ”. Then filter to display the rows with the blank in the helper column, and hide the “ bad ” rows. This way, once the filter is turned on, the users won’t see that the helper column has anything in it.

And, of course, in addition to hiding the helper column (as kobaltz suggested and teylyn explained), you can do things like putting it in Column Z (off the edge of the screen), changing the font color to white, and hiding data with a Custom Format.

Источник

How to filter in excel between two time intervals (not dates)

I have report in Excel containg incident tickets and their creation time. My task is to filter them based based on whether they are in BH, OOH or Weekends. Starting BH are from 7 AM to 7 PM, OOH are from 7 PM to 7 AM.

Data is located in cell B, and formated as «3/1/2018 12:27:37 AM » Cell B is formated as Date, not text.

My goal is to perform this WITHOUT changing the overal structure of the report, (without helper column), but instead to use «between» filter or some other date filter.

Searching the web i found many solutions with helper column, advanced filter, using MOD or Hour, but i am unable to implement them to work.All i keep getting is blank output

Any help or guidance will be much appreciated

Sample Image of the table — 25k+ rows formated like this starting from 1st Mar 2018, ending at ending at 31st of May 2018

Desired Output — Goal is to present chart showing how many tickets are logged in BH, OOH, and Weekends, in a similar way.

1 Answer 1

To set up the advanced filter, insert some rows at the top of your graph, and then enter your formulas for the various conditions.

For example, for the OOH filter (edited to be consistent with the counting formula):

I have inserted enough rows so that the first row of your data is Row 8, and B8 is the first timestamp.

I have also assumed that you want to exclude weekends for the OOH filter.

Given this as a basis, you can construct other filter criteria ranges for your other requirements.

Note that the «Header» in row 1 is merely for convenience and can be blank. When using formula critera, a requirement is that this header NOT be the same as any column header.

But, if your goal is to just get a graph of the number of entries for the different time statuses, you could just use a formula.

I converted your data to a Table so as not to worry about range references. I find that extraordinarily helpful, both in understanding the formula, and also in creating dynamic range references which will adjust automatically as data is added or deleted from a table.

Источник

Фильтруемый диапазон значений даты и времени может содержать до 10 000 записей. При большом объеме списка необходимо выбрать конкретные значения даты и времени, по которым требуется выполнить отбор.

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

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

1 способ [ простая фильтрация ]

  1. В окне открытого листа выделите диапазон ячеек, содержащий значения даты и времени.
  2. Перейдите к вкладке «Данные» и в группе «Сортировка и фильтр» щелкните по кнопке «Фильтр».
  3. Раскройте меню кнопки фильтрации в первой ячейке выделенного диапазона.
  4. В меню «Автофильтр» активирует в списке соответствующих значений даты и времени строку даты, по которой необходимо провести фильтрацию.
  5. [stextbox id=»warning»]По умолчанию строки дат сгруппированы по годам, месяцам и дням. При этом выбор даты на более высоком уровне иерархии отражается на всех вложенных датах более низких уровней.[/stextbox]

  6. Закройте окно меню «Автофильтр» кнопкой «ОК».
  7. [stextbox id=»warning»]В диапазоне отобразятся только строки, соответствующие фильтру. При этом также будет отображаться первая строка диапазона ячеек в качестве заголовка.[/stextbox]

2 способ [ фильтрация по условию ]

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

    Рис. 5.40. Меню кнопки фильтрации столбца с числами. Пункт «Фильтр по дате»

  6. В окне «Пользовательский автофильтр» в правой графе первой строки выберите значение даты из списка.
  7. [stextbox id=»warning»]Можно также щелкнуть по кнопке «Выбор даты» и в календаре отметить нужную дату.[/stextbox]

  8. В левой графе той же строки выберите нужный оператор сравнения.
  9. Закройте окно кнопкой «ОК».

3 способ [фильтрация по дополнительному логическому условию]

  1. Откройте окно «Пользовательский автофильтр» методом описанным выше.
  2. В окне «Пользовательский автофильтр» в правой графе первой строки выберите значение даты из списка.
  3. В левой графе этой же строки выберите нужный оператор сравнения.
  4. Затем выберите логический оператор:
    • И – если в результате фильтрации диапазона данных необходимо получить значения, для которых истинны оба заданные условия;
    • ИЛИ – если в результате фильтрации диапазона данных необходимо получить значения, для которых истинны одно или оба заданные условия.
  5. В правой графе второй строки выберите второе значение даты и времени из списка.
  6. В левой графе этой же строки выберите второй нужный оператор сравнения.
  7. Закройте окно кнопкой «ОК».

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

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

[stextbox id=»warning»]Кнопки фильтрации доступны, если строка заголовков столбцов в таблице включена.[/stextbox]

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

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

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

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

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

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

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

I am having trouble filtering a column of times that used to work prior to today.

In column B1 was the format DD-MM-YY HH:MM:SS AM/PM so on column C1, I converted it into the format HH:MM:SS AM/PM and further pasted as value. I
autofilled till B1:B & lastrow, moved C:C to B:B and deleted column B:B as the purpose was served to get it converted to time only.

enter image description here

But later when I applied a filter on the time column B1 as shown below it does not give any results.

No code as yet as its just an Excel filter. I will write VBA if this works.

This filter should enable me to find the time cells ranging from specific time to specific time.

Marcucciboy2's user avatar

Marcucciboy2

3,1483 gold badges19 silver badges38 bronze badges

asked Sep 19, 2019 at 12:25

Developer OEA's user avatar

5

If you use TEXT, the result is text that looks like time. Time filters don’t work on text.

Here is a simple way to extract just the time value, with INT to remove the date portion of the date/time. A true time is a number, to which you can apply time formatting.

enter image description here

answered Sep 19, 2019 at 12:46

BigBen's user avatar

BigBenBigBen

43.9k6 gold badges27 silver badges40 bronze badges

2

Понравилась статья? Поделить с друзьями:
  • Time field in word
  • Time expressions and word order
  • Time expression word order
  • Time durations in excel
  • Time duration on excel