Excel: Comment cumuler 3 possibilités et 2 conditions?
Résolu
HoustonFrenchcat
Messages postés
12
Statut
Membre
-
eriiic Messages postés 25847 Statut Contributeur -
eriiic Messages postés 25847 Statut Contributeur -
Bonjour à tous et merci d'avance pour votre éclairage,
Je suis confronté à un problème concernant trois possibilités avec à chaque fois deux conditions. Je m'explique:
Je travaille avec des dates et des durées.
La cellule A1 est la date de départ
La cellule B1 est une première possibilité de date de fin
La cellule C1 est l'autre possibilité de date de fin
La cellule D1 (ou j'essaye d'écrire la formule) exprime une durée en années, mois et jours.
Voici les trois possibilités:
1e possibilité: Si les cellules B1 et C1 sont vides, alors je calcule la durée entre la date en A1 et aujourd'hui:
SI(ET(A1="";B1="");(DATEDIF(A1;AUJOURDHUI();"Y")&SI(DATEDIF(A1;AUJOURDHUI();"Y")>1;" ans, ";" an, ")&DATEDIF(A1;AUJOURDHUI();"YM")&" mois, "&DATEDIF(A1;AUJOURDHUI();"MD")&SI(DATEDIF(A1;AUJOURDHUI();"MD")>1;" jours";" jour"))))
2e possibilité: Si B1 n'est PAS vide et si C1 est vide, alors je calcule la durée entre la date en A1 et la date en B1:
SI(ET(B1<>""; C1="");(DATEDIF(A1;B18;"Y")&SI(DATEDIF(A1;B1;"Y")>1;" ans, ";" an, ")&DATEDIF(A1;B1;"YM")&" mois, "&DATEDIF(A1;B1;"MD")&SI(DATEDIF(A1;B1;"MD")>1;" jours";" jour"))))
3e possibilité: Si la cellule B1 est vide et si la cellule C1 n'est PAS vide, alors je calcule la durée entre la date en A1 et la date en C1:
SI(ET(B1="";C1<>"");(DATEDIF(A1;C1;"Y")&SI(DATEDIF(A1;C1;"Y")>1;" ans, ";" an, ")&DATEDIF(A1;C1;"YM")&" mois, "&DATEDIF(A1;C1;"MD")&SI(DATEDIF(A1;C1;"MD")>1;" jours";" jour"))))
Petite précision: il n'est pas possible que les cellules B1 et C1 aient tous les deux une date.
J'ai essayé de cumuler les trois conditions les unes avec les autres en les liant avec OU --> OU(SI(.........)) mais j'obtiens une erreur. J'ai peut-être l'esprit trop compliqué!
Quelqu'un aurait-il une idée pour résoudre ce problème?
Merci beaucoup!
Je suis confronté à un problème concernant trois possibilités avec à chaque fois deux conditions. Je m'explique:
Je travaille avec des dates et des durées.
La cellule A1 est la date de départ
La cellule B1 est une première possibilité de date de fin
La cellule C1 est l'autre possibilité de date de fin
La cellule D1 (ou j'essaye d'écrire la formule) exprime une durée en années, mois et jours.
Voici les trois possibilités:
1e possibilité: Si les cellules B1 et C1 sont vides, alors je calcule la durée entre la date en A1 et aujourd'hui:
SI(ET(A1="";B1="");(DATEDIF(A1;AUJOURDHUI();"Y")&SI(DATEDIF(A1;AUJOURDHUI();"Y")>1;" ans, ";" an, ")&DATEDIF(A1;AUJOURDHUI();"YM")&" mois, "&DATEDIF(A1;AUJOURDHUI();"MD")&SI(DATEDIF(A1;AUJOURDHUI();"MD")>1;" jours";" jour"))))
2e possibilité: Si B1 n'est PAS vide et si C1 est vide, alors je calcule la durée entre la date en A1 et la date en B1:
SI(ET(B1<>""; C1="");(DATEDIF(A1;B18;"Y")&SI(DATEDIF(A1;B1;"Y")>1;" ans, ";" an, ")&DATEDIF(A1;B1;"YM")&" mois, "&DATEDIF(A1;B1;"MD")&SI(DATEDIF(A1;B1;"MD")>1;" jours";" jour"))))
3e possibilité: Si la cellule B1 est vide et si la cellule C1 n'est PAS vide, alors je calcule la durée entre la date en A1 et la date en C1:
SI(ET(B1="";C1<>"");(DATEDIF(A1;C1;"Y")&SI(DATEDIF(A1;C1;"Y")>1;" ans, ";" an, ")&DATEDIF(A1;C1;"YM")&" mois, "&DATEDIF(A1;C1;"MD")&SI(DATEDIF(A1;C1;"MD")>1;" jours";" jour"))))
Petite précision: il n'est pas possible que les cellules B1 et C1 aient tous les deux une date.
J'ai essayé de cumuler les trois conditions les unes avec les autres en les liant avec OU --> OU(SI(.........)) mais j'obtiens une erreur. J'ai peut-être l'esprit trop compliqué!
Quelqu'un aurait-il une idée pour résoudre ce problème?
Merci beaucoup!
A voir également:
- Excel: Comment cumuler 3 possibilités et 2 conditions?
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel trier par ordre croissant chiffre - Guide
2 réponses
Bonjour,
Dans ta première formule il y a déjà une erreur , vous mettez un Si (ET (A1="";B1="") Puis vous faite une date Diff sur A1 . Ce qui est impossible vu que A1 est vide selon votre condition.
Sinon Votre formule donne ça , il suffit de rajoute la condition "Valeur Si Faux" Pour comparer si la première condition est fausse. Est-ce que cela vous va?
=SI(ET(C1="";B1="");(DATEDIF(A1;AUJOURDHUI();"Y")&SI(DATEDIF(A1;AUJOURDHUI();"Y")>1;" ans, ";" an, ")&DATEDIF(A1;AUJOURDHUI();"YM")&" mois, "&DATEDIF(A1;AUJOURDHUI();"MD")&SI(DATEDIF(A1;AUJOURDHUI();"MD")>1;" jours";" jour"));SI(ET(B1<>""; C1="");(DATEDIF(A1;B1;"Y")&SI(DATEDIF(A1;B1;"Y")>1;" ans, ";" an, ")&DATEDIF(A1;B1;"YM")&" mois, "&DATEDIF(A1;B1;"MD")&SI(DATEDIF(A1;B1;"MD")>1;" jours";" jour"));SI(ET(B1="";C1<>"");(DATEDIF(A1;C1;"Y")&SI(DATEDIF(A1;C1;"Y")>1;" ans, ";" an, ")&DATEDIF(A1;C1;"YM")&" mois, "&DATEDIF(A1;C1;"MD")&SI(DATEDIF(A1;C1;"MD")>1;" jours";" jour")))))
Dans ta première formule il y a déjà une erreur , vous mettez un Si (ET (A1="";B1="") Puis vous faite une date Diff sur A1 . Ce qui est impossible vu que A1 est vide selon votre condition.
Sinon Votre formule donne ça , il suffit de rajoute la condition "Valeur Si Faux" Pour comparer si la première condition est fausse. Est-ce que cela vous va?
=SI(ET(C1="";B1="");(DATEDIF(A1;AUJOURDHUI();"Y")&SI(DATEDIF(A1;AUJOURDHUI();"Y")>1;" ans, ";" an, ")&DATEDIF(A1;AUJOURDHUI();"YM")&" mois, "&DATEDIF(A1;AUJOURDHUI();"MD")&SI(DATEDIF(A1;AUJOURDHUI();"MD")>1;" jours";" jour"));SI(ET(B1<>""; C1="");(DATEDIF(A1;B1;"Y")&SI(DATEDIF(A1;B1;"Y")>1;" ans, ";" an, ")&DATEDIF(A1;B1;"YM")&" mois, "&DATEDIF(A1;B1;"MD")&SI(DATEDIF(A1;B1;"MD")>1;" jours";" jour"));SI(ET(B1="";C1<>"");(DATEDIF(A1;C1;"Y")&SI(DATEDIF(A1;C1;"Y")>1;" ans, ";" an, ")&DATEDIF(A1;C1;"YM")&" mois, "&DATEDIF(A1;C1;"MD")&SI(DATEDIF(A1;C1;"MD")>1;" jours";" jour")))))
Bonjour,
Pour rester simple tu peux insérer une colonne avec la date retenue et faire ton datedif() avec.
eric
Pour rester simple tu peux insérer une colonne avec la date retenue et faire ton datedif() avec.
eric
Une colonne peut-être masquée, c'est toujours mieux qu'une formule à rallonge que tu auras du mal à modifier et en plus c'est plus rapide pour toi et pour excel...
Sinon tu fais quand même cette formule et dans :
=(DATEDIF(A1;C1;"Y")&SI(DATEDIF(A1;C1;"Y")>1;" ans, ";" an, ")&DATEDIF(A1;C1;"YM")&" mois, "&DATEDIF(A1;C1;"MD")&SI(DATEDIF(A1;C1;"MD")>1;" jours";" jour"))))
tu remplaces C1 par ta formule qui sera donc évaluée 5 fois au lieu d'une seule.
eric
Sinon tu fais quand même cette formule et dans :
=(DATEDIF(A1;C1;"Y")&SI(DATEDIF(A1;C1;"Y")>1;" ans, ";" an, ")&DATEDIF(A1;C1;"YM")&" mois, "&DATEDIF(A1;C1;"MD")&SI(DATEDIF(A1;C1;"MD")>1;" jours";" jour"))))
tu remplaces C1 par ta formule qui sera donc évaluée 5 fois au lieu d'une seule.
eric
Effectivement, j'avais fait une erreur d'attention dans la première partie.
Votre imbrication des trois parties marche parfaitement. Merci pour votre aide!
Amicalement.