Beschreibung
Verwenden Sie diese Funktion, um Zeilen aus einem Bereich oder Array zu extrahieren, die bestimmte Bedingungen erfüllen.
Syntax
FILTER(array, include, [if_empty])
Eingaben
Diese Funktion akzeptiert das folgende Argument:
| Name | Erforderlich | Beschreibung | Gültige Eingabe |
|---|---|---|---|
Array |
Ja | Der zu filternde Bereich oder das zu filternde Array. | Eine Zelle, ein Zellbereich, ein dynamisches Array oder eine Formel, die zu einem der folgenden Ergebnisse führt. |
einschließen |
Ja | Ein Boolesches Array oder ein logischer Ausdruck, um zu bestimmen, welche Zeilen zurückgegeben werden sollen. | Ein logischer Wert (WAHR oder FALSCH), eine Zahl (0 ist FALSCH, andere Zahlen sind WAHR), ein Verweis auf eine Zelle, die einen dieser Werte enthält, oder eine Formel, die zu einem dieser Werte führt. |
if_empty |
Nein | Zurückzugebender Wert, wenn keine Zeilen der Bedingung für den Filter entsprechen. | Eine Zeichenfolge, die angezeigt wird, wenn keine passenden Zeilen gefunden werden. |
Beispiele
Stichprobendaten
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Name | Alter | Ort | Gehalt |
| 2 | John | 35 | New York | 75000 |
| 3 | Alice | 28 | Chicago | 65000 |
| 4 | Bob | 42 | Los Angeles | 85000 |
| 5 | George | 22 | Denver | 55000 |
| 6 | Helen | 30 | Scottsdale | 71000 |
Beispiel-Formeln
Die Bereiche müssen übereinstimmen! Wenn Sie mehrere Bereiche mit FILTER verwenden, müssen die Zeilenwerte für alle Bereiche, die als Teil des Filterausdrucks angegeben wurden, übereinstimmen.
| Anwendungsfall | Formel | Ergebnis | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Erstellen Sie einen Datensatz mit allen Mitarbeitern über 30. | =FILTER(A1:D6, B1:B6>30) |
Diese Formel untersucht den Datensatz (A1:D6) und extrahiert dann die Zeilen, in denen das Alter größer als 30 ist.
|
||||||||||||||||
| Erstellen Sie einen Datensatz mit allen Mitarbeitern über 50, und geben Sie eine benutzerdefinierte Nachricht ein, wenn es keine gibt. | =IFERROR(FILTER(A2:D6, B2:B6>50), "Keine") |
Diese Formel verwendet FILTER, um den Datensatz (A2:D6) zu untersuchen und extrahiert dann die Zeilen, in denen Alter größer als 50 ist. Da es keine gibt, erzeugt dies einen Fehler, der von IFERROR behandelt wird, um die Zeichenfolge "None" anzuzeigen. Zur Nutzung von dem oben genannten Datensatz ergibt dies Folgendes:
|
||||||||||||||||
| Erstellen Sie einen Datensatz mit allen Mitarbeitern über 25, absteigend sortiert nach Gehalt. | =SORT(FILTER(A2:D6, B2:B6>25), 4, -1) |
Diese Formel verwendet FILTER, um den Datensatz (A1:D6) zu untersuchen und extrahiert dann die Zeilen, in denen das Alter größer als 25 ist. SORT (..., 4, -1), ordnet dann die gefilterte Liste nach Gehalt (Spalte 4) in absteigender Reihenfolge an. Zur Nutzung von dem oben genannten Datensatz ergibt dies Folgendes:
|
||||||||||||||||
| Suchen Sie Mitarbeiter, die mehr als das Durchschnittsgehalt verdienen. | =FILTER(A2:D6, D2:D6> AVERAGE(D2:D6)) |
Diese Formel ermittelt den DURCHSCHNITT der Gehälter (D2:D6) und verwendet dann FILTER, um den Datensatz (A2:D6) zu untersuchen und die Zeilen zu extrahieren, in denen das Gehalt größer als der Durchschnitt ist. Über die obige Datentabelle ergibt sich folgendes Ergebnis:
|
||||||||||||||||
| Identifizieren Sie Mitarbeiter, die unter 30 sind UND mehr als 60.000 verdienen. | =FILTER(A1:D6,(B1:B6<30)*(D1:D6>60000)) |
Diese Formel ermittelt den DURCHSCHNITT der Gehälter (D2:D6) und verwendet dann FILTER zur Untersuchung des Datensatzes (A2:D6) und extrahiert die Zeilen, in denen das Gehalt größer als der Durchschnitt ist.
|
Hinweise
- Wie bei allen Array-Funktionen füllt FILTER dynamisch Ergebnisse über benachbarte Zellen auf, beginnend mit der Zelle, die die Funktion FILTER enthält.
- FILTER:
- Unterstützt komplexes Filtern mit mehreren Bedingungen.
- Gibt Zeilen zurück, die den angegebenen logischen Kriterien entsprechen.
- Unterstützt mehrere logische Tests mit* ("AND") oder + ("OR").
Eine Formel zum Filtern eines Bereichs, um Datensätze anzuzeigen, bei denen die Werte in Spalte B "Schokolade" oder "Kaffee" sind, wäre zum Beispiel:=FILTER(A2:C100, (B2:B100="Schokolade") + (B2:B100="Kaffee")).
Tipps
- Wenn Sie eine Kopfzeile haben und nicht möchten, dass die Kopfzeilen eingeschlossen werden, beginnen Sie Ihre Array-Werte eine Zeile tiefer (z.B. beginnen Sie im obigen Datensatz mit A2 statt mit A1).
- FILTER kann mit anderen Funktionen kombiniert werden, einschließlich:
- CHOOSEROWS: Verfeinern Sie die gefilterten Ergebnisse weiter.
- CHOOSECOLS: Wählen Sie bestimmte Spalten aus gefilterten Daten aus.
- SORTIEREN: Ordnen Sie die gefilterten Ergebnisse.
Verwandte Funktionen
Hier finden Sie die anderen Funktionen der Array-Formel, die in Arbeitsblättern von Workiva unterstützt werden.