Excel-Formel: FILTER mit komplexen Mehrfachkriterien -

Inhaltsverzeichnis

Zusammenfassung

Um Daten basierend auf mehreren komplexen Kriterien zu filtern und zu extrahieren, können Sie die FILTER-Funktion mit einer Kette von Ausdrücken verwenden, die boolesche Logik verwenden. Im gezeigten Beispiel lautet die Formel in G5:

=FILTER(B5:E16,(LEFT(B5:B16)="x")*(C5:C16="east")*NOT(MONTH(D5:D16)=4))

Diese Formel gibt Daten zurück, bei denen:

Konto beginnt mit "x" UND Region ist "Ost" und Monat ist NICHT April.

Erläuterung

In diesem Beispiel müssen wir eine Logik erstellen, die Daten filtert, um Folgendes einzuschließen:

Konto beginnt mit "x" UND Region ist "Ost" und Monat ist NICHT April.

Die Filterlogik dieser Formel (das include-Argument) wird erstellt, indem drei Ausdrücke verkettet werden, die eine boolesche Logik für Arrays in den Daten verwenden. Der erste Ausdruck verwendet die LEFT-Funktion, um zu testen, ob das Konto mit "x" beginnt:

LEFT(B5:B16)="x" // account begins with "x"

Das Ergebnis ist ein Array von TRUE FALSE-Werten wie folgt:

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

Der zweite Ausdruck testet, ob Region "Ost" mit dem Operator gleich (=) ist:

C5:C16="east" // region is east

Das Ergebnis ist ein anderes Array:

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

Der dritte Ausdruck verwendet die MONTH-Funktion mit der NOT-Funktion, um zu testen, ob der Monat nicht April ist:

NOT(MONTH(D5:D16)=4) // month is not april

was ergibt:

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

Beachten Sie, dass die NOT-Funktion das Ergebnis des MONTH-Ausdrucks umkehrt.

Alle drei Arrays werden miteinander multipliziert. Die mathematische Operation zwingt die Werte TRUE und FALSE zu 1s und 0s, sodass wir an dieser Stelle das Argument include wie folgt visualisieren können:

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

Die boolesche Multiplikation entspricht der logischen Funktion AND, sodass das Endergebnis ein einzelnes Array wie das folgende ist:

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

Die Funktion FILTER verwendet dieses Array zum Filtern der Daten und gibt die vier Zeilen zurück, die den Einsen im Array entsprechen.

Kriterien erweitern

Die zum Erstellen des Include-Arguments im Filter verwendeten Ausdrücke können nach Bedarf erweitert werden, um noch komplexere Filter zu verarbeiten. Um Daten weiter zu filtern und nur Zeilen mit einem Betrag> 10000 einzuschließen, können Sie beispielsweise eine Formel wie die folgende verwenden:

=FILTER(B5:E16,(LEFT(B5:B16)="x")*(C5:C16="east")*NOT(MONTH(D5:D16)=4)*(E5:E16>10000))

Interessante Beiträge...