Déterminer le bon besoin en fonction de tranche min maxi

Bonjour à toutes et tous,

Je butte depuis quelques jours sur une fonction et j'espère trouver une réponse grasse à vos compétences.

En résumé,

Je souhaiterai à partir d'un article et d'un besoin saisi déterminer la tranche mini-maxi la plus proche pour les articles qui ont plusieurs tranche de prix.

Je joint un fichier qui sera plus clair, en fin je l'espère.

En vous remerciant d'avance pour votre aide

16tranche-prix.zip (4.58 Ko)

Bonjour le forum,

C15 :

=INDEX($B$4:$B$8;EQUIV(MIN(ABS(B15-$B$4:$B$8));ABS(B15-$B$4:$B$8);0))&" "&INDEX($B$4:$B$8;EQUIV(MIN(ABS(B15-$B$4:$B$8));ABS(B15-$B$4:$B$8);0))+9

Formule matricielle.

A tirer vers le bas.

Re,

Ou :

C14 :

=SIERREUR(INDEX($B$4:$B$8;EQUIV(MIN(ABS(B14-$B$4:$B$8));ABS(B14-$B$4:$B$8);0))&" - "&RECHERCHEV(A14;$A$4:$C$8;3;0);"")

Ça fonctionne super bien... un grand merci.... et quelle rapidité

Bonjour le forum,

Je suis allé un peu vite en besogne.... cela ne fonctionne pas à 100 %

J'ai bien analysé la formule proposée mais je n'arrive pas à la comprendre totalement ce qui m'empêche de résoudre mon problème

De plus je souhaiterai également récupérer le prix de la tranche sélectionner (cf fichier ci-joint)

Je vous remercie par avance pour votre aide

15tranche-prix.xlsm (425.77 Ko)

Bonjour le forum

Désolé de relancer mais je n'arrive pas à trouver la solution à ce problème.

En vous remerciant d'avance pour votre aide,

Bonjour,

Voilà la solution que je te propose, elle est plus complexe par contre, je peux te l'expliquer si tu le souhaites.

Bonjour le forum

Bonjour Ausecour

Je te remercie pour ton retour.

Ça marche super bien.

et effectivement c'est "un tout petit peu" compliqué.

Si tu peux donc comme proposé m'expliquer les formules proposés et tout particulièrement le dernière colonne

Merci d'avance pour ton retour,

Bonjour miche,

Pas de problème je vais détailler, je ne te promets pas que j'ai la meilleure solution, mais c'est la seule à fonctionner pour le momento

Donc voyons voir

=EQUIV(MAX((3*10^9-ABS($B21-$B$4:$B$15)+3*10^9-ABS($B21-$C$4:$C$15))*($A$4:$A$15=$A21)*($B$4:$B$15<=$B21)*($C$4:$C$15>=$B21));(3*10^9-ABS($B21-$B$4:$B$15)+3*10^9-ABS($B21-$C$4:$C$15))*($A$4:$A$15=$A21)*($B$4:$B$15<=$B21)*($C$4:$C$15>=$B21);0)

Ça fait un sacré code en effet!

Ce serait plus simple de le lire comme ça...

=EQUIV(MAX((3*10^9-ABS($B21-$B$4:$B$15)+3*10^9-ABS($B21-$C$4:$C$15))*($A$4:$A$15=$A21)*($B$4:$B$15<=$B21)*($C$4:$C$15>=$B21));(3*10^9-ABS($B21-$B$4:$B$15)+3*10^9-ABS($B21-$C$4:$C$15))*($A$4:$A$15=$A21)*($B$4:$B$15<=$B21)*($C$4:$C$15>=$B21);0)

Déjà ce qui est en rouge et en bleu, c'est exactement le même ensemble de formule, je ne l'expliquerai donc qu'en une fois

Donc il faut y regarder comme ça :

=EQUIV(MAX(Groupe de formules 1);Groupe de formules 1;0)

On va commencer par les fonctions EQUIV et MAX

EQUIV(Valeur cherchée;Matrice dans laquelle on cherche;Valeur exacte, inférieure, ou supérieure)[*]

Donc l'argument en rouge c'est ce que va chercher la formule, elle y cherche dans l'argument bleu, et on détaille comment on veut la chercher, dans mon cas, 0 veut dire que l'on cherche la valeur exacte, ce serait dommage de faire des formules compliquées et de ne pas être un peu exigeant sur celle là

Donc la seule différence entre la valeur cherchée et le tableau de recherche, c'est la fonction MAX.

Elle sert tout simplement à ne sélectionner que la meilleure valeur, ou autrement dis, la meilleure plage!

Pourquoi un MAX?

Parce que le groupement de formule fonctionne un peu comme un jeu télévisé...


Je m'explique, reprenons le code :

(3*10^9-ABS($B21-$B$4:$B$15)+3*10^9-ABS($B21-$C$4:$C$15))*($A$4:$A$15=$A21)*($B$4:$B$15<=$B21)*($C$4:$C$15>=$B21))

Voici le príncipe du jeu :

  • Chaque participant va jouer 2 fois (1 participant = une cellule)
  • Les tours sont représentés par les codes en vert et marron
  • A chaque tour les participants vont pouvoir gagner 3*10^9 points
  • A ces points, on enlève l'écart entre la valeur que propose chaque participant (B4:B15 puis C4:C15), et la valeur visée (B21), que l'on met en positif quoi qu'il arrive, et on retranche cet écart au score
  • Dans le cas du premier tour, on fait l'écart avec la valeur minimale de l'intervalle, au second tour, avec la valeur maximale de l'intervalle
  • Une fois que chaque participant à obtenu son score, il reste à vérifier qu'ils peuvent gagner, en clair, qu'ils n'enfreignent pas les règles du jeu
  • On a plusieurs règles séparées par des *
  • première règle : l'article doit être celui recherché
  • seconde règle : la valeur minimale proposée doit être inférieure ou égale à celle visée
  • troisième et dernière règle : la valeur maximale proposée doit être supérieure ou égale à celle visée
  • Si une seule de ces règles n'est pas respectée, le score du joueur est multiplié par 0, dans le cas contraire, par 1

Puis le gagnant est sélectionné par MAX, en clair, parmis les joueurs qui ont respectés les règles, celui qui a le meilleur score.

Le tableau de recherche applique également le jeu aux participants afin déviter d'envoyer la "récompense" à un joueur qui n'aurait pas respecté une règle mais qui a le même score que le gagnant.

Voilà ! j'espère avoir été clair

Si jamais tu as encore besoin d'aide ou d'explications moins... farfellues, reviens nous voir, sinon si tout est bon...

Rechercher des sujets similaires à "determiner bon besoin fonction tranche min maxi"