Trouver les lettres différentes entre 2 chaines de caractère

Trouver les lettres différentes entre 2 chaines de caractère
Dernière mise à jour le 21/04/2024
Temps de lecture : 3 minutes

Cet article va vous montrer comment trouver les lettres différentes entre deux chaines Excel avec une formule. Pour faire ce travail, nous allons avoir besoin de la fonction SEQUENCE de Microsoft 365.

Comparer le contenu de 2 colonnes

Nous avons vu dans ce précédent article comment comparer le contenu de 2 colonnes et afficher les écarts par couleur ou par formule.

Ici, nous souhaitons aller une étape plus loin. Nous allons afficher la position et le caractère où l'erreur a été observée.

Pour vous montrer comment faire, nous allons comparer deux listes d'emails pour retourner

  • A quelle position a été détecté l'erreur ?
  • Quelle est la lettre en erreur ?

Pour réaliser cela, nous allons

  1. Extraire chaque caractère des deux cellules
  2. Les comparer
  3. Afficher les écarts

Ce travail peu sembler compliqué, mais grâce à l'utilisation de la fonction SEQUENCE, le travail sera assez simple.

Étape 1 : Extraire chaque caractère de la cellule.

Pour découper le premier mail, nous allons utiliser la fonction suivante.

=STXT(A2;SEQUENCE(NBCAR(A2));1)

Explication :

  1. La formule va lire chaque caractère de la cellule grâce à la fonction STXT sur une longueur de 1.
  2. L’accroissement de la position est obtenu par la fonction SEQUENCE
  3. Nous lisons tous les caractères de la cellules grâce à l'instruction NBCAR.

En écrivant la formule dans une cellule, nous voyons le détail du résultat. Mais nous n'avons pas besoin d'afficher le résultat dans une feuille de calcul pour la suite du travail.

Chaque cellule contient une lettre

Et bien sûr, il faut faire la même chose pour la seconde cellule à comparer.

Decomposition des 2 emails

Étape 2 : Comparer les deux résultats

Ensuite, il suffit de comparer les 2 tableaux de lettres pour trouver les lettres identiques et les lettres différentes. Ici nous allons faire un test Différent de, et donc, le résultat sera VRAI quand des lettres différentes seront constatées entre les deux chaînes de caractères.

=D2#<>E2#

La formule retourne VRAI en cas de lettres différentes entre 2 chaînes

L'utilisation du symbole # indique que nous allons lire tous les caractères retournés par la formule précédente.

Étape 3 : Gérer l'erreur sur la longueur

Dans le cas où les deux chaînes de caractères ne sont pas de même longueur, la formule retourne l'erreur #N/A.

Longueur differente retourne NA

Pour corriger le problème, nous allons inclure le test précédent dans la fonction SIERREUR et renvoyer VRAI en cas d'erreur (c'est ce que nous recherchons).

