Excel : Comparez des chaînes de caractères dans deux cellules pour trouver des correspondances (insensibles à la casse ou exactes).

  • Partage Ça
Michael Brown

Vous apprendrez un certain nombre de formules pour comparer deux cellules par leurs valeurs, la longueur de la chaîne, ou le nombre d'occurrences d'un caractère spécifique, ainsi que la façon de comparer plusieurs cellules.

Lorsqu'on utilise Excel pour l'analyse de données, l'exactitude est la préoccupation la plus importante. Des informations erronées entraînent des délais non respectés, des tendances mal évaluées, des décisions erronées et des pertes de revenus.

Bien que les formules Excel soient toujours parfaitement exactes, leurs résultats peuvent être erronés parce que des données erronées ont pénétré dans le système. Dans ce cas, le seul remède consiste à vérifier l'exactitude des données. Il n'est pas difficile de comparer deux cellules manuellement, mais il est pratiquement impossible de repérer les différences entre des centaines et des milliers de chaînes de texte.

Ce didacticiel vous apprendra à automatiser la tâche fastidieuse et sujette aux erreurs que constitue la comparaison de cellules et vous indiquera les formules à utiliser dans chaque cas particulier.

    Comment comparer deux cellules dans Excel

    Il existe deux façons différentes de comparer des chaînes de caractères dans Excel, selon que vous recherchez une comparaison sensible à la casse ou insensible à la casse.

    Formule insensible à la casse pour comparer 2 cellules

    Pour comparer deux cellules dans le cas d'ignorance d'Excel, utilisez une formule simple comme celle-ci :

    =A1=B1

    Où A1 et B1 sont les cellules que vous comparez. Le résultat de la formule est une valeur booléenne VRAI et FAUX.

    Si vous souhaitez éditer vos propres textes pour les concordances et les différences, intégrez la déclaration ci-dessus dans le test logique de la fonction IF. Par exemple :

    =IF(A1=B1, "Egal", "Non égal")

    Comme vous le voyez dans la capture d'écran ci-dessous, les deux formules comparent aussi bien les chaînes de texte, les dates et les chiffres :

    Formule sensible à la casse pour comparer des chaînes de caractères dans Excel

    Dans certaines situations, il peut être important non seulement de comparer les valeurs de texte de deux cellules, mais aussi de comparer la casse des caractères. La comparaison de texte sensible à la casse peut être effectuée à l'aide de la fonction Excel EXACT :

    EXACT (texte1, texte2)

    texte1 et texte2 sont les deux cellules que vous comparez.

    En supposant que vos chaînes de caractères se trouvent dans les cellules A2 et B2, la formule est la suivante :

    =EXACT(A2, B2)

    Comme résultat, vous obtenez VRAI pour les chaînes de texte qui correspondent exactement, y compris la casse de chaque caractère, et FAUX sinon.

    Si vous voulez que la fonction EXACT produise d'autres résultats, intégrez-la dans une formule IF et tapez votre propre texte pour la fonction EXACT. valeur_si_vrai et valeur_si_false arguments :

    =IF(EXACT(A2 ,B2), "Exactement égal", "Non égal")

    La capture d'écran suivante montre les résultats de la comparaison de chaînes de caractères sensibles à la casse dans Excel :

    Comment comparer plusieurs cellules dans Excel

    Pour comparer plus de 2 cellules dans une ligne, utilisez les formules présentées dans les exemples ci-dessus en combinaison avec l'opérateur AND. Les détails complets suivent ci-dessous.

    Formule insensible à la casse pour comparer plus de 2 cellules

    Selon la façon dont vous souhaitez afficher les résultats, utilisez l'une des formules suivantes :

    =ET(A2=B2, A2=C2)

    ou

    =IF(AND(A2=B2, A2=C2), "Egal", "Non égal")

    La formule AND renvoie VRAI si toutes les cellules contiennent la même valeur, FAUX si une valeur est différente. La formule IF produit les étiquettes que vous saisissez, " Equal " et " Non égal "dans cet exemple.

    Comme le montre la capture d'écran ci-dessous, la formule fonctionne parfaitement avec tous les types de données - texte, dates et valeurs numériques :

    Formule sensible à la casse pour comparer du texte dans plusieurs cellules

    Pour comparer plusieurs chaînes de caractères entre elles et voir si elles correspondent exactement, utilisez les formules suivantes :

    =ET(EXACT(A2,B2), EXACT(A2, C2))

    Ou

    =IF(AND(EXACT(A2,B2), EXACT(A2, C2)), "Exactement égal", "Non égal")

    Comme dans l'exemple précédent, la première formule fournit des valeurs VRAI et FAUX, tandis que la seconde affiche vos propres textes pour les correspondances et les différences :

    Comparer une série de cellules à une cellule échantillon

    Les exemples suivants montrent comment vous pouvez vérifier que toutes les cellules d'une plage donnée contiennent le même texte que dans une cellule type.

    Formule insensible à la casse pour comparer les cellules à un texte type

    Si la casse des caractères n'a pas vraiment d'importance, vous pouvez utiliser la formule suivante pour comparer des cellules à un échantillon :

    ROWS( gamme )*COLUMES( gamme )=COUNTIF( gamme , cellule de prélèvement )

    Dans le test logique de la fonction IF, vous comparez deux nombres :

    • Le nombre total de cellules dans une plage spécifiée (le nombre de lignes multiplié par le nombre de colonnes), et
    • Le nombre de cellules contenant la même valeur que dans la cellule échantillon (retourné par la fonction COUNTIF).

    En supposant que le texte de l'échantillon se trouve en C2 et que les chaînes à comparer se trouvent dans la plage A2:B6, la formule est la suivante :

    =ROWS(A2:B6)*COLUMNS(A2:B6)=COUNTIF(A2:B6,C2)

    Pour rendre les résultats plus conviviaux, c'est-à-dire pour afficher quelque chose comme "Tous correspondent" et "Pas tous correspondent" au lieu de VRAI et FAUX, utilisez la fonction IF comme nous l'avons fait dans les exemples précédents :

    =IF(ROWS(A2:B6)*COLUMNS(A2:B6)=COUNTIF(A2:B6,C2), "All match", "Not all match")

    Comme le montre la capture d'écran ci-dessus, la formule s'adapte parfaitement à une série de chaînes de texte, mais elle peut également être utilisée pour comparer des chiffres et des dates.

    Formule sensible à la casse pour comparer des chaînes de caractères à un texte type

    Si la casse des caractères fait une différence, vous pouvez comparer les chaînes de caractères au texte type à l'aide des formules de tableau suivantes.

    IF(ROWS( gamme )*COLUMES( gamme )=SUM(--EXACT( cellule_échantillon , gamme )), " texte_si_match ", " text_if_not match ")

    La plage source se trouvant en A2:B6 et le texte de l'échantillon en C2, la formule prend la forme suivante :

    =IF(ROWS(A2:B6)*COLUMNS(A2:B6)=SUM(--EXACT(C2, A2:B6)), "All match", "Not all match")

    Contrairement aux formules Excel classiques, les formules de tableau sont complétées en appuyant sur les touches Ctrl + Shift + Enter. Si elles sont saisies correctement, Excel entoure la formule de tableau d'accolades, comme le montre la capture d'écran :

    Comment comparer deux cellules par longueur de chaîne

    Parfois, vous souhaitez vérifier si les chaînes de texte de chaque ligne contiennent un nombre égal de caractères. La formule pour cette tâche est très simple. Tout d'abord, vous obtenez la longueur de chaîne de deux cellules à l'aide de la fonction LEN, puis vous comparez les chiffres.

    En supposant que les chaînes de caractères à comparer se trouvent dans les cellules A2 et B2, utilisez l'une des formules suivantes :

    =LEN(A2)=LEN(B2)

    Ou

    =IF(LEN(A2)=LEN(B2), "Egal", "Non égal")

    Comme vous le savez déjà, la première formule renvoie les valeurs booléennes VRAI ou FAUX, tandis que la seconde formule produit vos propres résultats :

    Comme le montre la capture d'écran ci-dessus, les formules fonctionnent aussi bien pour les chaînes de texte que pour les chiffres.

    Si deux chaînes de caractères apparemment égales renvoient des longueurs différentes, il est probable que le problème se situe au niveau de l'un des éléments suivants leader ou suivi de espaces Dans ce cas, supprimez les espaces supplémentaires à l'aide de la fonction TRIM. Vous trouverez une explication détaillée et des exemples de formules ici : Comment supprimer les espaces dans Excel.

    Comparer deux cellules par les occurrences d'un caractère spécifique

    Cet exemple est le dernier de notre tutoriel Excel Comparer des chaînes de caractères, et il montre une solution pour une tâche assez spécifique. Supposons que vous avez 2 colonnes de chaînes de caractères qui contiennent un caractère important pour vous. Votre objectif est de vérifier si deux cellules dans chaque ligne contiennent le même nombre d'occurrences d'un caractère donné.

    Pour rendre les choses plus claires, considérons l'exemple suivant. Disons que vous avez deux listes de commandes expédiées (colonne B) et reçues (colonne C). Chaque ligne contient des commandes pour un article spécifique, dont l'identifiant unique est inclus dans tous les ID de commande et est listé dans la même ligne dans la colonne A (veuillez voir la capture d'écran ci-dessous). Vous voulez vous assurer que chaque ligne contient un nombre égal de commandes expédiées et reçues.les articles avec cet ID spécifique.

    Pour résoudre ce problème, écrivez une formule avec la logique suivante.

    • Tout d'abord, remplacez l'identifiant unique par rien en utilisant la fonction SUBSTITUTE :

      SUBSTITUTE(A1, caractère_à_compter,"")

    • Ensuite, calculez combien de fois l'identifiant unique apparaît dans chaque cellule. Pour cela, obtenez la longueur de la chaîne sans l'identifiant unique et soustrayez-la de la longueur totale de la chaîne. Cette partie doit être écrite pour la cellule 1 et la cellule 2 individuellement, par exemple :

      LEN(cell 1) - LEN(SUBSTITUTE(cell 1, character_to_count, ""))

      et

      LEN(cell 2) - LEN(SUBSTITUTE(cell 2, character_to_count, ""))

    • Enfin, vous comparez ces 2 nombres en plaçant le signe d'égalité (=) entre les parties ci-dessus.
    LEN( cellule 1 ) - LEN(SUBSTITUTE( cellule 1 , caractère_à_compter , ""))=

    LEN( cellule 2 ) - LEN(SUBSTITUTE( cellule 2 , caractère_à_compter , ""))

    Dans notre exemple, l'identifiant unique se trouve dans la cellule A2, et les chaînes à comparer se trouvent dans les cellules B2 et C2. La formule complète est donc la suivante :

    =LEN(B2)-LEN(SUBSTITUTE(B2,$A2,""))=LEN(C2)-LEN(SUBSTITUTE(C2,$A2,""))

    La formule renvoie VRAI si les cellules B2 et C2 contiennent un nombre égal d'occurrences du caractère dans A2, FAUX sinon. Pour que les résultats soient plus significatifs pour vos utilisateurs, vous pouvez intégrer la formule dans la fonction IF :

    =IF(LEN(B2)-LEN(SUBSTITUTE(B2, $A2,""))=LEN(C2)-LEN(SUBSTITUTE(C2, $A2,"")), "Egal", "Non égal")

    Comme vous pouvez le voir dans la capture d'écran ci-dessus, la formule fonctionne parfaitement malgré quelques complications supplémentaires :

    • Le caractère à compter (identifiant unique) peut apparaître n'importe où dans une chaîne de texte.
    • Les chaînes de caractères contiennent un nombre variable de caractères et différents séparateurs tels que le point-virgule, la virgule ou l'espace.

    C'est ainsi que l'on compare des chaînes de caractères dans Excel. Pour voir de plus près les formules abordées dans ce tutoriel, nous vous invitons à télécharger la feuille de travail Excel Compare Strings. Je vous remercie de votre lecture et j'espère vous voir sur notre blog la semaine prochaine.

    Michael Brown est un passionné de technologie passionné par la simplification de processus complexes à l'aide d'outils logiciels. Avec plus d'une décennie d'expérience dans l'industrie de la technologie, il a perfectionné ses compétences dans Microsoft Excel et Outlook, ainsi que dans Google Sheets et Docs. Le blog de Michael est dédié au partage de ses connaissances et de son expertise avec les autres, en fournissant des conseils et des tutoriels faciles à suivre pour améliorer la productivité et l'efficacité. Que vous soyez un professionnel chevronné ou un débutant, le blog de Michael offre des informations précieuses et des conseils pratiques pour tirer le meilleur parti de ces outils logiciels essentiels.