Compare Two Tables and Remove Duplicates in Google Sheets

Ça n’est pas toujours facile de fournir une formule sur mesure pour comparer des tableaux et supprimer les doublons dans Google Sheets. En effet, les besoins peuvent varier d’une personne à l’autre. Mais ne vous inquiétez pas, je vais vous partager une formule qui vous aidera à comparer deux tableaux et à supprimer les doublons dans Google Sheets.

Cette astuce peut vous être utile de la manière suivante. Supposons que vous ayez deux tableaux dans un fichier Google Sheets contenant les détails des factures émises et les paiements reçus. Les onglets correspondants s’appellent « COMPTES DUS » et « PAIEMENTS REÇUS ».

Comment faire correspondre les numéros de facture et supprimer les doublons ?

Vous pouvez comparer les deux tableaux pour trouver les doublons et les supprimer à l’aide d’une formule dans Google Sheets. Mais avant cela, préparons les données d’exemple.

Données d’exemple pour comparer deux tableaux et supprimer les doublons

Tableau 1 : COMPTES DUS
Voici les enregistrements dans l’onglet des comptes dus.

Tableau 2 : PAIEMENTS REÇUS
Il n’y a qu’un seul enregistrement dans l’onglet des paiements reçus.

Vous pouvez maintenant voir comment comparer ces deux tableaux pour supprimer les doublons. Comme vous pouvez le constater, le numéro de facture II000025 se répète dans les deux tableaux.

Il existe deux façons de gérer cela !

  1. Supprimer toutes les occurrences des lignes correspondantes.
  2. Conserver un seul enregistrement de la ligne correspondante.

Comment faisons-nous correspondre les enregistrements ?

Cela dépend de vous de décider si vous voulez considérer uniquement le numéro de facture pour la correspondance (méthode A) ou la ligne totale (méthode B).

Formules pour comparer deux tableaux et supprimer les doublons

1. Supprimer toutes les occurrences de la ligne correspondante

Correspondance de la ligne totale (méthode B) :
La formule suivante supprimera les lignes correspondantes des deux tableaux.

=unique(vstack('COMPTES DUS'!A2:D,'PAIEMENTS REÇUS'!A2:D),,true)

VSTACK combine verticalement les deux tableaux. UNIQUE renvoie les lignes distinctes.

Nous pouvons également utiliser la formule QUERY suivante.

=query(query(vstack('COMPTES DUS'!A1:D,'PAIEMENTS REÇUS'!A2:D),"Select Col1,Col2,Col3,Col4, Count(Col1) where Col1<>'' group by Col1,Col2,Col3,Col4"),"Select Col1,Col2,Col3,Col4 where Col5=1")

Comment cette formule QUERY compare-t-elle les deux tableaux et supprime-t-elle les doublons ?
Avant d’utiliser cette formule, il est bon de comprendre sa logique. Il s’agit d’une formule QUERY imbriquée. La formule QUERY interne est la principale. Que fait-elle ?

=query(vstack('COMPTES DUS'!A1:D,'PAIEMENTS REÇUS'!A2:D),"Select Col1,Col2,Col3,Col4, Count(Col1) where Col1<>'' group by Col1,Col2,Col3,Col4")

Elle regroupe toutes les colonnes du tableau et renvoie le nombre d’enregistrements comme suit. La formule QUERY externe filtre toute ligne contenant « >1 » dans la dernière colonne.

Correspondance du numéro de facture (méthode A) :
Supposons que le montant de la facture soit différent pour II000025 dans les deux tableaux. Les formules ci-dessus ne supprimeront pas lesdites factures car elles sont distinctes. Dans ce cas, nous pouvons modifier notre formule QUERY précédente en regroupant uniquement la colonne des numéros de facture.

=query(query(vstack('COMPTES DUS'!A1:D,'PAIEMENTS REÇUS'!A2:D),"Select Col1,max(Col2),max(Col3),max(Col4), Count(Col1) where Col1<>'' group by Col1"),"Select Col1,Col2,Col3,Col4 where Col5=1")

2. Conserver la première occurrence

Nous pouvons également utiliser deux types de formules : considérer uniquement le numéro de facture pour la correspondance (méthode A) ou la ligne totale (méthode B).

Correspondance de la ligne totale (méthode B) :
=let(ftr,unique(vstack('COMPTES DUS'!A2:D,'PAIEMENTS REÇUS'!A2:D)),filter(ftr,choosecols(ftr,1)<>""))

Ici, UNIQUE fait le travail. Le LET a pour but de filtrer les lignes vides dans le résultat.

Correspondance du numéro de facture (méthode A) :
=let(ftr,sortn(vstack('COMPTES DUS'!A2:D,'PAIEMENTS REÇUS'!A2:D),9^9,2,1,1),filter(ftr,choosecols(ftr,1)<>""))

Ici, SORTN remplace UNIQUE. Le nombre mis en évidence dans la formule représente la colonne pour la correspondance. Ici, c’est la colonne facture, donc #1.

Voilà comment comparer deux tableaux et supprimer les doublons dans Google Sheets. Vous pouvez désormais utiliser ces formules pour nettoyer vos données et simplifier votre travail dans Google Sheets. Si vous souhaitez en savoir plus sur les fonctionnalités avancées de Google Sheets, n’hésitez pas à consulter Crawlan.com, notre site spécialisé dans les astuces Google Sheets et le marketing en ligne.

Articles en lien