Excel: Comment cumuler 3 possibilités et 2 conditions?

Résolu/Fermé
HoustonFrenchcat Messages postés 12 Date d'inscription lundi 25 janvier 2016 Statut Membre Dernière intervention 29 janvier 2016 - 25 janv. 2016 à 11:46
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 25 janv. 2016 à 12:53
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!
A voir également:

2 réponses

diablo13800 Messages postés 2890 Date d'inscription jeudi 2 juillet 2015 Statut Membre Dernière intervention 16 février 2024 1 844
25 janv. 2016 à 11:56
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")))))
0
HoustonFrenchcat Messages postés 12 Date d'inscription lundi 25 janvier 2016 Statut Membre Dernière intervention 29 janvier 2016
25 janv. 2016 à 12:20
Bonjour et merci beaucoup!
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.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
25 janv. 2016 à 12:07
Bonjour,

Pour rester simple tu peux insérer une colonne avec la date retenue et faire ton datedif() avec.
eric
0
HoustonFrenchcat Messages postés 12 Date d'inscription lundi 25 janvier 2016 Statut Membre Dernière intervention 29 janvier 2016
25 janv. 2016 à 12:26
Bonjour et merci pour ta proposition.
Les quatre cellules dont je parlais font partie d'un ensemble plus complexe de colonnes dont je ne désire pas augmenter le nombre. Ce qui explique ma recherche d'une formule complexe.
Mais je te remercie de t'être penché sur mon problème.
Cordialement.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
25 janv. 2016 à 12:53
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
0