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)).
Votre opinion