Comment compiler les données de plusieurs tableaux dans une seule table ?

Il arrive fréquemment que les données soient présentes dans des tableaux, fichiers différents. Il faut alors les compiler (les regrouper dans un seul et même tableau) pour pouvoir les analyser.

Cet article va brièvement expliquer la fonction RECHERCHEV qui permet d’effectuer ces opérations. Et nous verrons dans un deuxième temps les fonctions INDEX et EQUIV qui permettent de faire face à des cas plus nombreux.

La fonction RECHERCHEV

Pour pouvoir regrouper les données de 2 tableaux différents, il faut que ces 2 tableaux aient une information commune qui servira de référence.

Par exemple : si on a dans un tableau les produits associés à une commande (base de données des ventes) et dans un autre tableau le code postal du client pour chaque commande (données stockées dans une autre base de données CRM), l’information commune qui sera utilisée comme référence sera le numéro de la commande.

Tableau 1 – Ventes :

Tableau 2 – CRM :

Si on souhaite donc avoir une nouvelle colonne « Code postal » dans le tableau 1 (ventes), nous allons utiliser la fonction RECHERCHEV pour pouvoir faire correspondre les informations ensemble (on peut remarquer que les numeros de commande ne sont pas triés dans le même ordre dans les deux tableaux).

Cette fonction permet de récupérer l’information voulue en fonction de la référence précisée. Dans notre cas, la référence est le numero de commande et l’information à récupérer est le code postal.

La fonction se construit ainsi:

RECHERCHEV(valeur_cherchée;table_matrice;no_index_col;valeur_proche)

« valeur_cherchée » correspond à la cellule à prendre comme référence

« table_matrice » correspond au tableau dans lequel on veut récupérer l’information. La première colonne du tableau doit être la colonne de référence (contenant les valeurs de références).

« no_index_col » correspond à la colonne dans laquelle on va récupérer l’information (il faut préciser le nombre de colonnes à partir de la colonne de référence)

« valeur_proche » correspond à la précision voulue. Si on met FAUX (ou 0), la fonction prendra la valeur exacte de référence, si on met VRAI, elle prendra la valeur la plus proche (dans la majorité, on a besoin de la valeur exacte).

On va donc mettre la formule suivante à la première ligne du tableau :

=RECHERCHEV(A2;Feuil2!$A$1:$C$4;3;FAUX)

On a pris comme cellule de référence la cellule A2 (n° de commande=1), on a renseigné le tableau dans lequel rechercher les infos (Feuil2!A1:C4), on a précisé qu’il s’agissait de la 3eme colonne (code postal) et qu’il fallait prendre la valeur exacte de référence (FAUX). Et le résultat donne 13000 pour le numero de comande 1.

Et en copiant / glissant la formule pour les autres lignes, on a le tableau désiré.

Les fonctions INDEX et EQUIV

L’avantage de la fonction RECHERCHEV est d’être facile et rapide à mettre en place. Mais elle impose aussi des contraintes : il faut que la premiere colonne contiennent les références (colonne de référence).

Pour contourner cette contrainte, il faut utiliser les fonctions INDEX et EQUIV. La combinaison de ces 2 fonctions permet de récupérer des informations dans n’importe quel tableau.

La fonction INDEX permet de récupérer une information dans une case précise d’un tableau (matrice) et la fonction EQUIV permet de savoir à quelle ligne (ou à quelle colonne) se trouve l’information recherchée. Ainsi, si la colonne de référence n’est pas la première colonne, la formule fonctionnera grâce à la fonction EQUIV qui va déterminer où est située la colonne de référence.

La fonction INDEX se construit ainsi : =INDEX(matrice;no_lig;no_col)

« matrice » correspond aux références du tableau

« no_ligne » correspond à la ligne du tableau dans lequel on va récupérer l’information

« no_col » correspond à la colonne du tableau dans lequel on va récupérer l’information

Ainsi, si on ecrit =INDEX(A1:B2;1;1), la valeur renvoyée sera celle de la cellule A1 (la case de la 1ere ligne et de la 1ere colonne du tableau A1:B2)

La fonction EQUIV se construit ainsi : =EQUIV(valeur_cherchée;tableau_recherche;type)

« valeur_cherchée » correspond à la référence / valeur que l’on recherche

« tableau_recherche » correspond aux coordonnées de la ligne du tableau (ou colonne du du tableau) dans laquelle il faut rechercher l’information.

« type » correspond à la précision voulue. Si on met 0, la fonction prendra la valeur exacte recherchée (dans la majorité, on a besoin de la valeur exacte).

Ainsi, en reprenant l’exemple, à la place d’utiliser la fonction RECHERCHEV, on aurait pu écrire =INDEX(Feuil2!$A$1:$C$4;EQUIV(A2;Feuil2!$A$1:$A$4;0);EQUIV(« Code Postal »;Feuil2!$A$1:$C$1;0)).

Cette formule détermine avec la fonction EQUIV la ligne du numéro de commande et la colonne correspondante à « Code Postal » dans le tableau de la feuille 2. Puis la fonction INDEX récupère l’information dans la cellule correspondante.

Pour + d’infos :

La fonction RECHERCHEV

La fonction EQUIV

Web analytics Article écrit par

Vous avez une remarque ? une idée ? Laissez un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s