|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : août 2009 Messages : 30 ![]() |
Bonjour,
Je suis sec pour 2 formules conditionnelles : voici la 1ere : si code identique -> quantité = quantité de la_date la plus récente code ___date __quantité résultat attendu X 01/01/2012 1 5 X 02/01/2012 2 5 X 03/01/2012 3 5 Y 05/01/2012 4 4 X 05/01/2012 5 5 et la suivante: si type = P pour un code identique toutes les quantités ayant une date inférieure ou égale au type C = 0 type code __date __quantité___résultat attendu P X 01/01/2012 1 0 C X 02/01/2012 1 1 P X 03/01/2012 2 0 P Y 01/01/2012 4 4 C X 03/01/2012 3 3 P X 05/01/2012 5 5 Merci d'avance pour vos formules |
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() Daniel aucune Inscription : septembre 2011 Messages : 2 004 ![]() |
1. Avec tes données à partir en A1 (formule matricielle, à valider avec Ctrl+Maj+Entrée), en D2, à recopier vers le bas :
2. Citation:
__________________
Cordialement. Daniel Citation:
|
||
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : août 2009 Messages : 30 ![]() |
1) ok ça fonctionne impec. Et si pour la même condition je voulais que le résultat soit 0
2) Je reformule ce n'est pas clair pour un même code s'il y a une ligne avec un code C toutes les lignes avec un code P qui ont une date <= à la ligne avec le code C ont une quantité à 0 Est ce plus clair ? |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : août 2009 Messages : 30 ![]() |
Je reviens sur ta réponse 1 en fait je ne recherche pas la plus grande quantité par code mais la quantité par code avec la date la plus récente
|
|
|
00
|
|
|
#5 | |
|
Expert Confirmé Sénior
![]() Daniel aucune Inscription : septembre 2011 Messages : 2 004 ![]() |
Formules matricielles
1. Code :
=INDEX($C$2:$C$6;EQUIV(1;($A$2:$A$6=A2)*($B$2:$B$6=MAX(($A$2:$A$6=A2)*($B$2:$B$6)));0);1) Code :
=SI(SOMMEPROD(($B$2:$B$7=B2)*(A2:A7="c"))>0;SI(C2<MIN(SI(($B$2:$B$7=B2)*($A$2:$A$7="c")>0;C2:C7));0;D2);D2)
__________________
Cordialement. Daniel Citation:
|
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : août 2009 Messages : 30 ![]() |
Merci pour tes réponses Daniel.
Concernant la question 1 la formule est ok Concernant la question 2 : pour les 3 dernières lignes et la 1ère ligne Ok pour la 2ème ligne du tableau le résultat devrait être 1 car il s'agit d'une ligne de type C --> les modifications ne s'appliquent qu'aux lignes de Type P pour la ligne 3 du tableau le résultat devrait être 0 car c'est une ligne de type P et il existe pour le même code une date identique avec un Type C |
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé Sénior
![]() Daniel aucune Inscription : septembre 2011 Messages : 2 004 ![]() |
Citation:
Code :
=SI(SOMMEPROD(($B$2:$B$7=B4)*(A4:A9="c"))>0;SI(C4<=MIN(SI(($B$2:$B$7=B4)*($A$2:$A$7="c")*(A4<>"c")>0;C4:C9));0;D4);D4)
__________________
Cordialement. Daniel Citation:
|
||
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : août 2009 Messages : 30 ![]() |
Merci de ta patience Daniel, mais ce qui m'intéresse c'est de mettre à 0 toutes les lignes type P avec même code dont la date est <= à la ligne type P avec la date la plus récente
|
|
|
00
|
|
|
#9 | ||
|
Expert Confirmé Sénior
![]() Daniel aucune Inscription : septembre 2011 Messages : 2 004 ![]() |
Citation:
Code :
=SI(SOMMEPROD(($B$2:$B$7=B4)*(A4:A9="c"))>0;SI(C4<=MAX(SI(($B$2:$B$7=B4)*($A$2:$A$7="c")*(A4<>"c")>0;$C$2:$C$7));0;D4);D4)
__________________
Cordialement. Daniel Citation:
|
||
|
00
|
Copyright © 2000-2012 - www.developpez.com