Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/01/2012, 16h28   #1
Invité de passage
 
Inscription : août 2009
Messages : 30
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 30
Points : 2
Points : 2
Par défaut formules conditionnelles de gestion de dates et quantités

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
Fichiers attachés
Type de fichier : zip formules.zip (4,1 Ko, 0 affichages)
philppe27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 16h42   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
1. Avec tes données à partir en A1 (formule matricielle, à valider avec Ctrl+Maj+Entrée), en D2, à recopier vers le bas :
Code :
=MAX(($A$2:$A$6=A2)*$C$2:$C$6)
2.
Citation:
une date inférieure ou égale au type C = 0
Tu pourrais expliquer ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 17h15   #3
Invité de passage
 
Inscription : août 2009
Messages : 30
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 30
Points : 2
Points : 2
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 ?
philppe27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 17h19   #4
Invité de passage
 
Inscription : août 2009
Messages : 30
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 30
Points : 2
Points : 2
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
philppe27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 18h08   #5
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
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)
2.
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)
Note qu'il y a deux types C avec des dates différentes, d'où un écart sur la deuxième valeur.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 18h55   #6
Invité de passage
 
Inscription : août 2009
Messages : 30
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 30
Points : 2
Points : 2
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
philppe27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 19h12   #7
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Citation:
pour la ligne 3 du tableau le résultat devrait être 0 car c'est une ligne de type P
En ce qui concerne la ligne 3, pour le code P, tu as deux types C avec des dates différentes. Je me suis basé sur la date inférieure (02/02/2012)

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:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 19h33   #8
Invité de passage
 
Inscription : août 2009
Messages : 30
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 30
Points : 2
Points : 2
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
philppe27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 21h53   #9
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Citation:
<= à la ligne type P avec la date la plus récente
Si tu veux dire "<= à la ligne type C avec la date la plus récente" :

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:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h57.


 
 
 
 
Partenaires

Hébergement Web