Esta pregunta se basa en las observaciones de AdamV en su respuesta sobre ¿Cómo obtengo el nombre del día en una celda en Excel?
Cuando A1 tiene el valor 2009-08-01, entonces:
=WEEKDAY(A1)
obtendrá7
=TEXT(7, "dddd")
obtendráSaturday
=TEXT(7,"dddd, yyyy-mm-dd")
obtendráSaturday, 1900-01-07
=TEXT(1,"dddd, yyyy-mm-dd")
obtendráSunday, 1900-01-01
=TEXT("1900-01-01","dddd, yyyy-mm-dd")
también obtendráSunday, 1900-01-01
Los dos últimos están equivocados: el 1 de enero de 1900 es en realidad un lunes.
Varias fuentes parecen confirmar que:
- Enero de 1900 - Wikipedia, la enciclopedia libre.
- Calendario del año 1900 - Países Bajos.
- Calendario del año 1900 - Estados Unidos.
¿Qué me estoy perdiendo? ¿Por qué Excel está haciendo esto mal?
microsoft-excel
date
Jeroen Wiert Pluimers
fuente
fuente
Respuestas:
Como se describe en Microsoft KB 214058 :
Los "otros programas de hoja de cálculo" se refieren a Lotus 1-2-3 , que era bastante popular en aquel entonces, y suponía incorrectamente que el año 1900 era bisiesto. Esto se explica con aún más detalle en KB 214326 :
fuente
Aquí está la razón explicada por el propio Joel: Mi primera revisión de BillG
fuente
Una solución a esto es agregar 400 años al año, para calcular el día de la semana como en la siguiente fórmula = DÍA DE LA SEMANA (FECHA (A4 + 400, B4, C4), 1) así que si A4 = 1834 B4 = 12 C4 = 14 esto devolvería 1 (domingo) que es lo mismo que para el 14 de diciembre de 2234 Esto deja de funcionar para fechas anteriores a 1753 el año posterior al cambio al calendario gregoriano
fuente