Excel-Formel: Filter leere Werte ausschließen -

Inhaltsverzeichnis

Generische Formel

=FILTER(data,(rng1"")*(rng2"")*(rng3""))

Zusammenfassung

Um Zeilen mit leeren oder leeren Zellen herauszufiltern, können Sie die Funktion FILTER mit boolescher Logik verwenden. In dem gezeigten Beispiel lautet die Formel in F5:

=FILTER(B5:D15,(B5:B15"")*(C5:C15"")*(D5:D15""))

Die Ausgabe enthält nur Zeilen aus den Quelldaten, in denen alle drei Spalten einen Wert haben.

Erläuterung

Die Funktion FILTER dient zum Extrahieren von Daten, die einem oder mehreren Kriterien entsprechen. In diesem Fall möchten wir Kriterien anwenden, für die alle drei Spalten in den Quelldaten (Name, Gruppe und Raum) Daten enthalten müssen. Mit anderen Worten, wenn in einer Zeile einer dieser Werte fehlt, möchten wir diese Zeile von der Ausgabe ausschließen.

Zu diesem Zweck verwenden wir drei boolesche Ausdrücke, die auf Arrays ausgeführt werden. Der erste Ausdruck testet auf leere Namen:

B5:B15"" // check names

Der Operator not () mit einer leeren Zeichenfolge ("") übersetzt in "nicht leer". Für jede Zelle im Bereich B5: B15 ist das Ergebnis entweder WAHR oder FALSCH, wobei WAHR "nicht leer" und FALSCH "leer" bedeutet. Da der Bereich 11 Zellen enthält, erhalten wir 11 Ergebnisse in einem Array wie diesem:

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

Der zweite Ausdruck testet für leere Gruppen:

C5:C15"" // check groups

Wir überprüfen erneut 11 Zellen, sodass wir 11 Ergebnisse erhalten:

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

Schließlich suchen wir nach leeren Zimmernummern:

D5:D15"" // check groups

welches produziert:

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

Wenn die Arrays, die sich aus den drei obigen Ausdrücken ergeben, miteinander multipliziert werden, erzwingt die mathematische Operation die Werte TRUE und FALSE auf 1s und 0s. In diesem Fall verwenden wir die Multiplikation, weil wir die "UND" -Logik erzwingen möchten: Ausdruck1 UND Ausdruck2 UND Ausdruck3. Mit anderen Worten, alle drei Ausdrücke müssen in einer bestimmten Zeile TRUE zurückgeben.

Nach den Regeln der Booleschen Logik ist das Endergebnis ein Array wie das folgende:

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

Dieses Array wird als Include-Argument direkt an die FILTER-Funktion übergeben. FILTER enthält nur die 6 Zeilen, die 1s in der endgültigen Ausgabe entsprechen.

Interessante Beiträge...