Формула Excel: фильтрация данных по датам -

Общая формула

=FILTER(data,(dates>=A1)*(dates<=A2),"No data")

Резюме

Чтобы отфильтровать данные для включения записей между двумя датами, вы можете использовать функцию ФИЛЬТР с логической логикой. В показанном примере формула в F8:

=FILTER(B5:D15,(C5:C15>=F5)*(C5:C15<=G5),"No data")

Возвращает записи с датами с 15 января по 15 марта включительно.

Объяснение

Эта формула использует функцию ФИЛЬТР для извлечения данных на основе логического теста, созданного с помощью логического выражения. Аргумент массива представлен как B5: D15, который содержит полный набор данных без заголовков. Включают аргумент основан на двух логических сравнений:

(C5:C15>=F5)*(C5:C15<=G5)

Выражение слева проверяет, больше ли даты или равны дате «От» в F5. Это пример логической логики. Выражение справа проверяет, меньше ли даты или равны дате «До» в G5. Два выражения соединяются с помощью оператора умножения, который создает отношение И.

После вычисления логических выражений мы имеем:

((TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE))* ((TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE))

Обратите внимание, что в каждом наборе круглых скобок содержится одиннадцать результатов, по одному для каждой даты в данных. Операция умножения переводит значения ИСТИНА ЛОЖЬ в единицы и нули, поэтому конечный результат представляет собой один массив, подобный этому:

(1;1;1;1;0;0;0;0;0;0;0)

Обратите внимание, что четыре единицы в массиве соответствуют четырем датам, прошедшим тест. Этот массив передается в функцию FILTER и используется для фильтрации данных. Только строки, в которых результат равен 1, попадают в окончательный результат.

Для аргумента «if_empty» устанавливается значение «Нет данных», если совпадающие данные не найдены.

Интересные статьи...