Función fin.mes puede ser incorrecta si fecha está en febrero

Seleccione idioma Seleccione idioma
Id. de artículo: 179545 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

Síntomas

Si utiliza la función fin.mes para devolver el último día del mes, la función puede devolver el primer día del mes siguiente en su lugar.

Por ejemplo, la función fin.mes incorrectamente puede devolver 3/1/2100 (1 de marzo de 2100) en lugar de 2/28/2100 (28 de febrero de 2100).

Causa

Este problema se produce cuando la fecha devuelta por la fin.mes función cumple las condiciones siguientes:
  • La fecha es en febrero. - y -

  • La fecha es en un año de siglo no es divisible por 400, por ejemplo:
    2100 2200, 2300, 2500, 2600, 2700, 2900, 3000
Nota: Este problema no se produce si la fecha es en año 1900 o 2000.

Solución

Dado que la función fin.mes siempre debe devolver una fecha al final del mes, puede modificar las fórmulas para que restar uno a la fecha devuelta por la función de fin.mes si la fecha no es el final del mes. Esto obliga a la función para devolver la fecha correcta, por ejemplo:
A1: 1/1/2100
A2: =EOMONTH(A1,1)
La fórmula de celda que a2 devuelve 3/1/2100, una fecha incorrecta. Sin embargo, si cambia la fórmula
A1: 1/1/2100
A2: =IF(DAY(EOMONTH(A1,1))=1,EOMONTH(A1,1)-1,EOMONTH(A1,1))
la fórmula devuelve el correcto fecha (2/28/2100) aunque la fecha cae en febrero de un año de siglo que no es divisible por 400.

Así es cómo funciona la fórmula:
Si el día del final del mes es 1, volver a calcular el final del mes, restar uno y devolver la fecha. De lo contrario, volver a calcular el final del mes y devolver la fecha.

Estado

Microsoft ha confirmado que trata de un problema de los productos de Microsoft enumerados al principio de este artículo. Este problema ya no ocurre en Microsoft Excel 2000.

Más información

La función fin.mes, que se incluye en el análisis de herramientas, le permite devolver la fecha del último día en un mes. Por ejemplo, si desea determinar el último día del mes seis meses desde la fecha actual, utilice la fórmula siguiente:
=EOMONTH(TODAY(),6)
Si hoy es 13/1/98, la función devuelve el 31/7/98: el último día del mes seis meses a partir de hoy.

El problema descrito en este artículo se produce sólo cuando la función fin.mes devuelve una fecha de febrero de un año de siglo no es un año bisiesto, por ejemplo:
A1: B1 DE 1, 1/2000: =EOMONTH(A1,1)
A2: 1/1/2100 B2: =EOMONTH(A2,1)
A3: 1/1/2200 B3: =EOMONTH(A3,1)
A4: 1/1/2300 B4: =EOMONTH(A4,1)
A5: B5 DE 1/1/2400: =EOMONTH(A5,1)
Las fórmulas de las celdas B1 y B5 devuelven los resultados correctos (2/29/2000 y 2/29/2400) porque las fechas en años del siglo que son divisibles por 400.

Las fórmulas de las celdas B2, B3 y B4 devuelvan incorrecta (3/1/2100, 3/1/2200 2300/1/3) se produce porque las fechas estén en años del siglo que no son divisibles por 400.

Propiedades

Id. de artículo: 179545 - Última revisión: sábado, 01 de febrero de 2014 - Versión: 2.0
La información de este artículo se refiere a:
  • Microsoft Excel 97 Standard Edition
  • Microsoft Excel 98 para Macintosh
Palabras clave: 
kbnosurvey kbarchive kbmt kbbug kbpending KB179545 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 179545

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com