Excel : DECALER + INDEX + EQUIV + MIN

baissaoui Messages postés 497 Date d'inscription jeudi 2 septembre 2021 Statut Webmaster Dernière intervention 22 mars 2024 - 18 juil. 2022 à 16:21

Document initial créé par Raymond PENTIER

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.

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.