INDEX / EQUIV plusieurs arguments

Bonsoir à tous,

Je sollicite votre aide car je bloque sur une formule qui a pour but d'automatiser une tâche chronophage réalisée manuellement jusqu'à maintenant.

J'essaye d'être le plus clair possible :

Nous avons 4 magasins, 310, 320, 330 et 340. Le but est de proposer des cessions inter-magasins lorsque des conditions sont réunies.

Le magasin avec la couverture la plus élevée (surbrillance en jaune) cède à celui ou ceux qui passent une commande.

Mon problème se pose lorsque j'ai plusieurs magasins qui passent commande (en gris). Ci dessous une capture d'écran :

image

Comment dire à Excel de rajouté "et 330" automatiquement par exemple pour la ligne 4, dans ma formule ? (et pas seulement proposer une cession de 320 vers 310 comme le fait la formule à l'heure actuelle, car 330 passe également une commande)

Je pense qu'il ne faut pas utiliser la formule MAX dans la 2eme partie de la formule, mais je n'ai pas d'idée ....

Je joint un extrait de mon fichier au post, et remercie par avance ceux qui vont se casser la tête (ou pas) pour m'aider

En espérant avoir été assez clair ...

13test-cession.xlsx (13.41 Ko)

Bonsoir,

vous pouvez faire ceci avec la fonction GRANDE.VALEUR et le rang voulu :
=INDEX($A$2:$D$2;;EQUIV(MAX(A4:D4);A4:D4;0))&" vers "&INDEX($E$2:$H$2;;EQUIV(GRANDE.VALEUR($E4:$H4;1);$E4:$H4;0))&SI(GRANDE.VALEUR($E4:$H4;2)<>0;" et vers "&INDEX($E$2:$H$2;;EQUIV(GRANDE.VALEUR($E4:$H4;2);$E4:$H4;0));"")

Vous pouvez à jouter la condition SI pour les deux autres possibilité en remplaçant le 2 par le 3 puis 4.

@ bientôt

LouReeD

Bonjour,

comme je n'avais pas trop d'idées par formule, j'ai fait une fonction personnalisée
Accepter les macros à l'ouverture.

Syntaxe :
=mouv(de;vers)
de : plage des couvertures
vers : plage des commandes
Ex : =mouv(A3:D3;E3:H3)
Si tu as plusieurs couvertures au max, elles toutes listées
On peut imaginer proposer en plus une répartition si l'origine ne suffit pas à plusieurs destinations.
On peut aussi imaginer que tu mettes une couleur manuelle pour dire 'toi aussi tu participes'
eric

8test-cession.xlsm (19.12 Ko)

Pour ma solution il y a une modification à faire afin d'intégrer (par exemple) une décimale aux valeurs du tableau en intégrant la valeur de la colonne comme cela pour le dernier exemple au lieu de se retrouver avec "vers 320 et vers 320" on aurait bien "vers 340 et vers 320" car avec la décimale "colonne" le premier 12 serait égale à 12,6 et le deuxième à 12,8... Enfin si j'y arrive !

@ bientôt

LouReeD

Bonjour à tous,

Une proposition "classique" en I3 (à tirer vers les bas) :

=INDEX($A$2:$D$2;;EQUIV(MAX(A3:D3);A3:D3;0)) & " vers " & JOINDRE.TEXTE(" et ";1;SI(E3:H3>0;INDEX($E$2:$H$2;;EQUIV(E3:H3;E3:H3;0));""))

Et pour les utilisateurs de 365, une formule dynamique :

=INDEX($A$2:$D$2;;BYROW(A3:D10;LAMBDA(r;EQUIV(MAX(r);r;0)))) & " vers " & BYROW(E3:H10;LAMBDA(r;JOINDRE.TEXTE(" et ";1;SI(r>0;INDEX($E$2:$H$2;;EQUIV(r;r;0));""))))
Rechercher des sujets similaires à "index equiv arguments"