Vous vous êtes déjà demandé quelle formule vous pouvez utiliser pour joindre des tables dans Google Sheets ? Et automatiquement ? Le genre de formule magique qui serait facile à réutiliser et qui fait exactement ce dont vous avez besoin. Si vous voulez savoir comment — alors continuez à lire.
Chaque utilisateur de Google Sheets trouve extrêmement important de trouver des formules efficaces qui peuvent faire des merveilles pour leurs données. Cependant, il a été difficile d'obtenir de telles formules efficaces car enchaîner plusieurs fonctions peut rapidement créer des requêtes complexes.
Bien que de nombreuses formules soient à notre disposition, la plupart nécessitent un peu de créativité pour les rendre idéales pour vos situations. Donc, quand il s'agit de joindre deux tables ou plus, nous devons dépendre d'autres fonctions et de connaissances de référence pour créer une requête qui puisse faire le travail efficacement.
Si vous avez trouvé le processus de jointure de tables ennuyeux ou compliqué, cet article vous aidera à comprendre tout ce que vous devez savoir. Plongeons donc directement dans cette formule Google Sheet pour joindre vos tables !
Quelles fonctions devez-vous utiliser pour joindre des tables dans Google Sheets ?
Comme nous l'avons dit, fusionner deux tables implique de combiner plusieurs fonctions. La formule que nous allons créer inclut deux fonctions puissantes de Google Sheets pour joindre nos tables : la fonction FILTER et la fonction VLOOKUP.
Comme vous pouvez le voir, les fonctions ne sont pas nouvelles, mais lorsqu'elles sont combinées avec quelques autres astuces, elles peuvent révolutionner la façon dont vous traitez vos données les plus complexes. Avant de plonger dans la formule, nous devons solidifier notre compréhension de ces fonctions de la requête avant de pouvoir la créer.
Alors, retroussons nos manches et mettons-nous au travail.
La fonction FILTER
La formule de filtre de Google Sheets est une fonction puissante de découpage et d'analyse. La syntaxe de cette fonction est :
=FILTER(plage, condition1, [condition2, …])
Où :
- La plage est la plage de cellules que vous souhaitez filtrer.
- Condition1 est la ligne ou la colonne qui correspond à l'ensemble de données et renvoie un tableau avec des valeurs booléennes : les valeurs TRUE ou FALSE basées sur vos conditions.
- Condition2 : Bien que ce soit un argument optionnel, il sert la même fonction que condition1, vous aidant à enchaîner les conditions.
La fonction FILTER renvoie la version filtrée de votre plage. Elle renvoie uniquement les lignes ou colonnes qui répondent aux conditions spécifiées que vous fournissez.
Donc, si cette fonction peut renvoyer une ligne ou une colonne en fonction de nos conditions, ce sera l'une de nos fonctions utiles.
La fonction VLOOKUP
Lorsque vous souhaitez faire référence à des données provenant de différentes feuilles ou tables dans Google Sheets, la fonction VLOOKUP est très utile. Cette fonction de recherche verticale est puissante et peut travailler avec des données provenant de feuilles externes, la rendant puissante et parfaite pour notre objectif.
Vous pouvez utiliser la fonction VLOOKUP pour extraire ou rechercher des valeurs qui correspondent à une autre table, voici donc la syntaxe :
=RECHERCHEV(clé_de_recherche, plage, index, [est_trié])
Où :
- La clé de recherche : Le paramètre clé_de_recherche représente les valeurs que nous voulons rechercher. Vous pouvez entrer des données, comme ‘Texas’, 3400, ou A12. Ici, vous pouvez combiner des valeurs provenant de plusieurs colonnes pour obtenir une colonne de recherche unique.
- La plage : Le deuxième paramètre de la fonction RECHERCHEV est la plage : les références aux cellules où vous souhaitez rechercher vos données.
- L'index : Un autre paramètre de la fonction RECHERCHEV est l'index. L'index est la position de la colonne que vous souhaitez obtenir. Le numéro de colonne commence toujours à partir de la première cellule de votre plage de recherche, en commençant par 1 et non 0.
- Le paramètre est_trié : Le dernier paramètre d'une fonction RECHERCHEV est est_trié. Ce paramètre indique si nous devons trier la première colonne dans un ordre croissant ou non. Ainsi, ses valeurs peuvent être soit FAUX soit VRAI. Lorsque défini sur FAUX, la plage de recherche ne sera pas triée et restera dans l'ordre d'origine.
Illustration de RECHERCHEV
Pour illustrer comment joindre une table dans Google Sheets en utilisant la fonction VLOOKUP, nous allons utiliser les tables suivantes pour notre exemple. Ici, nous avons deux tables qui partagent une clé commune, le Nom.
A | B | |
1 | Nom | Département |
2 | Eric | Ventes |
3 | Jane | IT |
4 | John | Contrôle Qualité |
A | B | |
1 | Nom | Salaire |
2 | Eric | $45500 |
3 | Jane | $31850 |
4 | John | $21440 |
Si nous avons besoin d'une requête Google Sheets pour joindre les deux tables ci-dessus, voici comment nous allons obtenir les résultats dans Sheet C ci-dessous :
A | B | C | |
1 | Nom | Département | Salaire |
2 | Eric | Ventes | $45500 |
3 | Jane | IT | $31850 |
4 | John | Contrôle Qualité | $21440 |
Table A énumère les Noms et Départements des employés. La deuxième table énumère les Noms et leur Salaire. Si vous avez besoin de regrouper tous ces détails dans un tableau, vous pouvez utiliser VLOOKUP. Vous allez associer chaque nom dans le nouveau Tableau C (Où il avait le Noms seulement) avec le nom correspondant dans FeuilleB.
Comment avons-nous fait cela ?
Dans B2 du Tableau C, nous avons utilisé cette formule pour obtenir le Départements des employés :
=RECHERCHEV(A2,FeuilleA!A2:B4,2,FAUX) et appuyez sur Entrée.
Où :
A2 est la clé de recherche. FeuilleA ! est une référence à FeuilleA avec table A. A2:B4 est notre plage de recherche sur Feuille A. 2 est l'index de la colonne que nous voulons sélectionner dans A2:B4.
Activé C2 de SheetC, utilisez cette formule pour obtenir le salaire des employés de FeuilleB:
=VLOOKUP(A2,SheetB!A2:B4,2,FALSE) et appuyez sur Entrée.
Remarque : Faites glisser la formule vers d'autres cellules pour obtenir leurs valeurs.
Limitations de la fonction VLOOKUP et comment les surmonter
Plusieurs inconvénients sont associés à l'utilisation de la fonction VLOOKUP seule. Que faire si vous souhaitez remplir toute la colonne ou la ligne sans le faire manuellement ? Que faire si les valeurs que vous recherchez ne sont pas uniques ? Et que faire si les valeurs que vous recherchez ne se trouvent pas dans la première colonne de votre plage ?
Il existe deux façons simples de traiter ces limitations. Vérifions-les !
Utilisation des concaténations
Les concaténations sont un moyen de chaîner les valeurs de deux ou plusieurs cellules en une seule valeur. Lorsque vos colonnes contiennent des valeurs qui ne sont pas uniques, cela peut poser problème à la fonction VLOOKUP. Par conséquent, nous allons utiliser des concaténations pour créer des colonnes uniques afin que cette fonction fonctionne de manière optimale.
Il existe plusieurs façons de concaténer dans Google Sheets, mais nous allons nous concentrer uniquement sur la plus simple : utiliser l’esperluette ‘&.’ Par exemple, pour concaténer des cellules. A12 et A15, utilisez simplement =A12&A15 comme votre formule.
Parce que nous voulons faire cela virtuellement pour notre formule VLOOKUP, nous allons l'appliquer à nos clés de recherche et à notre plage. Alors, créons une autre table avec les valeurs suivantes :
A | B | C | |
1 | Nom | État | Salaire |
2 | Eric | Colorado | $40,500 |
3 | Jane | Connecticut | $37,600 |
4 | Eric | Delaware | $30,000 |
5 | John | Californie | $52,000 |
Si vous essayez de dupliquer ou d'utiliser VLOOKUP pour remplir une autre table sans valeurs uniques, la valeur de la première occurrence de la clé de recherche sera utilisée tout au long de la recherche. Voici l'exemple d'utilisation de la table ci-dessus pour reproduire la table. Vérifiez que le deuxième Eric’s État et Salaire ne sont pas précises.
Pour éviter de telles erreurs, nous pouvons concaténer deux cellules ou colonnes pour rendre la clé unique, ce qui signifie que nous aurons une meilleure chance d'obtenir des données précises. Nous avons combiné le Nom et État pour différencier les deux Eric dans la liste. Voici la formule complète :
=VLOOKUP(H10&I10, {D10&E10, F10}, 2, FALSE)
Avez-vous vu que nous avons utilisé les accolades pour obtenir cela ? Que signifie-t-il ? Pour résoudre l'autre limitation de la fonction VLOOKUP, nous avons introduit le concept de tableaux pour nous permettre de créer une table virtuelle et de changer l'ordre de ces tables sans les créer manuellement.
Alors, voici la deuxième solution à la limitation :
Utilisation des arrays
Que sont les arrays dans Google Sheets? Si vous avez une expérience en programmation, vous devriez savoir ce qu'est un array. Cependant, cela peut avoir une signification différente lorsque vous l'utilisez dans Google Sheets. Les arrays sont des tableaux avec des colonnes ou des lignes de valeurs.
Pour différencier une ligne de valeurs d'une colonne de valeurs dans un array, la virgule est utilisée pour représenter les colonnes, et le point-virgule représente les lignes. Si c'est déroutant, voici un exemple.
Si je veux représenter nos données dans notre dernier tableau sous forme d'array, une ligne de Eric de Colorado sera {Eric,Colorado,40500}. Et les colonnes de Noms sont représentés comme, {Eric;Jane;Eric;John}.
Revenons à notre utilisation ci-dessus ; après avoir concaténé le Noms et États, sans tableaux, vous devrez créer une Colonne d'Aide pour contenir la concaténation. C'est donc là que les tableaux nous aident. Avec les tableaux, nous pouvons maintenant créer une colonne virtuelle et utiliser la fonction VLOOKUP pour utiliser cette table afin d'obtenir les résultats que nous voulons.
Ainsi, la table virtuelle du tableau {D10&E10, F10} signifie que la table va fusionner les valeurs de D10 et E10 dans une colonne, et ajoutez la valeur de F10 à la colonne suivante. Donc, le tableau d'aide complet devrait ressembler à celui-ci :
Comment gérer les erreurs dans les résultats
Même lorsque tout semble correct, il arrive que les erreurs se comportent de manière étrange dans Google Sheets. Il est donc crucial d'avoir un moyen de gérer de tels problèmes. Si vous traitez un petit ensemble de données, vous pouvez trouver et corriger les erreurs manuellement si cela vous convient.
Un exemple d'erreur est le #N/A erreur qui se produit soit lorsque la clé de recherche dans la formule VLOOKUP n'a trouvé aucune donnée dans une ligne sans données, soit lorsque la fonction FILTER ne trouve aucune ligne correspondante.
Heureusement, Google Sheets propose plusieurs formules pour gérer de telles erreurs. Par exemple, la fonction IFNA trouvera les cellules avec #N/A des erreurs dans votre formule et les remplacera par un message personnalisé. Si vous souhaitez ajouter des zéros à ces cellules, voici la formule :
Syntaxe :
=IFNA(formule, “message”)
Exemple :
=IFNA(FILTRE(RECHERCHEV(clé_de_recherche,plage,indice,est_trié), condition), “RECHERCHEV n’a trouvé aucune valeur”)
Bien que cet exemple puisse sembler idéal, imbriquer plusieurs formules de gestion d'erreurs peut compliquer vos fonctions. La bonne nouvelle est qu'il existe une alternative : la fonction IFERROR, qui est une sorte de solution universelle pour toutes les erreurs.
La syntaxe et l'utilisation sont identiques à celles de IFNA ; c'est-à-dire,
=IFERROR(formule, “message”).
Notre formule en action : Fusionner deux tableaux dans Google Sheets
Mais rappelez-vous de la fonction FILTRE que nous avons introduite plus tôt ? Où s'intègrera-t-elle dans cette formule ?
Pour répondre à cela, laissez-moi vous présenter une autre limitation de la fonction VLOOKUP que nous n'avons pas encore abordée. La fonction VLOOKUP ne remplit pas automatiquement d'autres cellules avec des valeurs : vous devez copier et coller ou faire glisser les formules pour les utiliser dans d'autres cellules.
Mais c'est un autre travail que vous ne voudrez pas faire. Alors, comment pouvez-vous y remédier ? Voici comment vous pouvez le faire :
=FILTER(VLOOKUP(plageDeColonnes,{tableau},index ou {tableau d'index},est_trié))
Utiliser la fonction FILTER pour remplir les résultats de VLOOKUP
En utilisant la fonction FILTER pour filtrer les résultats de VLOOKUP sous la condition que la plage ne soit pas vide, vous pourrez fusionner vos tables dans Google Sheets automatiquement.
Dans notre exemple, notre fonction VLOOKUP trouve des valeurs dans la plage que nous avons fournie. La fonction FILTER va parcourir toutes les valeurs pour chaque cellule dans la plage VLOOKUP jusqu'à ce que la condition devienne fausse ; c'est-à-dire — lorsque VLOOKUP ne renvoie rien. La fonction FILTER remplit ensuite toutes les valeurs reçues dans leurs colonnes respectives dans notre nouvelle table.
Comme vous l'avez vu, nous avons joint trois tableaux différents en utilisant les fonctions VLOOKUP et FILTER. Décomposons maintenant les formules que nous avons utilisées :
La formule pour obtenir Nom et État de Tableau 1 :
=FILTER(VLOOKUP(I10:I14, {I10:K14},{1,2},FALSE), I10:I14<>"")
Ici, nous filtrons la plage de colonnes à partir de I10:I14 de la plage I10 à K14 avec VLOOKUP. Ensuite, nous incluons un index de tableau sur les colonnes que nous souhaitons sélectionner dans la plage ; c'est-à-dire l'index de colonne un et deux, {1,2}: Nom et État.
La formule pour obtenir Pays préféré de la Table 2 :
=FILTER(VLOOKUP(M10:M14, {M10:N14},2,FALSE), M10:M14<>"")
À partir de notre gamme M10:N10, nous voulons sélectionner la deuxième colonne (sans tri), et notre plage de colonnes M10:M14 ne doit pas être vide selon notre condition FILTER.
Enfin, la formule pour obtenir ID et Code de zone de la Table 3 :
=FILTER(VLOOKUP(P10:P14, {P10:S14},{2,3},FALSE), P10:P14<>"")
Réflexions finales sur la requête Google Sheets pour joindre plus de tables
Fusionner deux tableaux peut sembler intimidant, mais grâce à la requête fonctionnelle de Google Sheets que nous avons partagée pour joindre vos tableaux, nous pensons que c'est maintenant plus facile. En combinant deux fonctions puissantes que nous connaissons déjà et utilisons, le processus est encore plus clair.
Pour fusionner différentes tables dans Google Sheets, utilisez la syntaxe suivante :
=FILTER(VLOOKUP(plage_de_colonnes, {plage_de_données},{index des colonnes},est_trié), condition)
Si vous rencontrez toujours des difficultés à utiliser ces formules, envisagez d'utiliser Dataslayer pour Google Sheets, ce qui vous permet de fusionner facilement deux tableaux, d'importer des données à partir de différentes feuilles de calcul et de travailler avec plus de 40 sources de données différentes pour vos rapports. Voulez-vous en savoir plus ? Commencez dès aujourd'hui gratuitement !