FILTER (Bedingung ODER Bedingung) -Syntax?


32

Ich verwende FILTER(), um einen Wert aus Blatt 2 anzuzeigen, bei dem die NameSpalten übereinstimmen.

Mein Problem ist, wo ich will:

=FILTER(Sheet2!A:F, Sheet2!A:A="Combat Medic" OR Sheet2!A:A="Universal")

als ORErgebnis ein Fehler.

Was ist die richtige Syntax?
Muss ich QUERY()stattdessen eine verwenden?


1
Sie könnten dies auch nützlich finden: Google Spreadsheets: Filtern eines Bereichs nach Array
Vidar S. Ramdal

Antworten:


43

Verwenden Sie die folgende Formel, um die gewünschte Abfrage zu erhalten.

Formel

=FILTER(A:A;(A:A="Combat Medic")+(A:A="Universal"))

Erklärt

In der Referenz wird von Ahab erklärt, dass +und *als boolesche Ausdrücke verwendet werden können, wie ORund AND.

Die Lösung mit der IFERROR(siehe Versionshistorie) ist in diesem Fall nutzlos, es sei denn, Sie möchten einen bestimmten String finden:

=FILTER(Sheet2!A:F;IFERROR(FIND("Combat";A:A);0) + IFERROR(FIND("Uni";A:A);0))

Hier wird der IFERRORWert zurückgegeben, 0wenn nichts gefunden wird, wodurch die Formel weiterhin funktioniert.

Bildschirmfoto

Bildbeschreibung hier eingeben

Beispiel

Ich habe die Beispieldatei so geändert, dass sie beide Lösungen enthält: Filtern mit Booleschen Werten

Referenz

Google-Produktforum, Boolesche Ausdrücke


Interessant! Könnten Sie näher erläutern, wie das IFERROR(...) + IFERROR(...) funktioniert?
Vidar S. Ramdal

Wo ist die Dokumentation, dass '+' als Boolesches ODER verwendet werden kann?
Chris Morris


@JacobJanTuinstra Danke Jacob. Gibt es offizielle Unterlagen?
Chris Morris

-1

=FILTER(A:F, REGEXMATCH(A:A, "Combat Medic|Universal"))

0


=QUERY(A:F, " where A matches 'Combat Medic|Universal'", 0)

0

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.