web-dev-qa-db-fra.com

Formule Google Sheets pour "si contient"

J'essaie de comprendre comment identifier IF une liste d'éléments dans une cellule contient une valeur ou une chaîne.

EXEMPLE

La cellule A1 contient sites, sheets, docs, slides.

Je veux que la cellule B1 affiche un 1 si la cellule A1 contient la chaîne sites.

FORMULE

=if(A1 ?????? "sites", 1,0)

Je ne sais pas quoi remplacer le ?????? dans la formule ci-dessus OR si cette formule est possible. Toutes les idées sur la façon d'atteindre le résultat souhaité sont grandement appréciées.

30
Mr. B

Vous pouvez utiliser REGEXMATCH:

=IF(REGEXMATCH(A1, "sites"), 1, 0)

Pour expliquer, REGEXMATCH renvoie true si et seulement si l'argument est une sous-chaîne de votre chaîne.

39
Aurielle Perlmann

=if(search("sheets",B2)>0,1,0)

=if(IFERROR(search("sheets",B2)>0,0),1,0)

Les deux fonctionnent. La seconde écrit un 0 s'il y a une erreur.

7
Tom Woodward

Une solution sans REGEX:

=if(iserror(FIND("sheets",B2)),0,1)

la capitalisation compte et la logique if doit être inversée, étant donné que la réponse est true lorsque la chaîne n'est pas trouvée.

1
Adrià

Vous le faites probablement parce que vous voulez connaître le nombre ou le nombre moyen de lignes contenant le mot "sites". En supposant que vous ayez 100 lignes d'entrées dans la colonne A, vous pouvez utiliser cette fonction pour savoir combien de lignes contiennent le mot "sites":

=QUERY(A1:A100, "select count(A) where A like '%sites%'")

Cela est beaucoup plus rapide que de créer une colonne de 1 et de zéros, puis d’exploiter cette nouvelle colonne.

1
=IF(QUERY(A1, "where A contains 'sites'")<>"", 1, )

0

0
user0