Formuła programu Excel: filtruj dane między datami -

Formuła ogólna

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

Podsumowanie

Aby filtrować dane w celu uwzględnienia rekordów między dwiema datami, można użyć funkcji FILTER z logiką boolowską. W pokazanym przykładzie formuła w F8 to:

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

Który zwraca rekordy z datami między 15 stycznia a 15 marca włącznie.

Wyjaśnienie

Ta formuła korzysta z funkcji FILTER w celu pobierania danych na podstawie testu logicznego utworzonego za pomocą wyrażenia logicznego boolowskiego. Argument tablicowy jest dostarczany jako B5: D15, który zawiera pełny zestaw danych bez nagłówków. To argument opiera się na dwóch porównań logicznych:

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

Wyrażenie po lewej stronie sprawdza, czy daty są większe lub równe dacie „Od” w F5. To jest przykład logiki boolowskiej. Wyrażenie po prawej stronie sprawdza, czy daty są mniejsze lub równe dacie „Do” w G5. Te dwa wyrażenia są połączone operatorem mnożenia, który tworzy relację AND.

Po obliczeniu wyrażeń logicznych otrzymujemy:

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

Należy zauważyć, że w każdym zestawie nawiasów znajduje się jedenaście wyników, po jednym dla każdej daty w danych. Operacja mnożenia przekształca wartości TRUE FALSE na 1 i 0, więc ostatecznym wynikiem jest pojedyncza tablica, taka jak ta:

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

Zwróć uwagę, że cztery jedynki w tablicy odpowiadają czterem datom, które przeszły test. Ta tablica jest dostarczana do funkcji FILTER i używana do filtrowania danych. Tylko wiersze, w których wynikiem jest 1, trafiają do ostatecznego wyniku.

Argument „if_empty” jest ustawiony na „Brak danych” w przypadku, gdy nie zostaną znalezione żadne pasujące dane.

Interesujące artykuły...