web-dev-qa-db-fra.com

FILTER (condition OR condition) syntaxe?

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

Mon problème est où je veux:

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

as OR entraîne une erreur.

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

32
Rushmik

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, Ahab explique que + et * peuvent être utilisés comme expressions booléennes, comme OR et AND.

La solution avec la variable 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, la IFERROR renvoie 0 lorsque rien n'est trouvé, ce qui provoque le fonctionnement de la formule.

Capture d'écran

enter image description here

Exemple

J'ai modifié le fichier d'exemple pour qu'il contienne les deux solutions: Filtre avec booléen

Référence

Forum de produits Google, expressions booléennes

43
Jacob Jan Tuinstra
=FILTER(A:F, REGEXMATCH(A:A, "Combat Medic|Universal"))

0


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

0

0
user0