Exceller

Comment trouver du texte avec une formule

How Find Text With Formula

Question: Quelle formule vous indique si A1 contient le texte «pomme»?

Il s'agit d'un problème étonnamment délicat dans Excel. La réponse `` évidente '' est d'utiliser le Fonction FIND pour 'chercher' le texte, comme ceci:



 
= FIND ('apple',A1)

Ensuite, si vous voulez un résultat TRUE / FALSE, ajoutez le Fonction IF :



 
= IF ( FIND ('apple',A1),TRUE)

Cela fonctionne très bien si «apple» est trouvé - FIND renvoie un nombre pour indiquer la position, et IF l'appelle bien et renvoie TRUE.

Mais FIND a une bizarrerie ennuyeuse - si elle ne trouver 'apple', il renvoie l'erreur #VALUE. Cela signifie que la formule ci-dessus ne renvoie pas FALSE lorsque le texte n'est pas trouvé, elle renvoie #VALUE:



Recherche de texte avec la fonction FIND
FIND renvoie la position du texte (s'il est trouvé), mais #VALUE s'il n'est pas trouvé.

Recherche de texte avec la fonction FIND avec la fonction IF
Malheureusement, cette erreur apparaît même si nous enveloppons la fonction FIND dans la fonction IF.

comment utiliser sumif dans excel 2013

Grrrr. Personne n'aime voir des erreurs dans ses feuilles de calcul.



(Il peut y avoir une bonne raison à cela, mais renvoyer zéro serait beaucoup plus agréable.)

Que dire de la Fonction RECHERCHE , qui localise également la position du texte? Contrairement à FIND, SEARCH prend en charge les caractères génériques et n'est pas sensible à la casse. Peut-être que SEARCH renvoie FALSE ou zéro si le texte n'est pas trouvé?

Non. SEARCH renvoie également #VALUE lorsque le texte est introuvable.

Alors que faire? Eh bien, dans un mouvement Excel classique et contre-intuitif, vous pouvez intercepter l'erreur #VALUE avec le Fonction ISNUMBER , comme ça:

 
= ISNUMBER ( FIND ('apple',A1))

Maintenant, ISNUMBER renvoie TRUE lorsque FIND renvoie un nombre et FALSE lorsque FIND renvoie l'erreur.

Trapping de l'erreur #VALUE avec la fonction ISNUMBER

Une autre façon avec COUNTIF

Si tout cela semble un peu fou, vous pouvez aussi le Fonction COUNTIF pour rechercher du texte:

comment générer des nombres aléatoires dans Excel
 
= COUNTIF (A1,'*apple*')

Cela peut sembler étrange d'utiliser COUNTIF comme ça, car nous ne comptons qu'une cellule. Mais COUNTIF fait bien le travail - si 'apple' est trouvé, il renvoie 1, sinon, il renvoie zéro.

Recherche de texte avec COUNTIF et des caractères génériques

Pour de nombreuses situations (par exemple, le formatage conditionnel), un résultat 1 ou 0 conviendra parfaitement. Mais si vous voulez forcer un résultat TRUE / FALSE, enveloppez simplement avec IF:

 
= IF ( COUNTIF (A1,'*apple*'),TRUE)

Maintenant, nous obtenons TRUE si 'apple' est trouvé, FALSE sinon:

excel comparer 2 colonnes pour les matchs

Recherche de texte avec COUNTIF plus IF

Notez que COUNTIF prend en charge les caractères génériques - en fait, vous doit utilisez des jokers pour obtenir le comportement «contient», en ajoutant un astérisque de chaque côté du texte que vous recherchez. Par contre, COUNTIF n'est pas sensible à la casse, vous devrez donc utiliser FIND si la casse est importante.

Autres exemples

Alors, que pouvez-vous faire avec ce genre de formules? Beaucoup!

Voici quelques exemples (avec des explications complètes) pour vous inspirer:

Confusion logique?

Si vous avez besoin de revoir le fonctionnement des formules logiques, voir cette vidéo . C'est un peu ennuyeux, mais cela passe par de nombreux exemples.

Autres formules

Si vous aimez les formules (qui n'aime pas?!), nous maintenons une grande liste d'exemples .

Auteur Dave Bruns


^