Ceci répond donc à la façon de procéder avec une fonction Vlookup, mais dans une seule cellule.
Dans votre exemple, étant donné que chaque tableau de données a les références de cellule suivantes :
Tableau 1 : Feuille1!A1:C3
a d g
b e h
c f i
Tableau 2 : Feuille 2!A1:C3
c j m
a k n
b l o
C'est ainsi que la formule doit être construite.
Formule de jonction
=ArrayFormula(
{
Sheet1!A1:C,
vlookup(Sheet1!A1:A, {Sheet2!A1:A, Sheet2!B1:C}, {2,3}, false)
}
)
Pour que cette formule fonctionne, il faut savoir comment utiliser les parenthèses dans la plage Vlookup. Vous définissez essentiellement la première référence de cellule de la plage comme la colonne qui doit correspondre à la clé de recherche Vlookup. Le reste des références de cellules dans la plage est en relation avec les colonnes que vous souhaitez joindre.
L'index est écrit sous la forme {2,3} pour renvoyer la deuxième et la troisième colonne de la plage (la plage se compose de trois colonnes au total) ; les crochets n'ont rien à voir avec la formule de tableau dans l'index Vlookup, mais ils sont nécessaires pour renvoyer plusieurs colonnes à partir de la fonction Vlookup. La raison pour laquelle vous n'écrivez pas {1,2,3} est que vous ne souhaitez pas inclure la colonne utilisée pour la jointure.
Exemple où la colonne du tableau 2 utilisée pour la jointure est située dans une colonne différente (à droite des données à joindre).
Ce type de formule de jointure peut être utilisé même si la colonne de jointure de la deuxième table est située comme troisième colonne de cette table. Supposons que les données brutes de cet exemple ressemblent à ceci :
Tableau 1 (feuille 1) :
a d g
b e h
c f i
Tableau2 (Feuille2) :
j m c
k n a
l o b
Si vous écrivez la formule de cette manière, vous obtiendrez toujours le résultat souhaité (tel qu'il apparaît dans le tableau des données jointes) :
=ArrayFormula(
{
Sheet1!A1:C,
vlookup(Sheet1!A1:A, {Sheet2!C1:C, Sheet2!A1:B}, {2,3}, false)
}
)
Le tableau des données jointes :
a d g k n
b e h l o
c f i j m
Dans la formule de jonction, vous remarquerez que la troisième colonne du tableau 2 est la première référence de cellule de la plage Vlookup !
La raison pour laquelle cela fonctionne est que lorsque vous utilisez des crochets dans la plage (en conjonction avec Arrayformula), le Vlookup Search_Key ne cherchera PAS une colonne comme dénominateur commun dans les données brutes, mais utilisera le tableau entre crochets comme référence pour trouver une colonne comme dénominateur commun (par défaut, il s'agit de la première colonne de la plage).
J'ai rédigé un guide complet sur ce sujet, intitulé :