Trabajo general con fechas en Excel

Entrada núm: 2 of 3 de la serie Trabajo con fechas

Como es bastante habitual encontrarse con tablas, datos y registros que contienen fechas en Excel, conviene conocer bien la forma en la que estos datos son almacenados y procesados por la hoja de cálculo. Por eso tenía pendiente desde hace tiempo la publicación de un artículo sobre trabajo general con fechas en Excel.

En primer lugar hay que dejar claro que Excel no trabaja con datos de tipo fecha. Esto puede parecer sorprendente, pero es así. La naturaleza real del dato que la celda de la hoja de cálculo almacena es la de un valor entero, comprendido entre el 1, que representa al 1 de enero del año 1900, y el 2.958.465 que representa al 31 de diciembre del lejanísimo año 9999. Al formatear estos valores enteros como fecha, Excel los mostrará con una de las muchísimas variantes posibles a la hora de mostrar esa fecha. Pero la realidad última del dato tipo fecha es siempre la de un número entero. Y por cierto, hasta donde yo he sido capaz de averiguar, esto ocurre también en VBA, y en todos los lenguajes de programación que cuentan con variables tipo Date, o sea, fecha. La realidad intrínseca es de tipo entero, y la realidad mostrada es la fecha del calendario gregoriano extendido.

En el curso normal de nuestro trabajo con Excel, es bastante improbable que nos veamos en la necesidad de tratar con registros con fechas del pasado distante o del futuro remoto, por tanto, la horquilla de validez en la que la hoja es capaz de reconocer el número entero como fecha y formatearlo como tal, es decir, la del 1 de enero de 1900 al 31 de diciembre de 9999, debería ser más que suficiente.

Pero es lógico que el buen conocedor de los límites de su herramienta de trabajo sienta curiosidad por el comportamiento de Excel cuando se ve obligado a tratar con registros que se salen de esa horquilla de validez. Dada la incertidumbre futura, el caso que viene a la mente inmediatamente es el del trato de registros con información sobre el pasado lejano. Aquí es donde vamos a encontrar una seria limitación en Excel, que sin embargo vamos a poder remediar de alguna manera echando mano al entorno de programación y a VBA, que es capaz de trabajar con fechas que tienen el mismo límite futuro que las de Excel, es decir el 31 de diciembre de 9999, pero que se alargan hacia el pasado hasta el 1 de enero del año 100 d.C. En el video resolvemos un ejemplo de registros históricos con cálculo de días transcurridos entre dos fechas pasadas.

Finalmente también conviene conocer algunas curiosidades sobre el calendario en general y sobre el error no corregido en ninguna de las versiones de Excel, que se deriva del hecho de que los programadores de Microsoft, parece que en un intento de dar compatibilidad a Excel con la antigua Lotus 123, consideraron el año 1900 como bisiesto, cuando según el calendario gregoriano no lo es. Precisamente este hecho, combinado con que el valor real del dato tipo fecha es entero en todos los entornos, es el que puede causar problemas de compatibilidad y errores de interpretación a la hora de traer a Excel datos que provengan de otros orígenes. Pero esto ya son matices tan delicados que conviene reservarlos para otro video especial sobre problemas potenciales con el calendario en Excel.

Por cierto, este es el libro del que hablo en el video, mi libro sobre el tiempo:

Libro no flotante LHOT 01
La historia oculta del tiempo
Un viaje por el saber en busca de respuestas para una pregunta intemporal: ¿Qué es el tiempo?
Series Navigation<< Localizar el último domingo de cada mesNombre del mes a partir de una fecha >>

Comments

So empty here ... leave a comment!

Deja tu comentario aquí:

Sidebar



A %d blogueros les gusta esto: