XL 2010 Calcul en fonction des cellules au dessus

Orson83

XLDnaute Impliqué
Bonsoir à tous,
Je rencontre un problème en fonction des valeurs des cellules au dessus selon une valeur de décalage.
En effet, si les cellules au dessus (selon valeur décalage) sont supérieures, alors Action 1 ou si les cellules au dessus (selon valeur décalage) sont inférieures, alors Action 2.
Si ce n'est pas l'un des 2 cas, alors VIDE.
Merci pour votre aide.
Je joins un fichier exemple dans ce ticket.
Bonne soirée ;)
 

Pièces jointes

  • Ex 1.xlsx
    11.9 KB · Affichages: 9

Orson83

XLDnaute Impliqué
Bonsoir
A tester :
Code:
=SI(ET(C5="Calcul A";DECALER(B5;-$D$2;)<B5);"Action 1";SI(ET(C5="Calcul B";DECALER(B5;-$D$2;)>B5);"Action 2";""))
Bonsoir Chris401, le forum,
Merci pour cette contribution. Néanmoins, il y a une erreur car je n'ai pas suffisamment détaillé le problème.
En effet, avec cette formule, le résultat de D9 donne "Action 2" car il a comparé avec B7 mais a omis de comparer aussi avec B8. Dans ce cas, D9 doit être vide car B7 est bien supérieur mais B8 est inférieur. Les cellules B7 et B8 doivent être supérieures.
D2 doit définir le nombre de cellules à comparer au dessus.
 

Orson83

XLDnaute Impliqué
Je relance ce ticket car je souhaiterai ajouter un argument dans la formule.
Il s'agit de la différence entre 2 cellules selon un critère de valeur prédéfinie.
Je joins un autre fichier dans ce post.
Merci encore pour votre aide.
PS : j'enlève la coche résolu au post #4 mais je la remettrai après résolution finale
 

Pièces jointes

  • Ex 2.xlsx
    13.3 KB · Affichages: 3

Chris401

XLDnaute Accro
Bonjour
Essaye :
Code:
=SIERREUR(SI(ET(C6="Calcul A";SOMMEPROD(N(DECALER(B6;-$D$2;;$D$2;1)<B6))=$D$2;SOMMEPROD(N(ABS(B6-DECALER(B6;-$D$2;;$D$2;1))<$D$3))=$D$2);"Action 1";
SI(ET(C6="Calcul B";SOMMEPROD(N(DECALER(B6;-$D$2;;$D$2;1)>B6))=$D$2;SOMMEPROD(N(ABS(B6-DECALER(B6;-$D$2;;$D$2;1))>$D$3))=$D$2);"Action 2";""));"")
 

Orson83

XLDnaute Impliqué
Bonjour
Essaye :
Code:
=SIERREUR(SI(ET(C6="Calcul A";SOMMEPROD(N(DECALER(B6;-$D$2;;$D$2;1)<B6))=$D$2;SOMMEPROD(N(ABS(B6-DECALER(B6;-$D$2;;$D$2;1))<$D$3))=$D$2);"Action 1";
SI(ET(C6="Calcul B";SOMMEPROD(N(DECALER(B6;-$D$2;;$D$2;1)>B6))=$D$2;SOMMEPROD(N(ABS(B6-DECALER(B6;-$D$2;;$D$2;1))>$D$3))=$D$2);"Action 2";""));"")
Bonjour Chris401, le forum,
Merci encore pour ton aide.
La formule fonctionne mais Bizarrement pas dans la dernière ligne D21.
Mystère 🤔
 

Chris401

XLDnaute Accro
Ce qui donne :

Code:
=SIERREUR(SI(ET(C6="Calcul A";SOMMEPROD(N(DECALER(B6;-$D$2;;$D$2;1)<B6))=$D$2;OU($D$3=0;SOMMEPROD(N(ABS(B6-DECALER(B6;-$D$2;;$D$2;1))<$D$3))=$D$2));"Action 1";
SI(ET(C6="Calcul B";SOMMEPROD(N(DECALER(B6;-$D$2;;$D$2;1)>B6))=$D$2;OU($D$3=0;SOMMEPROD(N(ABS(B6-DECALER(B6;-$D$2;;$D$2;1))>$D$3))=$D$2));"Action 2";""));"")
 

Orson83

XLDnaute Impliqué
Actuellement; si tu mets D3 à 0 cela sous entend que les valeurs doivent être égales à la cellule étudiée pour retourner l'action.
Donc, il faut ajouter que D3 doit être différent de 0 pour que l'argument 2 soit pris en compte.
Exemple en D21 si 2 en D2 :
Je calcule la différence entre B21 - B19 (2 jours de D2) =51,85
Si cette valeur est :
- Sup. à D3, alors j'affiche le texte "Action"
- Inf. à D3, alors je n'affiche pas le texte "Action"
Pour faire simple, D2 doit indiqué dans quel intervalle on doit comparer la valeur de D3 ou dans quelle limite de valeur je fais l'Action.
 

Orson83

XLDnaute Impliqué
Ce qui donne :

Code:
=SIERREUR(SI(ET(C6="Calcul A";SOMMEPROD(N(DECALER(B6;-$D$2;;$D$2;1)<B6))=$D$2;OU($D$3=0;SOMMEPROD(N(ABS(B6-DECALER(B6;-$D$2;;$D$2;1))<$D$3))=$D$2));"Action 1";
SI(ET(C6="Calcul B";SOMMEPROD(N(DECALER(B6;-$D$2;;$D$2;1)>B6))=$D$2;OU($D$3=0;SOMMEPROD(N(ABS(B6-DECALER(B6;-$D$2;;$D$2;1))>$D$3))=$D$2));"Action 2";""));"")
Non, fonctionne que si D3 est à 0.
 

Discussions similaires

Réponses
46
Affichages
761