Vous êtes sur la page 1sur 9

10

Fonctions de Recherche

Certaines donnes sont structures dans des listes ou tables. Au lieu de les saisir ou de les copier/coller sans cesse, il est intressant de les rapatrier dans les tableaux rsultats qui doivent les utiliser. Les fonction de recherche telles que RECHERCHEV et INDEX constituent de puissants outils de reprage de valeurs dans des listes et des tables.

1.

La fonction RECHERCHEV

La fonction RECHERCHEV permet de rcuprer des donnes partir dune plage de cellules (matrice ou table). Elle cherche une valeur donne dans la premire colonne de la matrice, puis renvoie la valeur contenue dans la cellule situe sur la mme ligne et dans la colonne que vous spciez dans la matrice. Syntaxe : =RECHERCHEV(valeur_cherche ; table_matrice ; no_index_col ; [valeur_proche]) valeur_cherche : la valeur chercher dans la premire colonne de la matrice, elle peut tre une valeur ou une rfrence. table_matrice no_index_col valeur_proche : la plage de donnes dans laquelle est excute la recherche de la valeur. Utilisez une rfrence une plage ou un nom de plage. : est le numro de la colonne de la matrice dont la valeur correspondante doit tre renvoye. : reprsente une valeur logique VRAI/FAUX indiquant si vous souhaitez que la fonction RECHERCHEV recherche une valeur exacte ou voisine de celle que vous avez spcie.

Si valeur_proche est VRAI ou omis, la fonction RECHERCHEV renvoie une donne exacte si elle est trouve, ou la valeur immdiatement infrieure. Dans ce cas, les valeurs de la premire

c FSJES-Agadir 2013 Tableurs Semestre 3

10 Fonctions de Recherche

91

colonne de table_matrice doivent tre classes en ordre croissant ; sans cela, la valeur renvoye ne sera pas forcment la bonne. Si valeur_proche est FAUX, il nest pas indispensable que les valeurs de la premire colonne de table_matrice soient tries. Dans ce cas, la fonction RECHERCHEV renvoie exactement la valeur recherche. Si aucune valeur ne correspond, la valeur derreur #N/A est renvoye. Application : On veut ici partir de la moyenne obtenue par chaque tudiant indiquer automatiquement sa mention en fonction du barme suivant : Intervalle [0, 10[ [10, 12[ [12, 14[ [14, 16[ [16, +[ Description De 0 compris 10 non compris De 10 compris 12 non compris De 12 compris 14 non compris De 14 compris 16 non compris De 14 compris 16 non compris Echec Passable Assez Bien Bien Trs Bien Mention

Pour cela vous disposer de deux tableaux lun pour les rsultats des tudiants et lautre pour le barme des mentions, voir la feuille de calcul suivante :

La premire colonne du tableau relatif au barme mentionne uniquement la borne infrieure de lintervalle correspondant la mention. La borne suprieure est implicitement gale la borne infrieure de lintervalle suivant. Mise en place des formules : La liste de barme des mentions sans les en-ttes de colonnes, sera nomme Mention. Nommez la plage de cellules F4:G8 par Mention. Cette plage (table) reprsentera le deuxime argument (matrice) de RECHERCHEV.
c FSJES-Agadir 2013 Tableurs Semestre 3

10 Fonctions de Recherche

92

Slectionnez la cellule D3. Cest celle qui va contenir la mention en fonction de la moyenne de ltudiant. Si vous prfrez lassistant. Cliquez sur licne , puis slectionnez la catgorie Recherche & Matrices, slectionnez ensuite RECHERCHEV. Appuyez sur [OK] pour valider Renseignez les champs de la boite qui souvre :

La zone de saisie Synvaleur_proche peut contenir la valeur VRAI ou 0 ou tout simplement rester vide. Cliquez sur OK. Copiez la formule vers le bas. La cellule D3 doit donc contenir la formule suivante : =RECHERCHEV(C3 ; Mention ; 2) Application : Imaginez que vous grez un magasin de matriels informatique et que vous souhaitez tablir une facturation darticles. An de mette en uvre la fonction RECHERCHEV, il faut crer au pralable une liste (matrice) permettant de regrouper les donnes que vous allez devoir rcuprer par la suite lors de la recherche. La liste sans les en-ttes de colonnes, sera nomme Articles.

