Passer au contenu

Extraire des données d’un tableau

Grâce aux fonctions d’indexation, vous pouvez rechercher des valeurs dans une feuille de calcul.

Consulter un tableau n’est pas toujours simple. S’il ne s’agit que d’y trouver un élément, vous vous contenterez de la fonction Rechercher. Mais s’il faut extraire une valeur d’un tableau à partir d’une ou plusieurs données de référence, par exemple le tarif d’un produit en fonction de son nom, il vous faut exploiter les fonctions de recherche d’Excel. Dans les exemples qui suivent, nous mettons en oeuvre deux fonctions très puissantes : EQUIV et INDEX.

01. Nommez les champs

Les formules permettant de chercher des données sont toujours plus lisibles si leurs arguments sont des noms de plages de cellules (Salles), et non des coordonnées (A3:A9). Nous utiliserons plusieurs fois cette possibilité. Voici la méthode la plus rapide pour nommer une plage : sélectionnez cette plage puis tapez le nom (sans espace ni caractères accentués) dans la zone de nom, placée en haut à gauche, juste au-dessus de la colonne A. Validez par Entrée.

02. Cherchez une valeur précise

Commençons avec un tableau à une entrée tel que le tarif de produits présenté ci-contre. Le but est d’obtenir en B11 le prix de l’article cité en B9.Commencez par donner le nom Stock au champ A2:B7 (sur fond vert). En A9, tapez le nom d’un des articles de la base.

03. Déterminez le rang de l’article

Pour simplifier, nous décomposerons le problème en deux étapes, que vous réunirez en une seule (comme nous le faisons à l’étape 06 ci-dessous) quand vous aurez l’habitude d’utiliser les fonctions EQUIV et INDEX. La première étape est de déterminer, dans la cellule B10, quel est le numéro de cet article, autrement dit quel rang il occupe dans la colonne de produits A2:A7. Saisissez en B10 la formule =EQUIV(B9;A2:A7;0). Le premier argument, B9, est la valeur que vous cherchez. Le second, ici A2:A7, représente le champ de recherche. Enfin, le troisième argument, ici 0, indique le type de recherche. Si votre liste d’articles est triée par ordre alphabétique, vous pouvez omettre cet argument (ou lui attribuer 1, sa valeur par défaut) : la recherche sera alors légèrement accélérée (la différence n’est sensible que pour les listes de plusieurs milliers d’articles). Mais si, au contraire, la liste est dans un ordre quelconque, ce qui est le cas ici et dans la plupart des tableaux usuels, vous devez spécifier 0 comme troisième argument de la fonction EQUIV.

04. Cherchez dans le tableau

Dans la cellule devant recevoir le tarif cherché, saisissez maintenant la formule =INDEX(stock;B10;2). La fonction INDEX utilise trois arguments : le tableau où se fait la recherche, le numéro de ligne (nous l’avons calculé à l’étape précédente) et le numéro de colonne (2). Le tableau apparaît maintenant tel qu’il figure à l’étape 02.

05. Signalez les erreurs

Vous avez sans doute remarqué : si vous tapez un article inexistant en B9, le symbole #N/A (non accessible) s’affiche dans les deux formules de calcul. Pas très parlant! Voici comment être plus clair : dans la cellule C9, saisissez la formule =SI(ESTNA(B10);”Cet article n’existe pas!”;””). Attention, les deux derniers guillemets sont collés. Si vous tapez en B9 un nom de produit inconnu, un message s’affichera en C9. Dans le cas contraire, C9 n’affichera rien.

06. Cas d’un tableau à double entrée

Passons à la vitesse supérieure. À partir du tableau représentant le tarif de location journalière de plusieurs salles pendant quatre mois, vous cherchez à obtenir le prix d’une salle précise pour un mois donné. Commencez par donner le nom Tarif au champ B3:E9 (en bleu), le nom Salles au champ A3:A9 et le nom Mois au champ B2:E2. Inscrivez un nom de salle en B11 et un mois en D11. La formule en E11 est la suivante : =INDEX (Tarifs;EQUIV(B11; Salles;0);EQUIV(D 11;Mois;0)).

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Étienne Oehmichen