Формула на Excel: Филтриране на данни между датите -

Обща формула

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

Обобщение

За да филтрирате данните, за да включите записи между две дати, можете да използвате функцията FILTER с логическа логика. В показания пример формулата във F8 е:

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

Който връща записи с дати между 15 януари и 15 март включително.

Обяснение

Тази формула разчита на функцията FILTER за извличане на данни въз основа на логически тест, създаден с логически логически израз. Аргументът на масива се предоставя като 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))

Имайте предвид, че във всеки набор от скоби има единадесет резултата, по един за всяка дата в данните. Операцията за умножение принуждава стойностите TRUE FALSE до 1s и 0s, така че крайният резултат е единичен масив като този:

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

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

Аргументът "if_empty" е зададен на "Няма данни", в случай че не бъдат намерени съвпадащи данни.

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