Excel Contains : L'art de la recherche de texte avancée
L'expression "Excel Contains" est souvent utilisée pour décrire la capacité de rechercher si une cellule contient un texte spécifique. Bien qu'il n'existe pas de fonction Excel nommée "CONTAINS", plusieurs fonctions combinées permettent d'obtenir ce résultat. Nous allons explorer les principales fonctions et leurs utilisations.
Comprendre l'intention derrière "Excel Contains"
Avant de plonger dans les formules, il est crucial de comprendre ce que vous cherchez à accomplir. Voulez-vous simplement savoir si le texte existe ? Voulez-vous extraire le texte ? Voulez-vous remplacer le texte ? La réponse à ces questions déterminera la formule la plus appropriée.
Les fonctions clés pour simuler "Excel Contains"
Plusieurs fonctions Excel peuvent être utilisées ensemble pour simuler la fonction "Excel Contains". Les plus importantes sont : CHERCHE, ESTNUM, et SI. Nous allons voir comment les utiliser ensemble.
La fonction CHERCHE : Trouver la position d'un texte
La fonction CHERCHE est la pierre angulaire de la recherche de texte dans Excel. Elle renvoie la position du premier caractère d'une chaîne de texte à l'intérieur d'une autre chaîne. Si le texte n'est pas trouvé, elle renvoie une erreur #VALUE!. La syntaxe de CHERCHE est la suivante :
=CHERCHE(texte_cherché;texte_dans_lequel_chercher;[no_départ])
texte_cherché: Le texte que vous recherchez.texte_dans_lequel_chercher: La cellule ou le texte où vous effectuez la recherche.[no_départ]: Argument optionnel qui spécifie la position de départ de la recherche. Si omis, la recherche commence au premier caractère.
Exemple :
Si la cellule A1 contient "Bonjour le monde", la formule =CHERCHE("monde";A1) renverra 11, car "monde" commence au 11ème caractère.
Important : CHERCHE n'est pas sensible à la casse. Cela signifie que "monde" et "Monde" seront considérés comme identiques.
La fonction ESTNUM : Vérifier si un résultat est un nombre
La fonction ESTNUM est utilisée pour vérifier si une valeur est un nombre. Elle renvoie VRAI si la valeur est un nombre et FAUX dans le cas contraire. Cette fonction est particulièrement utile en combinaison avec CHERCHE pour déterminer si le texte recherché a été trouvé.
Exemple :
=ESTNUM(10) renverra VRAI.
=ESTNUM("Bonjour") renverra FAUX.
La fonction SI : Agir en fonction d'une condition
La fonction SI permet d'effectuer des tests logiques et de renvoyer une valeur si la condition est vraie et une autre valeur si la condition est fausse. C'est l'outil idéal pour afficher un résultat significatif basé sur la présence ou l'absence du texte recherché.
La syntaxe de SI est la suivante :
=SI(test_logique;valeur_si_vrai;valeur_si_faux)
test_logique: Une expression qui peut être évaluée àVRAIouFAUX.valeur_si_vrai: La valeur à renvoyer si le test logique estVRAI.valeur_si_faux: La valeur à renvoyer si le test logique estFAUX.
Combiner les fonctions pour simuler "Excel Contains"
Maintenant, combinons ces trois fonctions pour créer une formule qui simule "Excel Contains".
Formule de base : Vérifier la présence d'un texte
La formule la plus courante pour vérifier si une cellule contient un texte spécifique est la suivante :
=SI(ESTNUM(CHERCHE("texte_cherché";A1));"Oui";"Non")
Explication :
CHERCHE("texte_cherché";A1): Recherche le texte spécifié dans la cellule A1. Si le texte est trouvé, elle renvoie un nombre (la position). Si le texte n'est pas trouvé, elle renvoie une erreur#VALUE!.ESTNUM(...): Vérifie si le résultat deCHERCHEest un nombre. Si c'est le cas (le texte a été trouvé), elle renvoieVRAI. Sinon, elle renvoieFAUX.SI(ESTNUM(...);"Oui";"Non"): SiESTNUMrenvoieVRAI, la formule affiche "Oui". SiESTNUMrenvoieFAUX, la formule affiche "Non".
Exemple :
Si la cellule A1 contient "Bonjour le monde" et que vous utilisez la formule =SI(ESTNUM(CHERCHE("monde";A1));"Oui";"Non"), la formule affichera "Oui".
Personnaliser le résultat : Afficher un message spécifique
Vous pouvez personnaliser le résultat de la formule pour afficher un message plus informatif. Par exemple :
=SI(ESTNUM(CHERCHE("texte_cherché";A1));"Le texte a été trouvé";"Le texte n'a pas été trouvé")
Ignorer la casse : Utiliser la fonction TROUVE
Si vous souhaitez que la recherche soit sensible à la casse, remplacez CHERCHE par TROUVE. La fonction TROUVE fonctionne de la même manière que CHERCHE, mais elle est sensible à la casse.
=SI(ESTNUM(TROUVE("texte_cherché";A1));"Oui";"Non")
Exemple :
Si la cellule A1 contient "Bonjour le monde" et que vous utilisez la formule =SI(ESTNUM(TROUVE("Monde";A1));"Oui";"Non"), la formule affichera "Non", car "Monde" (avec une majuscule) n'est pas identique à "monde" (en minuscules).
Techniques avancées avec "Excel Contains"
Au-delà de la simple vérification de présence, vous pouvez utiliser ces fonctions pour des tâches plus complexes.
Extraire du texte avant ou après un mot-clé
Pour extraire le texte avant un mot-clé, vous pouvez utiliser les fonctions GAUCHE et CHERCHE.
=GAUCHE(A1;CHERCHE("mot_clé";A1)-1)
Explication :
CHERCHE("mot_clé";A1): Trouve la position du mot-clé.CHERCHE("mot_clé";A1)-1: Soustrait 1 de la position pour obtenir la longueur du texte avant le mot-clé.GAUCHE(A1;...): Extrait le texte à partir du début de la cellule A1, sur la longueur calculée.
Pour extraire le texte après un mot-clé, vous pouvez utiliser les fonctions DROITE, NBCAR et CHERCHE.
=DROITE(A1;NBCAR(A1)-CHERCHE("mot_clé";A1)-NBCAR("mot_clé")+1)
Explication :
NBCAR(A1): Calcule le nombre total de caractères dans la cellule A1.CHERCHE("mot_clé";A1): Trouve la position du mot-clé.NBCAR("mot_clé"): Calcule le nombre de caractères du mot-clé.NBCAR(A1)-CHERCHE("mot_clé";A1)-NBCAR("mot_clé")+1: Calcule le nombre de caractères après le mot-clé.DROITE(A1;...): Extrait le texte à partir de la droite de la cellule A1, sur la longueur calculée.
Remplacer du texte en utilisant "Excel Contains"
Vous pouvez utiliser les fonctions SI, ESTNUM et CHERCHE combinées avec la fonction SUBSTITUE pour remplacer du texte uniquement si une condition est remplie.
=SI(ESTNUM(CHERCHE("ancien_texte";A1));SUBSTITUE(A1;"ancien_texte";"nouveau_texte");A1)
Explication :
CHERCHE("ancien_texte";A1): Recherche l'ancien texte dans la cellule A1.ESTNUM(...): Vérifie si l'ancien texte a été trouvé.SI(ESTNUM(...);SUBSTITUE(A1;"ancien_texte";"nouveau_texte");A1): Si l'ancien texte est trouvé, il est remplacé par le nouveau texte. Sinon, la cellule A1 est renvoyée telle quelle.
Bonnes pratiques et erreurs à éviter
- Utiliser des références de cellules : Au lieu d'entrer le texte à rechercher directement dans la formule, utilisez des références de cellules. Cela rendra votre formule plus flexible et facile à modifier.
- Gérer les erreurs : Si vous prévoyez que la recherche puisse échouer (le texte n'est pas toujours présent), utilisez la fonction
SIERREURpour afficher un message d'erreur personnalisé au lieu de#VALUE!. - Tester vos formules : Avant d'appliquer une formule à une grande plage de données, testez-la sur quelques cellules pour vous assurer qu'elle fonctionne comme prévu.
- Comprendre la différence entre CHERCHE et TROUVE :
CHERCHEn'est pas sensible à la casse, tandis queTROUVEl'est. Choisissez la fonction appropriée en fonction de vos besoins.
Alternatives à l'utilisation des formules
Bien que les formules soient puissantes, il existe d'autres méthodes pour rechercher du texte dans Excel.
La fonction de recherche intégrée (Ctrl+F)
La fonction de recherche intégrée d'Excel (accessible via Ctrl+F) est un moyen simple et rapide de trouver du texte dans une feuille de calcul. Elle permet de rechercher un texte spécifique et de naviguer entre les occurrences.
Le filtrage
Le filtrage permet de masquer temporairement les lignes qui ne correspondent pas à un critère spécifique. Vous pouvez utiliser le filtrage pour afficher uniquement les lignes qui contiennent un certain texte.
Conclusion
Bien qu'Excel ne possède pas de fonction "Excel Contains" dédiée, la combinaison des fonctions CHERCHE, ESTNUM et SI permet de simuler cette fonctionnalité et de réaliser des recherches de texte avancées. En comprenant ces fonctions et en les utilisant de manière créative, vous pouvez automatiser des tâches fastidieuses, extraire des informations précieuses et gagner un temps précieux. N'hésitez pas à expérimenter et à adapter ces formules à vos besoins spécifiques. L'exploration des fonctions TROUVE, GAUCHE, DROITE, NBCAR et SUBSTITUE vous ouvrira également un monde de possibilités pour la manipulation de texte dans Excel.