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?


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


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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.