Comment comparer des listes avec Google Sheets ? (union, intersection, différence)
Table des matières
Un consultant SEO, tu le sais aussi bien que moi, passe beaucoup de temps à manipuler des listes : listes de mots-clés, listes d'URLs, listes de domaines, listes de balises, etc.
Et dans ce domaine, les opérations qui reviennent le plus souvent sont :
- l'union : par exemple "Quelle est la liste agrégée et dédoublonnée de toutes mes URLs après export Semrush, Search Console et Screaming Frog ?"
- l'intersection : par exemple "Quels sont les mots-clés communs entre mon site et celui de mon concurrent ?"
- la différence : par exemple "Quelles sont les URLs de mon sitemap qui ne figurent pas dans ma liste d'URLs positionnées ?"
Une image vaut mieux que mille mots.
Il existe de nombreux outils en ligne pour faire ces "opérations d'ensemble" mais l'objectif ici est de montrer comment le faire de manière très simple dans Google Sheets.
Pour illustrer mes propos, je vais utiliser deux listes (liste1, liste2) contenant des noms d'entreprises de la tech :
- liste1 (A2 à A6) :
- Amazon
- Microsoft
- Apple
- liste2 (B2 à B4) :
- Apple
- Tesla
Union
Pour combiner deux colonnes dans Google Sheets, il suffit d'utiliser des accolades et de définir les plages de valeurs à fusionner.
Petite précision : les accolades permettent de regrouper des valeurs dans un tableau. Pour les afficher les unes en dessous des autres, dans une même colonne, le séparateur à utiliser est le point-virgule.
Ce qui donne donc, pour mes deux listes :
={A2:A6;B2:B4}
Si tu souhaites retirer les doublons, il suffit d'ajouter UNIQUE
devant la formule, ce qui donne :
=UNIQUE({A2:A6;B2:B4})
L'union de mes deux listes (liste1 ∪ liste2) contient donc 6 valeurs :
- Amazon
- Microsoft
- Apple
- Tesla
Intersection
Pour comparer deux colonnes et en extraire les valeurs identiques, je procède en 5 étapes :
- avec
COUNTIF
, je compte le nombre de fois où apparait chaque valeur d'une liste (liste2) dans la plage testée (liste1) - si le résultat est > 0, j'affiche cette valeur, sinon je n'affiche rien
- pour faire ce calcul sur la plage entière, j'utilise la fonction
ARRAYFORMULA
- pour ne garder que les valeurs uniques, j'utilise la fonction
UNIQUE
- pour éviter d'afficher des cellules vides, j'utilise la fonction
SORT
qui permet de trier la liste par ordre alphabétique
La formule finale est la suivante :
=SORT(UNIQUE(ARRAYFORMULA(IF(COUNTIF(B2:B4;A2:A6)>0;A2:A6;))))
L'intersection de mes deux listes (liste1 ∩ liste2) contient donc deux valeurs :
- Apple
Différence
Pour trouver les différences entre deux colonnes, je reprends à peu de chose près la même formule que pour l'intersection, sauf que cette fois-ci je teste si le résultat du COUNTIF
est égal à 0.
Concrètement, si je veux trouver les valeurs de liste1 (A2 à A6) qui ne sont pas dans liste2 (B2 à B4), j'utilise la formule suivante :
=SORT(UNIQUE(ARRAYFORMULA(IF(COUNTIF(B2:B4;A2:A6)=0;A2:A6;))))
La différence entre liste1 et liste2 (liste1 - liste2) produit donc le résultat suivant :
- Amazon
- Microsoft
Attention, si tu veux obtenir la différence entre liste2 et liste1 (liste2 - liste1), il faut que tu inverses les plages dans la fonction COUNTIF
.
Voilà, c'est tout pour aujourd'hui !
- Partager sur Twitter
- Partager sur Facebook
- Partager sur LinkedIn
- Partager sur Pinterest
- Partager par E-mail
- Copier le lien
Un Template Google Sheets Offert ! 🎁
Rejoins ma newsletter et reçois une astuce SEO chaque mercredi ! En cadeau, je t'offre un template Google Sheets avec 50 fonctions de scraping prêtes à l'emploi.