Fusionner 2 feuilles Google et mettre à jour les données en fonction des enregistrements communs

  • Partage Ça
Michael Brown

Vous utiliserez VLOOKUP, INDEX/MATCH, QUERY et le module complémentaire Merge Sheets pour mettre à jour les cellules d'une feuille à partir des enregistrements d'une autre feuille en fonction des correspondances dans les colonnes communes.

    Fusionner les feuilles Google à l'aide de la fonction VLOOKUP

    La première chose à laquelle vous pouvez avoir recours lorsque vous devez faire correspondre et fusionner deux feuilles Google est la fonction VLOOKUP.

    Syntaxe & ; utilisation

    Cette fonction recherche dans une colonne que vous spécifiez une certaine valeur clé et extrait l'un des enregistrements liés de la même ligne dans une autre table ou feuille.

    Bien que la fonction VLOOKUP de Google Sheets soit généralement considérée comme l'une des plus difficiles, elle est en fait assez simple et même facile à utiliser une fois que vous la connaissez.

    Jetons un coup d'œil rapide à ses composants :

    =VLOOKUP(search_key, range, index, [is_sorted])
    • Clé de recherche est la valeur de la clé que vous recherchez. Il peut s'agir d'une chaîne de texte, d'un nombre ou d'une référence de cellule.
    • gamme est ce groupe de cellules (ou un tableau) où vous chercherez les éléments suivants Clé de recherche et d'où vous tirerez les enregistrements liés.

      Remarque : dans Google Sheets, VLOOKUP analyse toujours la première colonne de l'échantillon. gamme pour le Clé de recherche .

    • indice est le numéro de la colonne dans cette gamme d'où vous voulez tirer les données.

      Par exemple, si votre plage de recherche est A2:E20 et que vous devez extraire les données de la colonne E, entrez 5. Mais si votre plage est D2:E20, vous devrez entrer 2 pour obtenir les enregistrements de la colonne E.

    • [is_sorted] est le seul argument que vous pouvez omettre. Il est utilisé pour indiquer si la colonne contenant les valeurs clés est triée (VRAI) ou non (FAUX). Si VRAI, la fonction travaillera avec la correspondance la plus proche, si FAUX - avec une correspondance complète. Lorsqu'il est omis, VRAI est utilisé par défaut.

    Conseil. Nous avons un guide détaillé consacré à la fonction VLOOKUP dans Google Sheets. Consultez-le pour en savoir plus sur cette fonction, ses particularités et ses limites, et obtenir d'autres exemples de formules.

    Avec ces arguments en tête, utilisons VLOOKUP pour fusionner deux feuilles Google.

    Supposons que j'ai un petit tableau avec des baies et leurs identifiants dans Sheet2, mais que la disponibilité des stocks est inconnue :

    Appelons cette table la principale puisque mon objectif est de la remplir.

    Il y a aussi un autre tableau dans Sheet1 avec toutes les données en place, y compris la disponibilité des stocks :

    Je l'appellerai la table de consultation puisque je la consulterai pour obtenir les données.

    J'utiliserai la fonction VLOOKUP de Google Sheets pour fusionner ces deux feuilles. La fonction fera correspondre les baies dans les deux tableaux, et tirera les informations "stock" correspondantes du lookup dans le tableau principal.

    =VLOOKUP(B2,Sheet1!$B$2:$C$10,2,FALSE)

    Voici comment cette formule fusionne exactement deux feuilles Google :

    1. Il recherche la valeur de B2 (feuille principale) dans la colonne B de la feuille 1 (feuille de consultation).

      Note : N'oubliez pas que VLOOKUP analyse la première colonne de la plage spécifiée. Feuille1!$B$2:$C$10 .

      Remarque : j'utilise des références absolues pour la plage car je copie la formule en bas de la colonne et j'ai donc besoin que cette plage reste la même à chaque ligne pour que le résultat ne soit pas cassé.

    2. FALSE à la fin indique que les données de la colonne B (dans la feuille de recherche) ne sont pas triées et que seules les correspondances exactes seront prises en compte.
    3. Lorsqu'il y a une correspondance, la fonction VLOOKUP de Google Sheets extrait l'enregistrement correspondant de la deuxième colonne de cette plage (colonne C).

    Masquer les erreurs renvoyées par VLOOKUP dans Google Sheets - IFERROR

    Mais qu'en est-il des erreurs #N/A ?

    Vous les voyez dans les rangées où les baies n'ont pas de correspondance dans une autre feuille et où il n'y a rien à renvoyer. Heureusement, il existe un moyen de garder ces cellules vides à la place.

    Il suffit d'envelopper votre VLOOKUP Google Sheets dans IFERROR :

    =IFERROR(VLOOKUP(B2,Sheet1!$B$2:$C$10,2,FALSE),"")

    Conseil : repérez et corrigez les autres erreurs que votre VLOOKUP Google Sheets peut renvoyer à l'aide des solutions proposées dans ce guide.

    Match & ; mettre à jour les enregistrements de la colonne entière en une seule fois - ArrayFormula

    Une dernière chose que j'aimerais mentionner est la manière de faire correspondre et de fusionner les données Google Sheets pour l'ensemble de la colonne en une seule fois.

    Rien d'extraordinaire ici, juste une fonction supplémentaire - ArrayFormula.

    Il suffit de remplacer votre enregistrement clé d'une cellule dans le VLOOKUP de Google Sheets par la colonne entière et de placer toute cette formule dans ArrayFormula :

    =ArrayFormula(IFERROR(VLOOKUP(B2:B10,Sheet1!$B$2:$C$10,2,FALSE),""))

    Ainsi, vous n'aurez pas besoin de copier la formule dans la colonne : ArrayFormula renverra immédiatement le résultat correct dans chaque cellule.

    Bien que VLOOKUP dans Google Sheets soit parfait pour des tâches aussi simples, il a quelques limites. Voici l'un de ses inconvénients : il ne peut pas regarder à sa gauche. Quelle que soit la plage que vous indiquez, il parcourt toujours sa première colonne.

    Ainsi, si vous devez fusionner deux feuilles Google et extraire les identifiants (données de la première colonne) en fonction des baies (deuxième colonne), VLOOKUP ne vous sera d'aucune utilité, car vous ne serez pas en mesure d'élaborer une formule correcte.

    Dans des cas comme celui-ci, INDEX MATCH pour Google Sheets entre en jeu.

    Faire correspondre et fusionner des feuilles Google à l'aide du duo INDEX MATCH

    INDEX MATCH, ou plutôt INDEX & ; MATCH, sont en fait deux fonctions différentes de Google Sheets. Mais lorsqu'elles sont utilisées ensemble, c'est comme un VLOOKUP de niveau supérieur.

    Oui, ils fusionnent également les feuilles de Google : ils mettent à jour les cellules d'un tableau avec les enregistrements d'un autre tableau sur la base d'enregistrements clés communs.

    Mais ils le font beaucoup mieux puisqu'ils ignorent toutes les limitations de VLOOKUP.

    Je ne vais pas aborder toutes les bases aujourd'hui, car je l'ai fait dans cet article de blog. Mais je vais vous donner quelques exemples de formules INDEX MATCH pour que vous puissiez voir comment elles fonctionnent directement dans les feuilles de calcul Google. Je vais utiliser les mêmes exemples de tableaux que ci-dessus.

    INDEX MATCH en action dans Google Sheets

    Tout d'abord, fusionnons ces feuilles Google et mettons à jour la disponibilité des stocks pour toutes les baies correspondantes :

    =INDEX(Sheet1!$C$1:$C$10,MATCH(B2,Sheet1!$B$1:$B$10,0))

    Comment fonctionnent INDEX et MATCH lorsqu'ils sont utilisés ensemble de cette manière ?

    1. MATCH regarde B2 et cherche exactement le même enregistrement dans la colonne B de Sheet1. Une fois trouvé, il renvoie le numéro de la ligne qui contient cette valeur - 10 dans mon cas.
    2. INDEX se réfère également à la 10ème ligne de Sheet1, mais prend la valeur d'une autre colonne - C.

    Essayons maintenant de tester INDEX MATCH contre ce que Google Sheets VLOOKUP ne peut pas faire - fusionner des feuilles et mettre à jour la colonne la plus à gauche avec les ID requis :

    =INDEX(Sheet1!$A$2:$A$10,MATCH(B2,Sheet1!$B$2:$B$10,0))

    Facile, facile :)

    Traitement des erreurs renvoyées par INDEX MATCH dans Google Sheets

    Allons plus loin et éliminons ces erreurs dans les cellules sans correspondance. IFERROR va encore nous aider. Il suffit de mettre votre INDEX MATCH de Google Sheets comme premier argument.

    Exemple 1.

    =IFERROR(INDEX(Sheet1!$C$1:$C$10,MATCH(B2,Sheet1!$B$1:$B$10,0)),"")

    Exemple 2.

    =IFERROR(INDEX(Sheet1!$A$2:$A$10,MATCH(B2,Sheet1!$B$2:$B$10,0)),"")

    Maintenant, comment fusionner ces feuilles Google en utilisant INDEX MATCH et mettre à jour toutes les cellules de la colonne entière en une seule fois ?

    Il y a un petit problème : ArrayFormula ne fonctionne pas avec ces deux-là.

    Vous devrez copier la formule INDEX MATCH dans la colonne ou utiliser la fonction QUERY de Google Sheets comme alternative.

    Fusionner des feuilles Google et mettre à jour des cellules à l'aide de QUERY

    Google Sheets QUERY est la fonction la plus puissante des feuilles de calcul. Dans cette optique, il n'est pas surprenant qu'il offre un moyen de fusionner des tableaux - faire correspondre & ; fusionner des valeurs provenant de différentes feuilles.

    =QUERY(données, requête, [en-têtes])

    Conseil : si vous n'avez jamais utilisé Google Sheets QUERY auparavant, ce tutoriel vous permettra de vous familiariser avec ce langage particulier.

    A quoi devrait ressembler la formule QUERY pour mettre à jour le fichier Stock avec les données réelles ?

    =QUERY(Sheet1!$A$2:$C$10, "select C where&Sheet4!$B2:$B$10& ;""")

    • Google Sheets QUERY consulte ma feuille de consultation (Sheet1 avec les enregistrements que je dois transférer dans ma table principale).
    • et renvoie toutes les cellules de la colonne C pour lesquelles la colonne B correspond à des baies dans mon tableau principal.

    Laissez-moi juste perdre ces erreurs pour les cellules sans correspondance :

    =IFERROR(QUERY(Sheet1!$A$2:$C$10, "select C where&Sheet4!$B2:$B$10& ;""),"")

    Eh bien, c'est mieux :)

    Fusionner des tableaux provenant de différentes feuilles de calcul Google - fonction IMPORTRANGE

    Il y a une autre fonction que je voudrais mentionner, car elle permet de fusionner des feuilles qui se trouvent dans des feuilles de calcul Google différentes (fichiers).

    Cette fonction s'appelle IMPORTRANGE :

    =IMPORTRANGE("spreadsheet_url", "range_string")
    • le premier est le lien vers la feuille de calcul d'où vous tirez les données.
    • le dernier va la feuille & ; la gamme que vous voulez prendre de cette feuille de calcul

    Note. Je vous recommande vivement de consulter les documents Google sur cette fonction afin de ne manquer aucune nuance importante de son travail.

    Imaginez que votre feuille de consultation (avec les données de référence) se trouve dans la feuille de calcul 2 (feuille de calcul de consultation) et que votre feuille principale se trouve dans la feuille de calcul 1 (feuille de calcul principale).

    Remarque : pour que l'IMPORTRANGE fonctionne, vous devez connecter les deux fichiers. Et bien que Google Sheet propose un bouton pour cela juste après avoir tapé votre formule dans une cellule et appuyé sur la touche Entrez Pour les formules ci-dessous, vous devrez peut-être le faire au préalable. Ce guide étape par étape vous aidera.

    Vous trouverez ci-dessous des exemples de fusion de feuilles Google provenant de différents fichiers à l'aide d'IMPORTRANGE, avec chacune des fonctions que vous avez apprises aujourd'hui.

    Exemple 1. IMPORTRANGE + VLOOKUP

    Utilisez IMPORTRAGE comme plage dans VLOOKUP pour fusionner 2 feuilles de calcul Google distinctes :

    =ArrayFormula(IFERROR(VLOOKUP(B2:B10,IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$B$2:$C$10"),2,FALSE),""))

    Exemple 2 : IMPORTRANGE + INDEX MATCH

    Comme pour INDEX MATCH & ; IMPORTRANGE, la formule devient plus volumineuse puisque vous devez référencer deux fois une autre feuille de calcul : comme plage pour INDEX et comme plage pour MATCH :

    =IFERROR(INDEX(IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$A$1:$A$10"),MATCH(B2,IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$B$2:$B$10"),0)),"")

    Exemple 3 : IMPORTRANGE + QUERY

    Cette combinaison de formules est ma préférée. Utilisées ensemble, elles permettent de traiter presque tout ce qui se passe dans les feuilles de calcul. La fusion de feuilles de calcul Google à partir de feuilles de calcul distinctes ne fait pas exception.

    =IFERROR(QUERY(IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq...j7o/edit", "Sheet1!$A$2:$C$10"), "select Col3 where&QUERY!$B2:$B$10& ;""),"")

    Ouf !

    C'est tout pour les fonctions et les formules.

    Vous êtes libre de choisir n'importe quelle fonction & ; construisez votre propre formule à l'aide des exemples ci-dessus...

    ou...

    ...essayez un outil spécial qui fusionne les feuilles Google pour vous ! ;)

    Un moyen sans formule de faire correspondre et de fusionner des données - Module complémentaire Merge Sheets pour Google Sheets

    Si vous n'avez pas le temps de construire ou même d'apprendre des formules, ou si vous recherchez simplement le moyen le plus simple de joindre des données basées sur des enregistrements communs, Merge Sheets sera parfait.

    Il vous suffit de cocher les cases en 5 étapes conviviales :

    1. sélectionnez votre feuille principale
    2. sélectionnez votre feuille de consultation
    3. marquer les colonnes clés (celles qui contiennent des enregistrements à comparer) avec des cases à cocher
    4. choisir les colonnes à mettre à jour :

  • ajuster des options supplémentaires, par exemple, marquer les enregistrements mis à jour par une couleur ou dans une colonne d'état, etc.
  • Il est même possible d'enregistrer toutes les options sélectionnées dans un scénario et de le réutiliser à chaque fois que vous en avez besoin :

    Regardez cette vidéo de démonstration de 3 minutes pour voir comment cela fonctionne :

    Je vous encourage à installer vos feuilles de fusion à partir de la boutique Google Sheets et à suivre ces instructions pour essayer de mettre à jour votre propre tableau avec les informations d'une autre feuille.

    Feuille de calcul avec exemples de formules

    Fusionner des feuilles Google & ; mettre à jour des données - exemples de formules (faites une copie du fichier)

    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.