FILTER (condition OR condition) syntaxe?

32

J'utilise FILTER()pour afficher une valeur de la feuille 2 où les Namecolonnes correspondent.

Mon problème est où je veux:

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

car il en ORrésulte une erreur.

Quelle est la syntaxe correcte?
Dois-je utiliser un à la QUERY()place?

Rushmik
la source
1
Vous pouvez également trouver cela utile: Google Spreadsheets: Filtrer une plage par tableau
Vidar S. Ramdal

Réponses:

43

Utilisez la formule suivante pour obtenir la requête souhaitée.

Formule

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

A expliqué

Dans la référence, Achab explique cela +et *peut être utilisé comme expressions booléennes, comme ORet AND.

La solution avec IFERROR(voir l'historique des révisions) n'est d'aucune utilité dans ce cas, sauf si vous souhaitez rechercher une chaîne particulière:

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

Ici, IFERRORretourne 0quand rien n'est trouvé, ce qui fait que la formule fonctionne toujours.

Capture d'écran

entrez la description de l'image ici

Exemple

J'ai modifié le fichier d'exemple pour qu'il contienne les deux solutions: Filter with Boolean

Référence

Forum sur les produits Google, expressions booléennes

Jacob Jan Tuinstra
la source
Intéressant! Pourriez-vous préciser comment ça IFERROR(...) + IFERROR(...) marche?
Vidar S. Ramdal
où est la documentation que '+' peut être utilisé comme un booléen OU?
Chris Morris
@JobobJanTuinstra Merci Jacob. Y a-t-il une documentation officielle?
Chris Morris
-1

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

0


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

0

utilisateur0
la source