fonctions de recherche -...
TRANSCRIPT
Les fonctions de recherche
=index() =choisir() =recherchev()
=index()
Cette fonction permet la recherche dans un tableau en fonction de ses coordonnées
(Numéros de ligne et de colonne).
Deux possibilités de recherche:
Forme matrice: utilisée si la recherche s'effectue sur une seule zone.
Syntaxe: =index(zone de recherche;numéro de ligne;numéro de colonne)
Excel effectuera la recherche dans la zone de recherche indiquée, à l'intersection des
numéros de ligne et de colonne spécifiés.
Dans l'exemple ci-dessous, la formule est la suivante:
=INDEX(A2:C31;I3;I5)
Dans la matrice (zone) A2:C12, on cherchera la cellule à l'intersection des valeurs saisies
dans les cellules I3 pour la ligne et I5 pour la colonne.
La zone sélectionnée (entourée en orange) va de A2 à C12. La fonction affiche "Durand", car
il s'agit du contenu de la cellule se trouvant à l'intersection de la ligne 1 et de la colonne 1 de
cette zone.
Forme référence: la recherche peut s'effectuer sur plusieurs zones (même non
adjacentes).
Syntaxe: =index(référence;numéro de ligne;numéro de colonne)
Excel effectuera la recherche dans la zone de référence indiquée, à l'intersection des
numéros de ligne et de colonne spécifiés.
Exemple avec une seule zone
La formule est la suivante:
=INDEX(A2:C12;F3;F5;1)
Dans la zone s'étendant de A2 à C12 (Cadre orange), la fonction recherchera la cellule se
trouvant à l'intersection de la ligne désignée en F3 et de la colonne indiquée en F5.
Comme une seule zone a été définie, on indique 1 en fin de formule.
"Place de la Mairie" est le contenu de la cellule se trouvant à l'intersection de la ligne 4 et
de la colonne 3.
Exemple avec deux zones
Le tableau est découpé en deux zones:
- Zone 1: de la cellule A2 à la cellule C6
- Zone 2: de la cellule A7 à la cellule C12
Les numéros de ligne et de colonne seront saisis respectivement en I3 et I5. Le numéro de
sone sera choisi en I7.
Il est possible d'imposer dans la formule le numéro de zone souhaitée (1 ou 2 en fin de
formule)
La formule sera la suivante:
=INDEX((A2:C6;A7:C12);I3;I5;I7)
A2:C6 => plage de cellules de la zone 1
A7:C12 => plage de cellules de la zone 2
I3: cellule de saisie du numéro de ligne
I5: cellule de saisie du numéro de colonne
I7: cellule de saisie du numéro de zone
Premier cas:
"Place de la Mairie" est le contenu de la cellule se trouvant à l'intersection de la ligne 4 et
de la colonne 3 de la zone 1
Second cas:
"Boulevard Malesherbes" est le contenu de la cellule se trouvant à l'intersection de la ligne 4
et de la colonne 3 de la deuxième zone.
=choisir()
Cette fonction choisit une valeur ou une action à réaliser dans une liste, en fonction d'un
numéro d'index.
Syntaxe: =choisir(valeur de l'index;valeur ou action qui s'appliquera en fonction de la
valeur de l'index)
Exemple: Dans une base de données, il faut saisir des noms de rues. Afin d'automatiser
cette saisie, nous avons créé (cadre rouge) une liste avec toutes les rues, numérotées de 1 à
5, de G2 à G6.
Dans la cellule C2, nous saisissons la formule.
=CHOISIR(D2;G2;G3;G4;G5;G6)
D2: cellule dans laquelle sera saisie la valeur de l'index.
G2 à G6: valeurs qui seront appliquées selon la valeur de D2.
Le nombre de valeurs va de 1 à 254.
Lorsque nous allons recopier cette formule vers le bas, l'adresse des cellules contenant les
valeurs va se modifier. >>> G2 va devenir G3, puis G4... Pour éviter les erreurs que cela va
engendrer, il faut transformer ces adresses en adresse absolues avec le symbole "$"
La nouvelle formule sera:
=CHOISIR(D2;$G$2;$G$3;$G$4;$G$5;$G$6)
Pour éviter dans les cellules vides le message "#VALEUR!", nous allons placer une condition:
=SI(D2>0;CHOISIR(D2;$G$2;$G$3;$G$4;$G$5;$G$6);"")
Explication: si la cellule D2 n'est pas vide, alors on va appliquer le fonction "Choisir", sinon la
cellule du résultat (C2) restera vide.
=recherchev()
Cette fonction permet de chercher une valeur dans la première colonne d'une matrice et de
renvoyer, quand elle aura trouvé la valeur, le contenu d'une autre colonne.
Syntaxe: =recherchev(valeur cherchée;table matrice;;numéro d'index de la
colonne;valeur proche)
Exemple: afin d'automatiser le remplissage d'une facture, nous allons faire en sorte
qu'après avoir saisi la référence d'un article, son nom et son prix unitaire seront
automatiquement ajoutés à la facture.
La liste des articles a été établie sur une feuille séparée nommée "Tarifs".
Valeur cherchée: ce sera la référence de l'article, donc celle qui sera saisie en A6.
Table matrice: dans la feuille "Tarifs", elle englobe les colonnes "Code article" et
"Désignation".
Numéro d'index de la colonne: Dans la "Table matrice", la valeur cherchée se trouve dans
la colonne "Désignation", c'est à dire la colonne 2.
Valeur proche: valeur que retournera la fonction si elle ne trouve pas de correspondance
exacte.
La valeur "1" retournera la valeur la plus proche. "0" ne renverra rien.
Syntaxe de la formule: =RECHERCHEV(Facture!A6;Tarifs!A2:B9;2)
Valeur_cherchée >>Facture!A8: cellule dans laquelle se trouve la référence qu'il va falloir
utiliser.
Table_matrice >> Tarifs!A2:B9: zone de la feuille "Tarifs" dans laquelle se rouve la valeur
cherchée.
No_index_col >> 2: la valeur à afficher se trouvve dans la colonne numéro 2 (Désignation).
Valeur proche: valeur que retournera la fonction si elle ne trouve pas de correspondance
exacte.
La valeur "1" retournera la valeur la plus proche. "0" ne renverra rien.
Pour éviter l'affichage de "#N/A", lorsque la colonne "Code article" est vide, il est possible
de rajouter une condition.
=SI(A6<>"";RECHERCHEV(Facture!A6;Tarifs!A2:B9;2);"")
Avec ces fonctions, les plages de cellules indiquées dans les matrices peuvent être
remplacées par des noms de zones.