Excel-Formel: Daten zwischen Daten filtern -

Generische Formel

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

Zusammenfassung

Um Daten so zu filtern, dass Datensätze zwischen zwei Daten eingeschlossen werden, können Sie die Funktion FILTER mit boolescher Logik verwenden. In dem gezeigten Beispiel lautet die Formel in F8:

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

Was Aufzeichnungen mit Daten zwischen dem 15. Januar und dem 15. März einschließlich zurückgibt.

Erläuterung

Diese Formel basiert auf der Funktion FILTER, um Daten basierend auf einem logischen Test abzurufen, der mit einem booleschen logischen Ausdruck erstellt wurde. Das Array-Argument wird als B5: D15 bereitgestellt, das den gesamten Datensatz ohne Header enthält. Das Argument include basiert auf zwei logischen Vergleichen:

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

Der Ausdruck auf der linken Seite prüft, ob die Daten größer oder gleich dem Datum "Von" in F5 sind. Dies ist ein Beispiel für eine boolesche Logik. Der Ausdruck auf der rechten Seite prüft, ob die Daten kleiner oder gleich dem Datum "Bis" in G5 sind. Die beiden Ausdrücke werden mit einem Multiplikationsoperator verbunden, der eine UND-Beziehung erstellt.

Nachdem logische Ausdrücke ausgewertet wurden, haben wir:

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

Beachten Sie, dass jeder Satz von Klammern elf Ergebnisse enthält, eines für jedes Datum in den Daten. Die Multiplikationsoperation zwingt die TRUE FALSE-Werte auf 1s und 0s, sodass das Endergebnis ein einzelnes Array wie das folgende ist:

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

Beachten Sie, dass die vier Einsen im Array den vier Daten entsprechen, die den Test bestehen. Dieses Array wird an die Funktion FILTER übergeben und zum Filtern der Daten verwendet. Nur Zeilen mit dem Ergebnis 1 schaffen es in die endgültige Ausgabe.

Das Argument "if_empty" wird auf "Keine Daten" gesetzt, falls keine übereinstimmenden Daten gefunden werden.

Interessante Beiträge...