DECALER + INDEX + EQUIV + MIN

Autre exemple d'application de la fonction DECALER : "Tarif moins-disant".
Ici la fonction DECALER sera combinée avec les fonctions INDEX, EQUIV et MIN.



Articles précédents

Cette fiche vient à la suite de plusieurs fiches, récemment proposées :
https://www.commentcamarche.net/faq/56394-decaler-une-fonction-puissante
https://www.commentcamarche.net/faq/56400-decaler-avec-index-et-equiv
https://www.commentcamarche.net/faq/56566-decaler-application-planning

Objectif



Nous voulons cette fois chercher dans un tableau multifournisseur le tarif le moins cher pour un produit donné.
https://www.cjoint.com/c/JECw0pUDXNU

Extraction

Démarche

  • Cette méthode, sans VBA, ne nécessite que deux formules ...
  • et la fonction DECALER a été préférée à la classique fonction RECHERCHEV ...

Une plage d'affichage est ajoutée :
  • C14 permet, grâce à une liste déroulante de cellule, de choisir le produit,
  • C15 recherche et affiche le prix le moins élevé pour ce produit,
  • C16 recherche et affiche le fournisseur proposant ce tarif.

Formules

La formule à utiliser comme source de validation des données insérée en C14 est =$B$3:$B$9

La formule à utiliser en C15 est
=MIN(DECALER(C2:F2;EQUIV(C14;B3:B9;0);))
EQUIV(C14 ; B3:B9 ; 0) donne la position de "Produit 5", valeur en C14 (cell jaune), à l'intérieur de la plage B3:B9 (cell orange) ; soit la valeur 5.
DECALER(C2:F2 ; 5 ;) part de la plage C2:F2 (cell bleues) et descend de 5 lignes, pour prendre en compte la plage C7:F7.
MIN(...) récupère la plus petite des 4 valeurs, soit 1,10 € stockée en D7.

La formule à utiliser en C16 est
=INDEX(C2:F2;EQUIV(C15; DECALER(C2:F2;EQUIV(C14;B3:B9;0);) ;0))
EQUIV(1.10 ; C7:F7 ; 0) indique la colonne de la plage C7:F7 où se trouve la valeur 1,10 € ; c'est la colonne 2.
INDEX(C2:F2 ; EQUIV(1.10;C7:F7;0)) affiche le contenu de la plage C2:F2 (cell bleues) se trouvant en colonne 2, soit "Fournisseur 2".

Enfin, la formule à écrire dans la règle de mise en forme conditionnelle appliquée à la plage C3:F9, pour mettre en couleur la cellule où figure le tarif cherché, est
=ET($B3=$C$14;C3=$C$15).
Attention à respecter scrupuleusement les caractères $ !

Remerciements

  • Merci d'avance à ceux qui voudront bien apporter leur contribution en proposant des corrections, compléments et autres amendements.
  • Merci surtout au créateur de cette fiche, Via55, dont nous n'avons fait que mettre en forme son travail, au bénéfice des lecteurs de cette fiche.
Cet article est régulièrement mis à jour par des experts sous la
direction de Jean-François Pillou, fondateur de CommentCaMarche
et directeur délégué au développement numérique du groupe Figaro.
Ce document intitulé « DECALER + INDEX + EQUIV + MIN » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.