Nous allons crer un modle de facture et y ajouter des formules an dobtenir une saisie automatique des dsignations, des prix, des remises, aprs simple saisie du code de larticle concerne.
c FSJES-Agadir 2013 Tableurs Semestre 3

10 Fonctions de Recherche

93

Mise en place des formules : Les deux tableaux (liste des articles et le modle de la facture) se trouvent dans deux feuilles de calcul diffrentes. Slectionnez la feuille contenant la liste des articles, puis nommer la plage de cellules B3:E8 par Articles. Cette plage (table) reprsentera le deuxime argument (matrice) de RECHERCHEV. Slectionnez la feuille de calcul content le modle de la facture que nous avons cr. Slectionnez la cellule C4. Cest celle qui va contenir la dsignation en fonction du code de larticle. Indiquez que vous allez effectuer une recherche exacte en positionnant le paramtre 0 ou Faux en quatrime argument. Tapez alors la formule =RECHERCHEV(B4 ; Articles ; 2 ; Faux) Slectionnez la cellule E4. Cest celle qui va contenir le prix HT (unitaire) en fonction du code de larticle. Tapez la formule =RECHERCHEV(B4 ; Articles ; 3 ; Faux) Slectionnez la cellule F4. Cest celle qui va contenir la remise (unitaire) en fonction du code de larticle. Tapez la formule =E4*RECHERCHEV(B4 ; Articles ; 4 ; 0) Nommer la plage la celluleDA par TxTVA. Cette cellule reprsente le taux de TVA. Tapez les formules suivantes respectivment dans G, H, I : =D4*(E4-F4), =G4*TxTVA, =G4+H4

Copiez toutes les formules que vous venez de crer vers le bas. Ne pas confondre le numro de colonne dans une liste avec le numro de colonne de la feuille de calcul qui contient cette liste. Par exemple, le prix HT se trouve dans la colonne numro 3 par rapport la liste Articles, mais cest la colonne numro 4 (colonne D) par rapport la feuille de calcul.
c FSJES-Agadir 2013 Tableurs Semestre 3

10 Fonctions de Recherche

94

2.

La fonction RECHERCHEH

La fonction RECHERCHEH cherche une valeur donne dans la premire ligne dune matrice, puis renvoie la valeur contenue dans la cellule situe sur la mme colonne et dans la ligne que vous spciez dans la matrice. Cette fonction fonctionne exactement comme La fonction RECHERCHEV. Syntaxe : =RECHERCHEH(valeur_cherche ; table_matrice ; no_index_lig ; [valeur_proche]) Application : Reprenons lexemple de la gestion dun magasin de matriels informatique sauf que la liste des Articles est structur en lignes. An de mette en uvre la fonction RECHERCHEH, il faut crer au pralable une liste (matrice structure en lignes) permettant de regrouper les donnes que vous allez devoir rcuprer par la suite lors de la recherche. La liste sans les en-ttes de lignes, sera nomme Articles2.

Nous allons rutiliser le modle de facture prcdent et adapter ses formules.

Mise en place des formules : Les deux tableaux (liste des articles et le modle de la facture) se trouvent dans deux feuilles de calcul diffrentes. Slectionnez la feuille contenant la liste des articles, puis nommer la plage de cellules C2:H5 par Articles2.
c FSJES-Agadir 2013 Tableurs Semestre 3

10 Fonctions de Recherche Slectionnez la feuille de calcul contenant le modle de la facture. Dans C4, modiez la formule comme suit =RECHERCHEH(B4 ; Articles2 ; 2 ; Faux) Dans E4, modiez la formule comme suit =RECHERCHEH(B4 ; Articles2 ; 3 ; Faux) Dans F4, modiez la formule comme suit =E4*RECHERCHEH(B4 ; Articles2 ; 4 ; 0) Les formules dans G, H, I restent les mmes. Copiez toutes les formules vers le bas.

95

3.

La fonction INDEX

La fonction INDEX permet la recherche dune valeur dans un tableau (matrice) en fonction de ses coordonnes. =INDEX(tableau ; no_lig ; no_col) tableau : la plage de cellules dans laquelle la fonction effectuera la recherche. no_lig : Numro de la ligne du tableau partir de laquelle une valeur doit tre renvoye. no_col : Numro de la colonne du tableau partir de laquelle une valeur doit tre renvoye.

Application : Rcuprez des donnes laide de ses coordonnes

