INDEX et EQUIV sur plusieurs colonnes
Pour rechercher une valeur en effectuant une correspondance sur plusieurs colonnes, une formule matricielle reposant sur les fonctions INDEX et EQUIV, combinée aux fonctions PRODUITMAT, TRANSPOSE et COLONNE, vous sera particulièrement utile.

Comment rechercher une valeur en effectuant une correspondance sur plusieurs colonnes ?
Pour remplir la classe correspondante de chaque élève, comme indiqué dans le tableau ci-dessus, où les informations sont réparties sur plusieurs colonnes, commencez par utiliser une combinaison astucieuse des fonctions PRODUITMAT, TRANSPOSE et COLONNE afin de générer un tableau matriciel. La fonction EQUIV vous indiquera ensuite la position de la valeur recherchée, que vous transmettrez à la fonction INDEX pour récupérer la valeur souhaitée dans le tableau.
Syntaxe générique
=INDEX()return_range,(MATCH(1,MMULT(--())))lookup_array=lookup_value),TRANSPOSE(COLUMN()lookup_array)^0)),0)))
√ Remarque : Il s’agit d’une formule matricielle qui doit être validée en appuyant sur Ctrl+Maj+Entrée.
- plage_de_retour : La plage à partir de laquelle vous souhaitez que la formule renvoie les informations sur la classe. Il s’agit ici de la plage contenant les classes.
- valeur_recherchée : La valeur utilisée par la formule pour trouver les informations correspondantes dans la classe. Il s’agit ici du prénom donné.
- plage_recherche : La plage de cellules dans laquelle la valeur_recherchée est répertoriée ; il s’agit de la plage contenant les valeurs à comparer avec la valeur_recherchée. Ici, c’est la plage des noms.
- type_correspondance 0 : Force la fonction EQUIV à rechercher la première valeur strictement égale à la valeur_recherchée.
Pour trouver la classe de Jimmy, copiez ou saisissez la formule ci-dessous dans la cellule H5, puis appuyez sur Ctrl+Maj+Entréepour obtenir le résultat :
=INDEX()$B$5:$B$7,(EQUIV(1,PRODUITMAT(--())))$C$5:$E$7=G5),TRANSPOSE(COLONNE()$C$5:$E$7)^0)),0)))
√ Remarque : Les signes dollar ($) ci-dessus indiquent des références absolues, ce qui signifie que les plages de noms et de classes dans la formule ne changeront pas lorsque vous déplacerez ou copierez la formule vers d’autres cellules. Notez que vous ne devez pas ajouter de signes dollar à la référence de cellule représentant la valeur recherchée, car vous souhaitez qu’elle reste relative lorsque vous la copiez vers d’autres cellules. Après avoir saisi la formule, faites glisser la poignée de recopie vers le bas pour l’appliquer aux cellules situées en dessous.

