Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Présentation de la fonction RechercheX
Depuis l'avènement d'
Office 365 en 2019, quelques puissantes et précieuses
fonctions ont vu le jour. Elles sont
matricielles pour la plupart. Dans cette nouvelle série, nous proposons de concentrer l'étude sur les prouesses permises par la
fonction RechercheX. Elle dépasse largement la très connue
RechercheV. Elle est capable de chercher à gauche comme à droite. De plus, elle est capable de livrer non pas un résultat, mais un tableau de résultats sur les concordances observées, à partir de critères recoupés ou non. En ce sens, elle remplace allègrement l'imbrication des
fonctions Index et Equiv. Mais ce n'est pas tout. Elle va encore plus loin et c'est ce que nous allons découvrir dans cette fabuleuse suite.
Cette fonction peut accepter six paramètres, mais seuls les trois premiers sont obligatoires :
RechercheX(Valeur_cherchée; Tableau_de_recherche; Tableau_à _retourner; [Si_non_trouvé]; [Mode_de_correspondance]; [Mode_de_recherche])
Tous ces arguments, au travers de nos péripéties, nous aurons largement l'occasion de les exploiter, de les apprendre et de les comprendre. Si vous vous attardez sur les trois premiers, vous comprenez qu'il est question de retourner un résultat en fonction d'une valeur cherchée dans un tableau. Un résultat seulement ? Et non justement, pas forcément ! Comme l'indique la désignation du troisième paramètre (Tableau_à _retourner), cette
fonction matricielle peut répondre par un éventail de résultats correspondant à la valeur cherchée, définie en premier argument.
Classeur Excel à télécharger
Pour découvrir cette
fonction RechercheX de la plus simple des manières, nous suggérons d'appuyer les travaux sur un
classeur Excel dédié.
Un tableau des salariés d'une multinationale se dresse de la colonne B à F sur la feuille de ce classeur.
Si vous déployez la
zone Nom en haut à gauche de la
feuille Excel, vous constatez que chaque colonne de ce tableau est nommée selon son intitulé d'entête. Nous exploiterons ces noms dans les formules.
Extraire une information
Certes, nous débutons en douceur l'apprentissage de la
fonction RechercheX. Dans ce premier volet, nous n'allons rien découvrir de phénoménal. L'idée est de s'acclimater dans un premier temps. Mais au fil de nos pérégrinations, nous allons vite comprendre que les possibilités offertes sont quasiment sans limites. Sur la droite du tableau, vous notez la présence de deux zones d'extractions. En cellules respectives
I3 et
I8, deux listes déroulantes se suggèrent. La première permet de choisir un nom de salarié. La seconde permet de définir un pays. En fonction de ces choix respectifs, un précieux calcul exploitant la
fonction RechercheX doit livrer dans un premier temps, le prénom, le salaire et le pays de la personne. Dans un second temps, elle doit livrer le nom, le prénom et le salaire de la personne de ce pays. Rien de matriciel ici me direz-vous. Certes, un seul résultat est attendu par recherche. Mais encore une fois, c'est un début. De plus, constatez-le, l'élément de recherche n'est jamais placé en première colonne du tableau, ce qu'imposerait la
fonction RechercheV.
- Cliquer sur la cellule du prénom à trouver en fonction du nom en cliquant sur I4,
- Taper le symbole égal (=) pour initier la syntaxe de la formule matricielle,
- Inscrire la fonction de recherches multiples suivie d'une parenthèse, soit : RECHERCHEX(,
- Désigner l'élément cherché en cliquant sur sa cellule I3,
- Taper un point-virgule (;) pour passer dans l'argument du tableau de recherche,
- Désigner la colonne des noms par son intitulé, soit : Nom,
- Taper un point-virgule (;) pour passer dans l'argument du tableau de retour,
Nous l'avons annoncé, ici ce n'est pas un tableau de valeurs que nous attendons en retour, mais un résultat dans la plage à définir, en l'occurrence celle des prénoms.
- Désigner la colonne des prénoms par son intitulé, soit : Prenom,
- Fermer la parenthèse de la fonction RechercheX,
- Puis, valider la formule par la touche Entrée du clavier,
Nous obtenons bien le prénom du nom choisi. Encore une fois, jusque-là il n'y a rien d'extraordinaire. Les
fonctions Index et
Equiv auraient pu livrer le résultat. Mais tout de même il faut le reconnaitre, la syntaxe proposée par la
fonction RechercheX est très épurée :
=RECHERCHEX(I3;Nom;Prenom). Cependant, elle est très contraignante dans ce contexte. Rien ne peut être reproduit. Pour obtenir le salaire et le pays, il faut reconstruire deux formules :
=RECHERCHEX(I3; Nom; Salaire),
=RECHERCHEX(I3; Nom; Pays).
La remarque est identique pour rapatrier les informations attachées au pays choisi :
=RECHERCHEX(I8;Pays;Nom),
=RECHERCHEX(I8;Pays;Prenom),
=RECHERCHEX(I8;Pays;Salaire). Cependant, dans ce second cas, il est déjà intéressant de constater que la recherche n'est plus organisée de la gauche vers la droite, mais de la droite vers la gauche. C'est déjà un premier pas.
Recherche répliquée
Comme la philosophie d'Excel l'impose, un travail ne doit jamais être refait, il doit être répliqué. Les étiquettes des éléments à retourner désignent déjà les noms des plages à fournir en retour, en troisième argument de la
fonction RechercheX. Il en va de même pour l'étiquette de l'élément cherché, désignant le
tableau de recherche. Mais comme vous le savez, pour que ces textes soient considérés comme des
plages de cellules, ils doivent être interprétés grâce à la
fonction Excel Indirect.
- Cliquer de nouveau sur la cellule I4 pour la sélectionner,
- Taper le symbole égal (=) pour initier la syntaxe de la nouvelle formule,
De cette manière, en même temps que nous débutons le nouveau calcul, nous détruisons le précédent.
- Inscrire le nom de la nouvelle fonction d'extraction suivie d'une parenthèse, soit : RechercheX(,
- Désigner le nom cherché en cliquant sur sa cellule I3,
- Puis, enfoncer la touche F4 du clavier pour la figer, ce qui donne : $I$3,
En effet, l'objectif dorénavant est de produire une seule formule à répliquer sur les cellules du dessous. Ce nom restera l'élément à chercher pour livrer ses dépendances. Cette cellule ne doit donc pas suivre le mouvement lorsque nous répliquerons la formule sur les cellules des lignes suivantes.
- Taper un point-virgule (;) pour passer dans l'argument du tableau de recherche,
Ce tableau de recherche est désigné par l'intitulé porté par la
cellule H3. Mais comme nous l'avons annoncé, pour qu'il soit considéré comme une plage, nous devons l'interpréter.
- Inscrire la fonction d'interprétation suivie d'une parenthèse, soit : Indirect(,
- Désigner la colonne de recherche des noms en cliquant sur la cellule H3,
- Pour les mêmes raisons que précédemment, enfoncer la touche F4, ce qui donne : $H$3,
- Puis, fermer la parenthèse de la fonction Indirect,
- Dès lors, taper un point-virgule (;) pour passer dans l'argument du tableau de retour,
- Inscrire de nouveau la fonction d'interprétation suivie d'une parenthèse, soit : Indirect(,
- Désigner la colonne de l'élément à fournir en retour en cliquant sur la cellule H4,
Cette fois, il n'est point question de figer cette dernière. En effet, lorsque nous allons répliquer la formule sur les lignes du dessous, nous allons devoir pointer sur les autres colonnes à interpréter par leurs intitulés respectifs.
- Fermer la parenthèse de la fonction Indirect,
- Puis, fermer la parenthèse de la fonction RechercheX,
- Dès lors, valider la formule par le raccourci clavier CTRL + Entrée,
C'est ainsi que nous gardons active la cellule du résultat. Comme vous pouvez le voir, c'est bien le prénom correspondant au nom demandé qui est extrait.
Mais cette fois et contrairement à précédemment, si vous double cliquez sur la poignée du résultat, grâce à la
fonction Excel Indirect, interprétant les intitulés comme des plages, vous obtenez automatiquement les autres informations attachées à la recherche, comme le salaire et le Pays. Il convient cependant d'exploiter la
balise active qui se déclenche en bas à droite du calcul, pour choisir de reproduire la logique sans la mise en forme et ainsi conserver le format Euro pour le salaire.
Dès lors, c'est exactement la même formule qui doit être adaptée sur les références dans la zone d'extraction du dessous, pour rapatrier les données attachées au pays choisi :
=RECHERCHEX($I$8; INDIRECT($H$8); INDIRECT(H9))