Mise en place des formules : Tapez, dans la cellule H6, la formule =INDEX(Articles ; H4 ; H5) o Articles est le nom donn la plage B3:E8.
c FSJES-Agadir 2013 Tableurs Semestre 3

10 Fonctions de Recherche

96

4.

La fonction EQUIV

La fonction EQUIV recherche la position dune valeur dans une matrice. Utilisez la fonction EQUIV plutt quune des fonctions RECHERCHE lorsque vous avez besoin de la position dun lment dans une plage et non de llment en tant que tel. Syntaxe =EQUIV(valeur_cherche ; matrice_recherche ; type) valeur_cherche : la valeur dont vous souhaitez obtenir la position.

matrice_recherche : la plage de cellules dans laquelle la fonction recherchera la position de valeur_cherche. type : entrez 0 pour trouver la valeur exacte, 1 pour la valeur la plus leve qui est infrieure ou gale valeur_cherche, -1 pour la plus petite valeur qui est suprieure ou gale valeur_cherche.

Application : Recherchez la position dun article saisie dans la cellule H4

Mise en place des formules : Tapez, dans la cellule H5, la formule =EQUIV(H4 ; C3:C8 ; 0) Il est essentiel de toujours prciser le dernier paramtre de EQUIV et de le mettre 0. Il nest pas ncessaire de trier le tableau dans ce cas et cest un des gros avantage de lutilisation du couple INDEX et EQUIV pour extraire des donnes dun tableau.

c FSJES-Agadir 2013 Tableurs Semestre 3

10 Fonctions de Recherche

97

5.

Composition INDEX & EQUIV

La fonction RECHERCHEV comme vous le constatez ces limites : la recherche doit seffectuer obligatoirement dans la premire colonne. Pour palier ceci vous pouvez alors combiner les fonctions INDEX et EQUIV. La fonction EQUIV va vous donner la position dune valeur dans une colonne ou une ligne. Autrement, elle vous donne le numro de ligne no_lig ou le numro de colonne no_col de la valeur La fonction INDEX renvoie une donne dune matrice partir de ses coordonnes dans la matrice. Chaque coordonne peut tre le rsultat dune fonction EQUIV. Application : Recherchez le prix en fonction de larticle ou larticle en fonction de son prix.

Mise en place des formules : Pour amliorer la lisibilit des formules crer, nous avons donn la plage B3:E8 le nom Articles. Si vous voulez savoir quel est le prix de larticle saisie dans la cellule H3, tapez la formule =INDEX(Articles;EQUIV(H3;C3:C8;0);3) dans la cellule H4, par exemple. Si vous voulez savoir quel est le produit vendu au prix saisie dans la cellule H7, tapez la formule =INDEX(Articles;EQUIV(H7;D3:D8;0);2) dans la cellule H8, par exemple.

c FSJES-Agadir 2013 Tableurs Semestre 3

10 Fonctions de Recherche

98

Sil existe plusieurs produits ayant le mme prix, la combinaison INDEX&EQUIV ne vous donnera que le premier produit tout comme la fonction RECHERCHEV. Dans cet exemple, nous avons utilis la syntaxe suivante (une alternative RECHERCHEV) : =INDEX(tableau ; EQUIV(valeur_cherche ; colonne_rech ; 0) ; no_col) Celle-ci est galement utilisable (une alternative RECHERCHEH) : =INDEX(tableau ; no_lig ; EQUIV(valeur_cherche ; ligne_rech ; 0)) Dans ce cas, le rsultat renvoy par la fonction EQUIV sera le numro de colonne no_col au lieu du numro de ligne no_lig. Application : Recherche croise Excel On recherche le chiffre daffaires ralis par un vendeur donn dans une rgion donne.

Mise en place des formules : Pour amliorer la lisibilit de la formule crer, on cr dans le tableau ci-dessus trois plages nommes : Chiffres : la plage D4:F7, qui correspond aux donnes principales du tableau. Regions : la plage C4:C7, qui correspond aux 4 rgions. Vendeurs: la plage D3:F3, qui correspond aux 3 vendeurs. La formule mettre dans la cellule I6 est : =INDEX(Chiffres ; EQUIV(I4 ; regions ; 0) ; EQUIV(I3 ; vendeurs ; 0))

c FSJES-Agadir 2013 Tableurs Semestre 3