INDEX EQUIV vs RECHERCHEV : lorsque la recherche porte sur plusieurs colonnes
Par Pierre Fauconnier

Le , par Pierre Fauconnier, ResponsableOffice & Excel
Pierre, comment on fait, dans ce cas-là?

Dans le cas où la recherche porte sur plusieurs colonnes, d'un côté ou de l'autre, voire des deux, on utilise INDEX EQUIV et on assemble les colonnes sur lesquelles la recherche porte, et puis surtout, on valide la formule d'une façon un peu particulière.

Dans l'exemple suivant, j'ai des ventes qui reprennent le nom de la peluche et la couleur comme données associées dans la même cellule, alors que dans le tableau des articles, les données sont séparées dans deux colonnes.



Il y a, en fait, plusieurs solutions:
  • Assembler les deux colonnes du tableau d'articles en créant une colonne supplémentaire;
  • Séparer les données de la première colonne du tableau des ventes en créant une colonne supplémentaire;
  • Utiliser INDEX EQUIV en validation matricielle, sans colonne supplémentaire.


N'étant pas fan, du tout, des colonnes intermédiaires, je préfère de très loin la troisième solution, qui n'est pas très complexe à mettre en oeuvre. Au passage, si on ne connaissait que RECHERCHEV, on serait bien embêté puisqu'avec RECHERCHEV, non seulement on serait obligé de passer par une colonne supplémentaire, mais en plus, on devrait la placer devant les autres. Ce serait fort laborieux à mettre en place, surtout dans l'idée de données importées d'un autre logiciel qu'il faudrait remettre en ordre à chaque import... Mission impossible, à tout le moins sans pertes de temps et énervement.

Dans ce cas-ci, ce n'est pas INDEX qui pose problème, mais EQUIV, et ce n'est pas non plus la valeur cherchée par EQUIV qui pose problème, mais bien la construction de la matrice dans laquelle chercher cette valeur.



On voit que, dans le tableau des ventes, l'article est mentionné par son nom suivi d'un tiret suivi de la couleur. On va donc, dans EQUIV, recréer cette construction en prenant la colonne du nom à laquelle on colle un espace puis la colonne de la couleur, en utilisant l'opérateur & pour coller les portions de texte entre elles (concaténer les chaines de caractères).





La fin de la formule est habituelle avec INDEX EQUIV, mais il faut valider la formule en matricielle!, car c'est la validation matricielle qui va permettre à Excel de comprendre cette syntaxe un peu particulière. Pour valider en matricielle, vous allez utiliser CTRL+SHIFT+ENTER. Excel va ajouter les accolades de part et d'autre de la formule pour signaler visuellement la validation matricielle (il ne faut pas saisir les accolades vous-même!, c'est la validation avec CTRL+SHIFT+ENTER qui les ajoute et qui enclenche la mécanique matricielle). Cette validation matricielle permet à Excel de reconstituer, ligne par ligne, les données en les assemblant grâce à l'opérateur &.



L'outil d'audit de formule permet de visualiser la construction de la matrice qui sera utilisée par EQUIV.



Et voilà le travail... Une formule matiricielle nous évite de devoir recourir à des colonnes de construction. Dans un prochain billet, je complèterai les infos sur INDEX EQUIV en matricielle pour que vous puissiez maîtriser ces deux fonctions sur le bout des doigts.

Bon travail avec Excel!


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster un commentaire

Avatar de curt curt - Membre chevronné https://www.developpez.com
le 20/12/2017 à 7:14
Bonjour Pierre,

voilà un tuto simple, clair donc efficace.
Bravo et merci

Curt
Avatar de Pierre Fauconnier Pierre Fauconnier - Responsable Office & Excel https://www.developpez.com
le 20/12/2017 à 8:47
Bonjour Curt,

Citation Envoyé par curt Voir le message
[...]
voilà un tuto simple, clair donc efficace.
[...]
Souvent, je trouve plus de temps pour un petit "spot" sous forme de billet que pour me lancer dans un tutoriel plus fouillé. D'où l'idée de ces billets réguliers pour donner des petites infos que j'espère pertinentes et intéressantes pour mes lecteurs.

Merci pour ton appréciation
Avatar de laurent_ott laurent_ott - Rédacteur https://www.developpez.com
le 20/12/2017 à 12:36
Bonjour Pierre.
Est-ce que l'on va retrouver tes articles dans la FAQ ?
https://excel.developpez.com/faq/

Et comment faire pour avoir un pdf de cet article ?
Avatar de Pierre Fauconnier Pierre Fauconnier - Responsable Office & Excel https://www.developpez.com
le 20/12/2017 à 15:10
Bonjour Laurent

Citation Envoyé par laurent_ott Voir le message
[...]
Est-ce que l'on va retrouver tes articles dans la FAQ ?[...]
"Normalement", j'ai congé deux semaines à partir de samedi. Cela devrait me permettre de mettre un bon coup sur la faq qui en a bien besoin. C'est une bonne idée d'imaginer y mettre ceci. Il faudra suivre l'actualité de la rubrique pour être informé d'une mise à jour...

Citation Envoyé par laurent_ott Voir le message
[...]
Et comment faire pour avoir un pdf de cet article ?
C'est l'inconvénient du blog. Il n'est pas prévu de l'exporter en pdf (à ma connaissance, en tout cas). (On ne peut pas tout avoir, des billets/articles rapides et un PDF ). J'ai l'idée de compiler les articles traitant d'une fonction dans un tuto mieux ficelé. Donc, il faudra suivre l'actualité de la rubrique pour être informé... (hum... re )

J'espère que cela répond à tes questions....

P.S. [private mode]: j'aurai "normalement" le temps de regarder ton cinquième opus durant ces "congés"... (j'aime beaucoup les guillemets... re re )
Avatar de curt curt - Membre chevronné https://www.developpez.com
le 20/12/2017 à 18:19
Concernant le pdf, ce matin j'ai simplement fait un copier/coller de l'article vers Word.... le pdf devient alors une formalité.

Curt
Avatar de Pierre Fauconnier Pierre Fauconnier - Responsable Office & Excel https://www.developpez.com
le 21/12/2017 à 6:20
Citation Envoyé par curt Voir le message
Concernant le pdf, ce matin j'ai simplement fait un copier/coller de l'article vers Word.... le pdf devient alors une formalité.

Curt
Simple et apparemment efficace...
Responsables bénévoles de la rubrique Excel : Pierre Fauconnier - Arkham46 -