Explication de la formule
=INDEX()$B$5:$B$7,(MATCH(1,))MMULT()--($C$5:$E$7=G5),TRANSPOSE()COLUMN($C$5:$E$7)^0)),0)))
- --($C$5:$E$7=G5):Ce segment compare chaque valeur de la plage $C$5:$E$7 à celle de la cellule G5 et renvoie un tableau de VRAI et FAUX comme suit :
{VRAI;FAUX;FAUX\FAUX;FAUX;FAUX\FAUX;FAUX;FAUX}.
Les doubles signes moins transforment ensuite ces valeurs VRAI/FAUX en 1 et 0, ce qui donne un tableau tel que :
{1,0,0;0,0,0;0,0,0}. - COLONNE($C$5:$E$7):La fonction COLONNE renvoie les numéros de colonne de la plage $C$5:$E$7 sous forme d’un tableau comme suit : {3,4,5}.
- TRANSPOSE()COLONNE($C$5:$E$7)^0)=TRANSPOSE(){3,4,5}^0):Après avoir élevé chaque élément du tableau {3,4,5} à la puissance 0, tous les nombres deviennent 1, ce qui donne {1,1,1}. La fonction TRANSPOSE transforme ensuite ce tableau-ligne en tableau-colonne comme suit :{1;1;1}.
- PRODUITMAT()--($C$5:$E$7=G5),TRANSPOSE()COLONNE($C$5:$E$7)^0))=PRODUITMAT(){1,0,0;0,0,0;0,0,0},{1;1;1}):La fonction PRODUITMAT renvoie le produit matriciel des deux tableaux suivants : {1;0;0}.
- EQUIV(1,)PRODUITMAT()--($C$5:$E$7=G5),TRANSPOSE()COLONNE($C$5:$E$7)^0)),0)=EQUIV(1,){1;0;0},0): Le type_correspondance 0 oblige la fonction EQUIV à renvoyer la position de la première occurrence de 1 dans le tableau {1;0;0}, soit 1.
- INDEX()$B$5:$B$7,(EQUIV(1,))PRODUITMAT()--($C$5:$E$7=G5),TRANSPOSE()COLONNE($C$5:$E$7)^0)),0))) = INDEX($B$5:$B$7La fonction INDEX renvoie la 1re valeur de la plage des classes $B$5:$B$7, soit A.
Pour rechercher facilement une valeur en effectuant une correspondance sur plusieurs colonnes, vous pouvez également utiliser notre complément professionnel pour Excel Kutools pour Excel.Consultez ici les instructions pour accomplir cette tâche.
Fonctions associées
La fonction INDEX d’Excel renvoie la Valeur affichée à partir d’une position donnée dans une plage ou un tableau.
La fonction EQUIV d’Excel recherche une valeur précise dans une plage de cellules et renvoie sa position relative.
La fonction PRODUITMAT d’Excel calcule le produit matriciel de deux tableaux, renvoyant un tableau contenant autant de lignes que le premier et autant de colonnes que le second.
La fonction TRANSPOSE d’Excel permet de modifier l’orientation d’une plage ou d’un tableau : elle transforme, par exemple, un tableau disposé horizontalement en lignes en un tableau vertical en colonnes, et inversement.
La fonction COLONNE renvoie le numéro de la colonne où se trouve la formule ou celui d’une référence spécifiée. Par exemple, la formule =COLONNE(BD) renvoie 56.
Formules associées
Recherche multicritères avec INDEX et EQUIV
Lorsque vous travaillez avec une vaste base de données dans une feuille Excel comportant de nombreuses colonnes et des libellés de ligne, il peut être difficile de repérer une entrée répondant à plusieurs critères. Dans ce cas, optez pour une formule matricielle combinant les fonctions INDEX et EQUIV.
Recherche bidimensionnelle avec INDEX et EQUIV
Pour rechercher une valeur à l’intersection d’une ligne et d’une colonne précises dans Excel, combinez les fonctions INDEX et EQUIV.
Recherche de la valeur la plus proche selon plusieurs critères
Dans certains cas, vous devez rechercher la valeur la plus proche ou approximative selon plusieurs critères. En combinant les fonctions INDEX, EQUIV et SI, vous obtenez ce résultat rapidement dans Excel.
Les meilleurs outils de productivité Office
Kutools pour Excel – Vous permet de vous démarquer de la foule
Kutools pour Excel propose plus de 300 fonctionnalités,garantissant que ce dont vous avez besoin est toujours à portée de clic...
Office Tab – Active la lecture et l’édition par onglets dans Microsoft Office (y compris Excel)
- Passez d’un document à l’autre en une seconde, même avec des dizaines de documents ouverts !
- Réduisez de centaines vos clics de souris chaque jour et dites adieu au syndrome de la main de la souris.
- Augmentez votre productivité de 50 % en consultant et en modifiant simultanément plusieurs documents.
- Apporte à Office (y compris Excel) une efficacité comparable à celle des navigateurs tels que Chrome, Edge et Firefox.