Formule calcul dates
Résolu
42717
Messages postés
6
Statut
Membre
-
42717 Messages postés 6 Statut Membre -
42717 Messages postés 6 Statut Membre -
Bonjour,
Je débute dans l'utilisation de formules conditionnelles et j'éprouve des difficultés...
Voici ma formule
=SI(ET(T7="";O7="";$Y$2-E7;O7-E7)
Ce que je veux obtenir c'est :
si j'ai rien en O7 et rien en T7 ; alors date du jour (en Y2) - date précisée en E7 ; sinon date précisée en O7 - date précisée en E7.
Ça fonctionne bien quand j'ai une date en O7, rien en T7 mais ça me donne -42717 (je suppose que c'est l'écart depuis l'année 1900) quand j'ai rien en O7 mais une date en T7.
Dans les faits, je dois soit avoir une date en O7, soit une en T7, soit ni en O7 ni en T7 mais pas dans les deux...
Pas sûre que ma question est assez claire...faites moi préciser au besoin.
Merci d'avance !!!
Je débute dans l'utilisation de formules conditionnelles et j'éprouve des difficultés...
Voici ma formule
=SI(ET(T7="";O7="";$Y$2-E7;O7-E7)
Ce que je veux obtenir c'est :
si j'ai rien en O7 et rien en T7 ; alors date du jour (en Y2) - date précisée en E7 ; sinon date précisée en O7 - date précisée en E7.
Ça fonctionne bien quand j'ai une date en O7, rien en T7 mais ça me donne -42717 (je suppose que c'est l'écart depuis l'année 1900) quand j'ai rien en O7 mais une date en T7.
Dans les faits, je dois soit avoir une date en O7, soit une en T7, soit ni en O7 ni en T7 mais pas dans les deux...
Pas sûre que ma question est assez claire...faites moi préciser au besoin.
Merci d'avance !!!
A voir également:
- Formule calcul dates
- Formule si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Nombre de jours entre deux dates excel - Guide
- Formule calcul excel somme - Guide
4 réponses
Bonjour,
déjà il te manque une parenthèse fermante :
=SI(ET(T7="";O7="");$Y$2-E7;O7-E7)
Ensuite revois tes conditions :
si T7="" ET O7="" alors $Y$2-E7 (d'accord)
sinon, c'est à dire si T7<>"" OU O7<>"" alors O7-E7.
Et là ça cloche car tu inclues le cas T7<>"" et O7=""
Je te laisse réfléchir là dessus, au besoin fais-toi une table de vérité pour noter ce que tu veux dans les 4 cas.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
déjà il te manque une parenthèse fermante :
=SI(ET(T7="";O7="");$Y$2-E7;O7-E7)
Ensuite revois tes conditions :
si T7="" ET O7="" alors $Y$2-E7 (d'accord)
sinon, c'est à dire si T7<>"" OU O7<>"" alors O7-E7.
Et là ça cloche car tu inclues le cas T7<>"" et O7=""
Je te laisse réfléchir là dessus, au besoin fais-toi une table de vérité pour noter ce que tu veux dans les 4 cas.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Bonjour tt le monde
=ESTVIDE(T7)*((ESTVIDE(O7)*(Y2-E7))+(O7-E7))
donne 0 au lieu de "" camouflé par une MEFC
maquette
https://mon-partage.fr/f/7odwNe45/
Michel
=ESTVIDE(T7)*((ESTVIDE(O7)*(Y2-E7))+(O7-E7))
donne 0 au lieu de "" camouflé par une MEFC
maquette
https://mon-partage.fr/f/7odwNe45/
Michel
Bonjour 42717,
Je te propose cette formule :
=SI(ET(O7<>"";T7<>"");"";SI(O7<>"";O7;SI(T7<>"";T7;Y$2))-E7)
Dis-moi ce que tu en penses, et si ça te convient.
Tu peux me demander une adaptation si besoin.
Cordialement. :)
Je te propose cette formule :
=SI(ET(O7<>"";T7<>"");"";SI(O7<>"";O7;SI(T7<>"";T7;Y$2))-E7)
Dis-moi ce que tu en penses, et si ça te convient.
Tu peux me demander une adaptation si besoin.
Cordialement. :)
Bonjour,
Un gros merci pour ta réponse...ça fonctionne super ; par contre, je crois c'est mes idées qui n'étaient pas assez claires !
Voilà ce dont j'ai besoin, et merci à eriiic pour m'avoir demandé de noter ce que je vœux dans les 4 cas (;-).
Je me suis essayée mais message d'erreur comme quoi trop long....(certainement aussi erreurs mais bon...:
cas 1 : si O7 et T7 sont complétés (pas vides) ; alors je veux rien ("")
cas 2 : si O7 est complété et T7 est vide ; alors je veux O7-E7;
cas 3 : si O7 est vide et T7 est complété ; alors je veux rien ("")
cas 4 : si O7 et T7 sont vides ; alors je veux Y2-E7 .
Par ailleurs, j'aimerais pouvoir tirer ma formule vers le bas et que, en la tirant vers le bas, pour les lignes absolument vides (j'ai d'autres colonnes), il n'y ait pas 42744 soit le calcul depuis 1900....
Je veux des "" comme résultat dans certains cas, car je vais devoir faire une moyenne des résultats des lignes dans la colonne Y....
Merci encore !!!!
Un gros merci pour ta réponse...ça fonctionne super ; par contre, je crois c'est mes idées qui n'étaient pas assez claires !
Voilà ce dont j'ai besoin, et merci à eriiic pour m'avoir demandé de noter ce que je vœux dans les 4 cas (;-).
Je me suis essayée mais message d'erreur comme quoi trop long....(certainement aussi erreurs mais bon...:
cas 1 : si O7 et T7 sont complétés (pas vides) ; alors je veux rien ("")
cas 2 : si O7 est complété et T7 est vide ; alors je veux O7-E7;
cas 3 : si O7 est vide et T7 est complété ; alors je veux rien ("")
cas 4 : si O7 et T7 sont vides ; alors je veux Y2-E7 .
Par ailleurs, j'aimerais pouvoir tirer ma formule vers le bas et que, en la tirant vers le bas, pour les lignes absolument vides (j'ai d'autres colonnes), il n'y ait pas 42744 soit le calcul depuis 1900....
Je veux des "" comme résultat dans certains cas, car je vais devoir faire une moyenne des résultats des lignes dans la colonne Y....
Merci encore !!!!
=SI(T7<>"";"";SI(O7<>"";O7;Y$2)-E7)
Pour tes lignes absolument vides, je n'ai pas de réponse car :
ligne vide => O7 et T7 vides : cas n° 4 => Y$2-E7
Il faut donc choisir une autre cellule de ta ligne 7 qui est toujours complétée
habituellement (exemple : A7 pour la date ou un n° ligne) ; donc si A7 vide :
ligne censée être entièrement vide (exemple : pas d'opération bancaire non
datée, ou pas de mouvement de stock sans référence article) ; si A7 non vide, application de la formule ci-dessus. :)
C'est normal : 42744 est ton pseudo ! Ah non, pardon 42717, j'ai confondu ! ;)
Sérieusement : 42744 est le n° de série qui correspond à la date 09/01/2017.
Juste pour info, le n° de série 42717 correspond à la date du 13/12/2016. ;)
En B5 (par exemple) : 09/01/2017 ; tu la vois telle quelle car elle a un format
date jj/mm/aaaa (ou similaire). Si tu mets B5 en format Standard, tu verras
le n° de série de cette date, donc 42744. Excel fait tous les calculs de date
à partir des n° de série sous-jacents.
Je viens de modifier mon message précédent => tu n'as pas pu lire ce que
j'ai ajouté pour les lignes vides ; j'espère que ça résoudra ton problème.
Bonjour
si vous êtes sur de ne pas avoir de date en même temps dans les deux cases (sinon la formule prendra la date au plus tard)
=SI(ET(O7="";T7="");Y2;MAX(O7;T7))-E7
Mais comme dit Eric (salut), on ne sait pas trop ce que vous voulez faire quand O7 est vide et T7 a une date
crdlmnt
si vous êtes sur de ne pas avoir de date en même temps dans les deux cases (sinon la formule prendra la date au plus tard)
=SI(ET(O7="";T7="");Y2;MAX(O7;T7))-E7
Mais comme dit Eric (salut), on ne sait pas trop ce que vous voulez faire quand O7 est vide et T7 a une date
crdlmnt
Dans l'énoncé initial du demandeur 42717, sa formule de départ
contient $Y$2 => selon les T7, O7, E7, il va probablement tirer sa
formule vers le bas ! donc dans ta formule, il vaut mieux : Y$2 !
De plus, comme l'utilisateur doit éventuellement faire une saisie
en O7 ou en T7, il y a un risque qu'un utilisateur saisisse une date
dans une de ces cellules en oubliant d'effacer l'autre !
La formule que je lui ai proposée dans mon message #2 tient compte
de cela, puisque j'ai mis au début : =SI(ET(O7<>"";T7<>"");""; ... et avec
=SI(ET(O7<>"";T7<>"");"?"; il y aura un point d'interrogation si 2 dates
en même temps dans O7 et T7.