Cette question est basée sur les observations d' AdamV dans sa réponse sur Comment puis-je obtenir le nom du jour dans une cellule dans Excel?
Lorsque A1 a la valeur 2009-08-01, alors:
=WEEKDAY(A1)
obtiendra7
=TEXT(7, "dddd")
obtiendraSaturday
=TEXT(7,"dddd, yyyy-mm-dd")
obtiendraSaturday, 1900-01-07
=TEXT(1,"dddd, yyyy-mm-dd")
obtiendraSunday, 1900-01-01
=TEXT("1900-01-01","dddd, yyyy-mm-dd")
obtiendra égalementSunday, 1900-01-01
Les deux derniers se trompent: le 1er janvier 1900 est en fait un lundi.
Diverses sources semblent confirmer que:
- Janvier 1900 - Wikipedia, l'encyclopédie libre.
- Calendrier de l'année 1900 - Pays-Bas.
- Calendrier de l'année 1900 - États-Unis.
Qu'est-ce que je rate? Pourquoi Excel fait-il cela mal?
microsoft-excel
date
Jeroen Wiert Pluimers
la source
la source
Réponses:
Comme décrit dans Microsoft KB 214058 :
Les «autres programmes de feuille de calcul» se réfèrent à Lotus 1-2-3 , qui était assez populaire à l'époque, et supposait à tort que l'année 1900 était une année bissextile. Ceci est expliqué plus en détail dans KB 214326 :
la source
Voici la raison expliquée par Joel lui-même: My First BillG Review
la source
Une solution à cela consiste à ajouter 400 ans à l'année, à travailler le jour de la semaine comme dans la formule suivante = WEEKDAY (DATE (A4 + 400, B4, C4), 1) donc si A4 = 1834 B4 = 12 C4 = 14 cela retournerait 1 (dimanche) qui est le même que pour le 14 décembre 2234 Cela cesse de fonctionner pour les dates avant 1753 l'année après le changement du calendrier grégorien
la source