=SIERREUR(D2#<>E2#;VRAI)

SIERREUR transforme erreur NA en VRAI

Étape 4 : Retourner la position du premier VRAI

La fonction EQUIV permet de trouver la position d'un élément dans un tableau de valeur. Ici, nous voulons savoir quand nous trouverons le premier VRAI. Nous écrivons alors la formule suivante :

=EQUIV(VRAI;SIERREUR(D2#<>E2#;VRAI);0)

La fonction EQUIV retourne le correct resultat

Nous pouvons maintenant écrire chaque élément dans une seule formule. Ce qui donne :

Formule complete pour retourner la position de la première lettre différente entre 2 chaînes

Affichez le texte où vous avez constaté une différence entre les deux chaînes.

Maintenant que nous avons trouvé la position de la différence entre les 2 cellules Excel, nous pouvons améliorer le résultat.

  • Caractère avec l'erreur :

=STXT(B2;D2;1)

Trouver le caractere en erreur
  • Afficher le texte sans erreur

=GAUCHE(B2;D2-1)

Formule pour retourner la partie OK
  • Afficher le texte après l'erreur

=DROITE(B2;NBCAR(B2)-D2)

Affichage de la partie en erreur du texte

Vous trouverez des informations complémentaires sur les fonctions SIERREUR et EQUIV sur le site de Microsoft.

Articles liés

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Trouver les lettres différentes entre 2 chaines de caractère

Reading time: 3 minutes
Dernière mise à jour le 21/04/2024

Cet article va vous montrer comment trouver les lettres différentes entre deux chaines Excel avec une formule. Pour faire ce travail, nous allons avoir besoin de la fonction SEQUENCE de Microsoft 365.

Comparer le contenu de 2 colonnes

Nous avons vu dans ce précédent article comment comparer le contenu de 2 colonnes et afficher les écarts par couleur ou par formule.

Ici, nous souhaitons aller une étape plus loin. Nous allons afficher la position et le caractère où l'erreur a été observée.

Pour vous montrer comment faire, nous allons comparer deux listes d'emails pour retourner

  • A quelle position a été détecté l'erreur ?
  • Quelle est la lettre en erreur ?

Pour réaliser cela, nous allons

  1. Extraire chaque caractère des deux cellules
  2. Les comparer
  3. Afficher les écarts

Ce travail peu sembler compliqué, mais grâce à l'utilisation de la fonction SEQUENCE, le travail sera assez simple.

Étape 1 : Extraire chaque caractère de la cellule.

Pour découper le premier mail, nous allons utiliser la fonction suivante.

=STXT(A2;SEQUENCE(NBCAR(A2));1)

Explication :

  1. La formule va lire chaque caractère de la cellule grâce à la fonction STXT sur une longueur de 1.
  2. L’accroissement de la position est obtenu par la fonction SEQUENCE
  3. Nous lisons tous les caractères de la cellules grâce à l'instruction NBCAR.

En écrivant la formule dans une cellule, nous voyons le détail du résultat. Mais nous n'avons pas besoin d'afficher le résultat dans une feuille de calcul pour la suite du travail.

Chaque cellule contient une lettre

Et bien sûr, il faut faire la même chose pour la seconde cellule à comparer.

Decomposition des 2 emails

Étape 2 : Comparer les deux résultats

Ensuite, il suffit de comparer les 2 tableaux de lettres pour trouver les lettres identiques et les lettres différentes. Ici nous allons faire un test Différent de, et donc, le résultat sera VRAI quand des lettres différentes seront constatées entre les deux chaînes de caractères.

=D2#<>E2#

La formule retourne VRAI en cas de lettres différentes entre 2 chaînes

L'utilisation du symbole # indique que nous allons lire tous les caractères retournés par la formule précédente.

Étape 3 : Gérer l'erreur sur la longueur

Dans le cas où les deux chaînes de caractères ne sont pas de même longueur, la formule retourne l'erreur #N/A.

Longueur differente retourne NA

Pour corriger le problème, nous allons inclure le test précédent dans la fonction SIERREUR et renvoyer VRAI en cas d'erreur (c'est ce que nous recherchons).

=SIERREUR(D2#<>E2#;VRAI)

SIERREUR transforme erreur NA en VRAI

Étape 4 : Retourner la position du premier VRAI

La fonction EQUIV permet de trouver la position d'un élément dans un tableau de valeur. Ici, nous voulons savoir quand nous trouverons le premier VRAI. Nous écrivons alors la formule suivante :

=EQUIV(VRAI;SIERREUR(D2#<>E2#;VRAI);0)

La fonction EQUIV retourne le correct resultat

Nous pouvons maintenant écrire chaque élément dans une seule formule. Ce qui donne :

Formule complete pour retourner la position de la première lettre différente entre 2 chaînes

Affichez le texte où vous avez constaté une différence entre les deux chaînes.

Maintenant que nous avons trouvé la position de la différence entre les 2 cellules Excel, nous pouvons améliorer le résultat.

  • Caractère avec l'erreur :

=STXT(B2;D2;1)

Trouver le caractere en erreur
  • Afficher le texte sans erreur

=GAUCHE(B2;D2-1)

Formule pour retourner la partie OK
  • Afficher le texte après l'erreur

=DROITE(B2;NBCAR(B2)-D2)

Affichage de la partie en erreur du texte

Vous trouverez des informations complémentaires sur les fonctions SIERREUR et EQUIV sur le site de Microsoft.

Articles liés

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.