Diferenciar fechas de números en Excel

viernes, julio 15, 2011

Ya hemos explicado en este blog que en Excel, las fechas son números. Por ejemplo, la fecha de hoy, 15/07/2011, es para Excel el número 40739 que es el número de días transcurridos desde el 01/01/1900.

Cuando introducimos en una celda un valor que Excel pueda reconocer como fecha, el formato de fecha es aplicado automáticamente. Pero, por debajo del formato en pantalla, Excel sigue “viendo” el número de serie que representa la fecha. Esta captura de pantalla demuestra el proceso



Esta característica puede crearnos dificultades si tenemos que diferenciar en una fórmula entre fechas y números.

Excel cuenta con varias funciones que nos permiten evaluar el tipo de datos que contiene una celda; por ejemplo: ES.PAR, ESTEXTO, ESNUMERO, etc. (todas bajo la categoría Información en el asistente de funciones). Pero no tiene una función “ESFECHA”, que nos permita establecer si la celda evaluada contiene una fecha.

La única alternativa con funciones es usar la función CELDA con el argumento “formato”. Si el resultado de la fórmula es D1, D2, D3, D4 o D5, entonces la celda evaluada contiene una fecha



Por ejemplo



Pero esta función no reconoce todos los formatos legítimos de fechas (aparentemente debido a los formatos regionales)



Una solución más práctica es crear una UDF (función definida por el usuario) aprovechando que en Vba si hay una función para reconocer fechas: IsDate

Creamos la UDF poniendo este código en un módulo común del editor (si lo guardamos en el Personal, la función estará disponible para todos los cuadernos activos)

Function contiene_fecha(rngCell As Range) As Boolean

    contiene_fecha = IsDate(rngCell)
   
End Function


Al aplicar la función obtenemos el resultado “VERDADERO” o “FALSO” de acuerdo al contenido de la celda

2 comments:

César,  02 agosto, 2011 14:27  

Off-Topic

Me parece muy didáctico el tema de los videos. ¿Podrías decirme que programa utilizas? Me gustaría añadir algunos ejemplos para una presentación que estoy preparando.

Gracias por adelantado.

Jorge L. Dunkelman 02 agosto, 2011 17:33  

Hay varias aplicaciones, también gratuitas. Yo uso el FastStone Capture. Otra que puedes usar es el Windows Media Encoder.

Publicar un comentario

Google+ Followers

Seguidores

Google+ Badge

Términos Legales

  © Blogger template On The Road by Ourblogtemplates.com 2009

Back to TOP