Excel - Power Query - Power Pivot - VBA
Share
Explore
Temps 3 | Calculer

icon picker
Fonction de recherche

Les fonctions Excel de recherche de valeur

RECHERCHEV

Permet d’afficher les données extraites d’un tableau dans un autre tableau.
RECHERCHEV(valeur_cherchée;tableau_matrice;no_index_col;[valeur_proche])

Exemple

On veut ici rapatrier la région de chaque commande, en fonction du département du client. On a donc deux tableaux :
Tableau tblCommandes :
image.png
Tableau tblDeptRegion :
image.png
=RECHERCHEV([@Département];tblDeptRegion;3;FAUX)

Seuil et classe (au lieu d'imbriquer des SI) [Video]

Loading…

EQUIV, INDEX

EQUIV(valeur_cherchée,tableau_recherche,[type])
Affiche le numéro de la ligne ou de la colonne qui contient la valeur cherchée. L’argument tableau_recherche doit être haut d’une seule ligne ou large d’une seule colonne.
Composé avec les arguments suivants :
valeur_cherchée : ce test,
tableau_recherche : une ligne ou une colonne
type : 0 = valeur exact, 1 = inférieur et -1 supérieur

Exemple

On recherche le numéro de la ligne contenant le département :
image.png
Le département 35 se trouve sur la ligne 20 du la colonne Région du tableau tblDepartementRegion.
=EQUIV([@Département];tblDepartementRegion[Numéro];0)

INDEX

INDEX(matrice,no_lig,no_col)
Affiche la valeur d’une cellule à l’intersection du numéro de la ligne et de la colonne le numéro de la ligne ou de la colonne d’une matrice.
Composé avec les arguments ainsi suivants :
matrice : le tableau contenant la valeur à afficher (ici tblDepartementRegion)
no_lig : le numéro de la ligne (ici ce numéro est dans la colonne Ligne du tableau.
no_col : le numéro de la colonne (ici la 1ère)

Exemple

On affiche la valeur de la Zone correspondant à la ligne :
image.png
=INDEX(tblDepartementRegion;[@Ligne];1)

RECHERCHEX [M365]

image.png
XLOOKUP (valeur_cherchée, tableau_recherche, tableau_envoyé, [si_non_trouvé], [mode_correspondance], [mode_recherche])
valeur_cherchée : comme avec RECHERCHEV, indiquer la valeur recherchée.
tableau_recherche : la colonne de plage/tableau qui contient l’élément cherché. Peut ne pas être la 1ere colonne, comme c’est le cas avec RECHERCHEV.
tableau_renvoyé : la colonne de plage/tableau qui contient l’élement à retourner. Avec RECHERCHEV, on doit indiquer un numéro de colonne : comme on indique ici une colonne, celle-ci peut être déplacé sans fausser la formule.
si_non_trouvé (facultatif) : indique la valeur à afficher (”pas trouvé” par ex.), quand la valeur cherchée n’est pas trouvé. Sinon affiche #NA. Avec RECHERCHEV, on doit passer par la fonction ESTERREUR ou ESTNA ou .
mode_correspondance (facultatif) : c’est comme l’argument valeur_proche de RECHERCHEV, mais :
1-. est réglé sur “correspondance exacte” par défaut (valeur 0 de l’argument ou vide)
2-. peut être réglé sur “valeur inférieure” (-1) ou “valeur supérieure” (1), comme dans EQUIV (RECHERCHEV ne permet que des exactes ou valeurs supérieures)
3-. peut utiliser des (2).
mode_recherche (facultatif) : inexistant dans RECHERCHEV, indique si la recherche doit se faire en partant du haut (1, par défaut) ou du bas (-1).

Données exemples

Voici le tableau tblProduit utilisé pour les exemples suivants :
image.png

Exemple 1

Nous voulons le nom du produit correspondant au code produit 965. Réponse : BenQ GW2480
=RECHERCHEX(745;tblProduit[Code produit];tblProduit[Nom produit])

Exemple 2

Nous voulons le nom du produit correspondant au code produit “999” et afficher “Pas trouvé” si le code n’est pas trouvé. Réponse : Pas trouvé
=RECHERCHEX(999;tblProduit[Code produit];tblProduit[Nom produit];"Pas trouvé")

Exemple 3

Nous voulons le code du produit commençant par “AOC”. Réponse : 710
=RECHERCHEX("AOC*";tblProduit[Nom produit];tblProduit[Code produit];"Pas trouvé";2)

Exemple 4

Nous voulons le code du produit commençant par “AOC” en partant du bas de la liste. Réponse : 720
=RECHERCHEX("AOC*";tblProduit[Nom produit];tblProduit[Code produit];"Pas trouvé";2;-1)

Share
 
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.