Existe-t-il une fonction intégrée pour vérifier si une cellule contient un caractère / sous-chaîne donné?
Cela signifierait que vous pouvez appliquer des fonctions textuelles comme Left
/ Right
/ Mid
sur une base conditionnelle sans lancer d'erreurs lorsque les caractères de délimitation sont absents.
excel
excel-formula
géothéorie
la source
la source
CONTAINS("Text", cell)
fonction.FIND()
à la place deSEARCH()
,
au lieu de;
. Après avoir changé la formule fournie,=ISNUMBER(SEARCH("Some Text"; A3))
cela a fonctionné. Merci!La formule suivante détermine si le texte "CHECK" apparaît dans la cellule C10. Si ce n'est pas le cas, le résultat est vide. Si c'est le cas, le résultat est le travail "CHECK".
la source
Cette formule me semble plus intuitive:
cela renvoie VRAI si "SomeText" est contenu dans A1.
Les formules IsNumber / Search et IsError / Find mentionnées dans les autres réponses fonctionnent certainement, mais je me retrouve toujours à avoir besoin de consulter l'aide ou d'expérimenter dans Excel trop souvent avec celles-ci.
la source
Pour ceux qui souhaitent le faire en utilisant une seule fonction à l'intérieur de l'instruction IF, j'utilise
pour voir si la sous-chaîne TEXT est dans la cellule A1
[REMARQUE: TEXT doit être entouré d'astérisques]
la source
Découvrez la
FIND()
fonction dans Excel.Syntaxe:
Renvoie
#VALUE!
s'il ne trouve pas la sous-chaîne.la source
ISNUMBER
cela fonctionne également, pour les correspondances sensibles à la casse uniquement.J'aime la réponse de Rink.Attendant.6. En fait, je veux vérifier plusieurs chaînes et je l'ai fait de cette façon:
Tout d'abord, la situation: les noms qui peuvent être des constructeurs de maisons ou des noms de communauté et je dois regrouper les constructeurs en un seul groupe. Pour ce faire, je recherche le mot "constructeur" ou "construction", etc. Donc -
la source
=OR(COUNTIF(A1,"*builder*"),COUNTIF(A1,"*construction*"))
?COUNTIFS
:COUNTIFS(A1,"*builder*",A1,"*construction*")
C'est une vieille question mais je pense qu'elle est toujours valable.
Puisqu'il n'y a pas de fonction CONTAINS, pourquoi ne pas la déclarer en VBA? Le code ci-dessous utilise la fonction VBA Instr, qui recherche une sous-chaîne dans une chaîne. Il renvoie 0 lorsque la chaîne n'est pas trouvée.
la source
C'est une vieille question, mais une solution pour ceux qui utilisent Excel 2016 ou une version plus récente est que vous pouvez supprimer le besoin de structures imbriquées if en utilisant le nouveau
IFS( condition1, return1 [,condition2, return2] ...)
conditionnel.Je l'ai formaté pour le rendre visuellement plus clair sur la façon de l'utiliser pour le cas de cette question:
Étant donné que
SEARCH
renvoie une erreur si une chaîne n'est pas trouvée, je l'ai enveloppée d'unISERROR(...)=FALSE
pour vérifier la vérité, puis renvoyer la valeur souhaitée. Ce serait génial siSEARCH
renvoyé 0 au lieu d'une erreur pour la lisibilité, mais c'est juste comment cela fonctionne malheureusement.Une autre note importante est celle
IFS
qui rendra le match trouvé en premier et donc l'ordre est important. Par exemple, si mes chaînes étaientSurf, Surfing, Surfs
commeString1,String2,String3
ci-dessus et que ma chaîne de cellules l'était,Surfing
elle correspondrait au premier terme au lieu du second en raison de la sous-chaîneSurf
. Les dénominateurs communs doivent donc être les derniers de la liste. MonIFS
devrait être ordonnéSurfing, Surfs, Surf
de fonctionner correctement (échangeSurfing
etSurfs
fonctionnerait également dans cet exemple simple), maisSurf
devrait être le dernier.la source
Voici la formule que j'utilise
=IF( ISNUMBER(FIND(".",A1)), LEN(A1) - FIND(".",A1), 0 )
la source
IFERROR(LEN(A1) - FIND(".", A1), 0)