Mois-décaler anomalie ?
Fermé
Pygos
-
3 oct. 2013 à 13:07
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 - 26 nov. 2014 à 12:58
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 - 26 nov. 2014 à 12:58
A voir également:
- Mois.decaler
- Décaler colonne excel - Guide
- Formule excel date + 6 mois ✓ - Forum Excel
- Convertir trimestre en mois - Forum Excel
- Trier par mois excel - Guide
- Samia, kevin et jason ont gardé la trace de leurs ventes quotidiennes du mois de juillet 2016. dans la feuille bilan, il manque les résultats de jason. insérez une colonne entre samia et kevin et reportez-y les résultats de jason. quel mot secret apparait en f2 ? - Forum LibreOffice / OpenOffice
4 réponses
Je précise que l'anomalie est certainement lié au fait que juillet et août ont 31 jours, je ne rencontre pas le problème pour le 31/01 d'une année....
Bon j'ai indiqué dans deux cellules cachés les dates posant problème (31/03/2013, 31/05/2013) et résultat différent si = à ces deux dates........
tontong
Messages postés
2567
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
20 novembre 2024
1 059
3 oct. 2013 à 14:34
3 oct. 2013 à 14:34
Bonjour,
Anomalie, non, mais la façon de compter adoptée par Excel demande une bonne compréhension pour obtenir le résultat recherché.
=MOIS.DECALER(K7;6) décale de 6 mois la valeur K7 mais si K7 = 31/03/13 on devrait trouver le 31 septembre qui n'existe pas, Excel a choisi de renvoyer le dernier jour du mois donc le 30/09/13.
MOIS.DECALER("30/03/13";6)=MOIS.DECALER("31/03/13";6)=30/09/13
Pour le 31/01/13 plus 6 mois >> pas de problème puisque le 31 juillet existe.
Pour votre application regardez si
=SI(K7>0;MOIS.DECALER(K7-1;6);0) convient mieux.
Vous pouvez aussi essayer de composer avec
Date( Annee();Mois();Jour()).
Anomalie, non, mais la façon de compter adoptée par Excel demande une bonne compréhension pour obtenir le résultat recherché.
=MOIS.DECALER(K7;6) décale de 6 mois la valeur K7 mais si K7 = 31/03/13 on devrait trouver le 31 septembre qui n'existe pas, Excel a choisi de renvoyer le dernier jour du mois donc le 30/09/13.
MOIS.DECALER("30/03/13";6)=MOIS.DECALER("31/03/13";6)=30/09/13
Pour le 31/01/13 plus 6 mois >> pas de problème puisque le 31 juillet existe.
Pour votre application regardez si
=SI(K7>0;MOIS.DECALER(K7-1;6);0) convient mieux.
Vous pouvez aussi essayer de composer avec
Date( Annee();Mois();Jour()).
Lentzouille
Messages postés
670
Date d'inscription
mardi 27 septembre 2011
Statut
Membre
Dernière intervention
11 septembre 2020
64
3 oct. 2013 à 14:37
3 oct. 2013 à 14:37
Bonjour,
C'est incompréhensible ta formule,
Avec 04/03/2013 tu veux bien décaler de 6 mois
Par contre avec 31/03/2013 tu veux juste décaler de 1 jour,
Que veux tu faire au final ?!
C'est incompréhensible ta formule,
Avec 04/03/2013 tu veux bien décaler de 6 mois
Par contre avec 31/03/2013 tu veux juste décaler de 1 jour,
Que veux tu faire au final ?!
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 416
Modifié par Vaucluse le 26/11/2014 à 12:26
Modifié par Vaucluse le 26/11/2014 à 12:26
Bonjour
essayez peut être:
=FIN.MOIS(MOIS.DECALER(A1;6);0)
pour être à la fin du 6° mois complet suivant la date en A1
=FIN.MOIS(MOIS.DECALER(A1;5);0) s'il faut inclure le mois de la date dans les 6
crdlmnt
essayez peut être:
=FIN.MOIS(MOIS.DECALER(A1;6);0)
pour être à la fin du 6° mois complet suivant la date en A1
=FIN.MOIS(MOIS.DECALER(A1;5);0) s'il faut inclure le mois de la date dans les 6
crdlmnt
Bonjour,
Merci encore une fois pour ta contribution !
Je vais essayer d'être plus clair dans ma question...
Si j'indique le 02/03/2014, j'attends comme réponse le 01/09/2014
Si j'indique le 01/03/2014, j'attends comme réponse le 31/08/2014
Souhait >Calcul 6 mois de date à date
Mais le problème, c'est que le mois de février ne contient dans mon exemple que 28 jours en 2014, que les 2 mois d'été(juillet et août ont 31 jours), et donc que j'essaye d'adapter la fonction décaler....
=SI(K7>0;MOIS.DECALER(K7-1;6);0)
Merci d'avance !
Merci encore une fois pour ta contribution !
Je vais essayer d'être plus clair dans ma question...
Si j'indique le 02/03/2014, j'attends comme réponse le 01/09/2014
Si j'indique le 01/03/2014, j'attends comme réponse le 31/08/2014
Souhait >Calcul 6 mois de date à date
Mais le problème, c'est que le mois de février ne contient dans mon exemple que 28 jours en 2014, que les 2 mois d'été(juillet et août ont 31 jours), et donc que j'essaye d'adapter la fonction décaler....
=SI(K7>0;MOIS.DECALER(K7-1;6);0)
Merci d'avance !
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 416
26 nov. 2014 à 12:45
26 nov. 2014 à 12:45
Je ne vois pas les problèmes signalés
le fait que le système affiche 29/9 quand vous entrez 31/3 est normal, puisque Excel va chercher un jour avant la fin du mois correspondant.
par contre on comprend mal votre premier message, je vous cites:
"31/03/2013 cela ne fonctionne pas, car le résultat est 29/09/2013 au lieu de 30/03/2013 ( date souhaitée) "
vous voulez décaler de 6 mois et retrouver la date un jour avant celle de départ????
Et enfin si vous voulez décaler de 6 mois moins un jour, essayez avec:
=DATE(ANNEE(K7);MOIS(K7)+6;JOUR(K7)-1)
ce sera sans doute plus juste en fonction de vos attentes.
crdlmnt
le fait que le système affiche 29/9 quand vous entrez 31/3 est normal, puisque Excel va chercher un jour avant la fin du mois correspondant.
par contre on comprend mal votre premier message, je vous cites:
"31/03/2013 cela ne fonctionne pas, car le résultat est 29/09/2013 au lieu de 30/03/2013 ( date souhaitée) "
vous voulez décaler de 6 mois et retrouver la date un jour avant celle de départ????
Et enfin si vous voulez décaler de 6 mois moins un jour, essayez avec:
=DATE(ANNEE(K7);MOIS(K7)+6;JOUR(K7)-1)
ce sera sans doute plus juste en fonction de vos attentes.
crdlmnt