Las fechas son el único tipo de dato en Excel que parece texto, se comporta como número y se rompe como ninguno de los dos. Una columna de fechas se ordenará sola de forma absurda, se negará a sumarse, dejará fuera en silencio la mitad de las filas de un SUMAR.SI.CONJUNTO y mostrará ##### por motivos que no tienen nada que ver con un error.
Casi todo eso viene de un mismo malentendido, y corregirlo arregla todo lo demás: una fecha en Excel no es una fecha. Es un número disfrazado.
Consejo: Selecciona cualquier celda con fecha y pulsa
Ctrl+Mayús+~(el atajo del formato General). Si aparece un número, es una fecha real. Si no cambia nada, es texto haciéndose pasar por fecha — y la sección 9 es la que necesitas.
1) El Modelo de Número de Serie
Excel guarda una fecha como el número de días transcurridos desde un origen fijo. En el sistema de fechas de Windows, el día 1 es el 1 de enero de 1900, así que:
| Fecha | Se guarda como |
|---|---|
| 1 de enero de 1900 | 1 |
| 1 de enero de 2000 | 36526 |
| 9 de enero de 2026 | 46031 |
| 31 de diciembre de 9999 | 2958465 |
Las horas usan la parte decimal de ese mismo número. Un día es 1, así que una hora es 1/24 y un minuto es 1/1440:
| Hora | Se guarda como |
|---|---|
| 00:00 | 0,0 |
| 06:00 | 0,25 |
| 12:00 | 0,5 |
| 18:00 | 0,75 |
Una celda que muestra 09/01/2026 18:00 contiene por tanto 46031,75. La parte de fecha es el entero, la de hora es el decimal, y el formato es lo único que decide qué partes ves.
Cuatro consecuencias que conviene interiorizar:
- Puedes hacer aritmética con fechas.
= fecha + 30son treinta días después.= fin - inicioes un número de días. Sin función alguna. ENTEROelimina la hora.=ENTERO(A2)convierte una marca de tiempo en una fecha limpia — la solución estándar a "mis fechas no se agrupan en la tabla dinámica".RESIDUOelimina la fecha.=RESIDUO(A2,1)deja solo la hora del día.- Antes de 1900 no hay fechas. Excel no puede guardar 1875 como número de serie. Los datos históricos tienen que vivir como texto y tratarse por otros medios.
El error famoso. Excel cree que el 29 de febrero de 1900 existió. No existió — 1900 no fue bisiesto. El fallo se heredó deliberadamente de Lotus 1-2-3 por compatibilidad de archivos y nunca se ha corregido, porque corregirlo desplazaría todas las fechas de todos los libros guardados hasta hoy. En la práctica significa que el número de serie 60 es un día que no existe, y que cualquier fecha anterior al 1 de marzo de 1900 está desviada un día. Las facturas de nadie son de febrero de 1900, así que es una curiosidad — hasta que intentas cuadrar números de serie de Excel contra el recuento de días de otro sistema y te queda exactamente un día de diferencia.
El otro sistema de fechas. Los libros antiguos de Mac pueden usar el sistema 1904, donde el día 0 es el 1 de enero de 1904. Pega fechas de un libro de 1904 en uno de 1900 y todas se desplazan 1.462 días — algo más de cuatro años. La opción está en Archivo → Opciones → Avanzadas → Al calcular este libro, y la única respuesta sensata al encontrar un desajuste es convertir uno de los archivos en lugar de convivir con el desfase.
Libro de Facturas para Practicar Fechas
Ocho facturas con fecha de emisión, vencimiento a treinta días y una fecha de pago que a veces falta. Los datos están en A2:F9. Todas las fórmulas del artículo — antigüedad, días de retraso, días laborables, agrupación por mes — se escriben contra estas seis columnas.
fxLas celdas con fórmulas están resaltadas en verde
Pasa el mouse sobre las celdas con fórmulas para ver la fórmula y resaltar las celdas referenciadas
2) Meter Fechas Sin Equivocarse
🎯 Escenario: Necesitas la fecha de hoy, una fecha fija que signifique lo mismo para un compañero de otro país, y una fecha montada a partir de tres columnas distintas.
HOY() y AHORA() no llevan argumentos:
=HOY() la fecha actual, sin hora
=AHORA() la fecha y la hora actuales
Ambas son volátiles: se recalculan con cualquier cambio en el libro, no solo cuando cambia el día. Eso es lo que quieres en un informe de antigüedad en vivo y exactamente lo que no quieres en un registro de auditoría — una columna "fecha de recepción" construida con HOY() marcará siempre la fecha de hoy.
Para un sello que no se mueva nunca, usa el teclado en lugar de una función:
| Atajo | Inserta |
|---|---|
Ctrl + ; | La fecha de hoy, como valor fijo |
Ctrl + Mayús + ; | La hora actual, como valor fijo |
FECHA(año, mes, día) construye una fecha a partir de tres números, y es la única forma inequívoca de escribir una fecha literal en una fórmula:
=FECHA(2026,1,9)
Escribir "09/01/2026" dentro de una fórmula le pide a Excel que adivine, y lo que adivine depende de la configuración regional de la máquina — 9 de enero en Madrid, 1 de septiembre en Nueva York. FECHA no se puede malinterpretar.
FECHA también desborda a propósito, y de ahí salen dos de los mejores trucos del lenguaje:
=FECHA(2026,13,1) → 1 de enero de 2027 (el mes 13 pasa al año siguiente)
=FECHA(2026,2,31) → 3 de marzo de 2026 (febrero tiene 28 días en 2026, 3 sobran)
=FECHA(2026,3,0) → 28 de febrero de 2026 (el día 0 es el anterior al día 1)
Esa última es la fórmula clásica del "último día del mes": =FECHA(AÑO(A2), MES(A2)+1, 0). Funciona, y la sección 4 tiene una forma más corta.
Trampa: Los años de dos cifras se interpretan con un corte fijo — de
00a29pasan a 2000–2029, y de30a99pasan a 1930–1999. Escribir1/1/30te da 1930, no 2030. En un formulario que la gente rellena a mano, esto merece una regla de Validación de datos.
Mini ejercicio: En una celda vacía escribe =FECHA(2026,1,9) y pulsa Ctrl + Mayús + ~. Deberías ver 46031 — el mismo número de la tabla de la sección 1.
3) Descomponer una Fecha
🎯 Escenario: Necesitas el nombre del mes para un encabezado, el año para un filtro y el día de la semana para detectar facturas emitidas en fin de semana.
Las tres funciones de componentes son exactamente lo que parecen:
=AÑO(C2) → 2026
=MES(C2) → 1
=DIA(C2) → 9
Devuelven números, no nombres. Para un nombre necesitas TEXTO, que aplica un formato de presentación y devuelve el resultado como texto:
=TEXTO(C2,"mmm") → ene
=TEXTO(C2,"mmmm aaaa") → enero 2026
=TEXTO(C2,"ddd") → vie
=TEXTO(C2,"dddd") → viernes
Fíjate en los códigos: en Excel en español el año es aaaa, no yyyy. El código de formato se traduce igual que el nombre de la función.
Trampa:
TEXTOte da una etiqueta, no una fecha."ene 2026"se ordena alfabéticamente, y"abr 2026"acaba delante de todo. Agrupa por una fecha real — el día 1 del mes — y dale formatommm aaaapara mostrarla. Así el orden sigue siendo cronológico, porque el valor de debajo sigue siendo una fecha.
DIASEM devuelve un número, y su segundo argumento decide cuál:
DIASEM(fecha, n) | Lunes | Domingo | Para qué |
|---|---|---|---|
n omitido o 1 | 2 | 1 | Compatibilidad heredada |
2 | 1 | 7 | El que quieres — lun=1, el fin de semana es 6 y 7 |
3 | 0 | 6 | Base cero; útil para aritmética |
Con el tipo 2, comprobar el fin de semana se lee solo:
=DIASEM(D2,2)>5
Resultado: VERDADERO para INV-2041, cuyo vencimiento del 8 de febrero de 2026 cae en domingo — un vencimiento que nadie iba a cumplir a tiempo.
Saltar al inicio de la semana usa el tipo 3, porque restar un día de la semana en base cero aterriza justo en el lunes:
=C2-DIASEM(C2,3)
Los números de semana vienen en dos sabores, y no coinciden:
=NUM.DE.SEMANA(C2,2)— la versión sencilla. La semana 1 es la que contiene el 1 de enero, y el2hace que las semanas empiecen en lunes.=ISO.NUM.DE.SEMANA(C2)— la versión ISO 8601. La semana 1 es la que contiene el primer jueves del año, siempre de lunes a domingo.
Si tus informes tienen que cuadrar con los de alguien más — un socio, un ERP, un calendario de producción — usa ISO.NUM.DE.SEMANA. Es lo que los sistemas de los demás entienden por "semana 3".
4) Aritmética de Meses: FECHA.MES y FIN.MES
🎯 Escenario: Las condiciones de pago son "fin del mes siguiente". Sumar 30 días es incorrecto en febrero, incorrecto en un mes de 31 días e incorrecto cada año bisiesto.
Sumar días es fácil. Sumar meses no, porque los meses no tienen una longitud fija. Dos funciones lo hacen bien.
FECHA.MES(inicio, meses) — el mismo día del mes, unos meses después:
=FECHA.MES(C2,1) un mes después de la emisión
=FECHA.MES(C2,-3) tres meses antes
=FECHA.MES(C2,12) el aniversario
Recorta en vez de desbordar: =FECHA.MES(FECHA(2026,1,31),1) devuelve el 28 de febrero de 2026, no el 3 de marzo. Que es casi siempre lo que se quiere para contratos y suscripciones.
FIN.MES(inicio, meses) — el último día del mes, a unos meses de distancia:
=FIN.MES(C2,0) fin de este mes
=FIN.MES(C2,-1) fin del mes pasado
=FIN.MES(C2,1) fin del mes que viene
FIN.MES sabe de meses de 30 días y de años bisiestos para que tú no tengas que saberlo. Y como FIN.MES(fecha,-1)+1 es el día 1 del mes actual, te da la otra mitad de la pareja:
=FIN.MES(C2,-1)+1 el primer día de este mes
=FIN.MES(C2,0)+1 el primer día del mes siguiente
Aplicado al libro de facturas, "vence a fin del mes siguiente" es una sola función:
=FIN.MES(C2,1)
Resultado: INV-2041, emitida el 9 de enero, vence el 28 de febrero de 2026 — correctamente corto, sin que nadie tenga que acordarse de que 2026 no es bisiesto.
Montar el esqueleto de un informe. Doce fines de mes a partir de una fecha inicial, como una sola fórmula derramada en Microsoft 365:
=FIN.MES(FECHA(2026,1,1), SECUENCIA(12,1,0,1))
Los periodos fiscales salen de FECHA.MES en cuanto desplazas el año. Para un ejercicio fiscal de abril a marzo, etiquetado por el año en que empieza:
=AÑO(FECHA.MES(C2,-3))
=REDONDEAR.MAS(MES(FECHA.MES(C2,-3))/3, 0)
Resultado: Una factura emitida el 13 de marzo de 2026 pertenece al ejercicio 2025, trimestre 4 — que es exactamente lo correcto, y que ningún SI anidado habría expresado con esta claridad.
Trampa:
FECHA.MESyFIN.MESdevuelven un número de serie, y si la celda destino tenía formato General verás46081en lugar de una fecha. No hay nada roto; simplemente nadie le ha dicho a la celda qué está guardando. Ponle formato Fecha corta y sigue.
5) Diferencias: Resta, SIFECHA y FRAC.AÑO
🎯 Escenario: Cuántos días tardó en cobrarse cada factura, qué antigüedad tiene hoy una impagada y cuánto tiempo lleva el cliente con nosotros en años y meses.
Días: simplemente resta. No hay función que aprender.
=E2-C2
Resultado: 27 para INV-2041 — emitida el 9 de enero, cobrada el 5 de febrero. =DIAS(E2,C2) da la misma respuesta con los argumentos al revés, y existe sobre todo para que la operación tenga nombre.
Días de retraso, contando solo el retraso real:
=MAX(0, E2-D2)
Resultado: 0 para las facturas cobradas a tiempo, 11 para INV-2043, que vencía el 8 de marzo y se cobró el 19.
Envejecer una factura impagada necesita una rama, porque la columna de pago está vacía:
=SI(E2="", MAX(0, HOY()-D2), MAX(0, E2-D2))
Resultado: Una única columna de "días vencidos" que informa del histórico en las facturas cerradas y de la antigüedad en vivo en las abiertas. Clasifícala con BUSCAR, que toma el mayor punto de corte que no supere el valor:
=BUSCAR(G2, {0,1,31,61,91}, {"Sin vencer","1-30","31-60","61-90","90+"})
Meses y años: SIFECHA. Es la rara de Excel — una superviviente de Lotus 1-2-3 que Microsoft mantiene por compatibilidad. No tiene autocompletado, ni descripción de argumentos, y si escribes =SIFECHA( Excel no te ofrece nada. Sigue funcionando en todas las versiones, y no hay nada más que haga su trabajo:
=SIFECHA(inicio, fin, "unidad")
| Unidad | Devuelve |
|---|---|
"Y" | Años completos entre las fechas |
"M" | Meses completos |
"D" | Días (igual que la resta) |
"YM" | Meses que sobran tras los años completos |
"YD" | Días que sobran tras los años completos |
"MD" | Días que sobran tras los meses completos |
El uso estándar es una cadena de antigüedad:
=SIFECHA(C2,HOY(),"Y") & "a " & SIFECHA(C2,HOY(),"YM") & "m"
Trampa: No uses
"MD". La propia documentación de Microsoft lleva una advertencia en su contra: como ignora meses y años, puede devolver un número negativo cuando el día final es anterior en el mes que el día inicial."YM"y"YD"son seguras."MD"es un defecto conocido que nunca se corrigió, solo se documentó.
Dos cosas más que SIFECHA te hará: devuelve #¡NUM! si la fecha inicial es posterior a la final — nunca negativos — y la unidad tiene que ir entre comillas.
Años fraccionados: FRAC.AÑO. Donde SIFECHA trunca, FRAC.AÑO te da el decimal:
=FRAC.AÑO(C2, HOY(), 1)
Resultado: 0,57 en lugar de 0. El tercer argumento es la base de cómputo de días, y 1 (real/real) es la que hay que usar salvo que finanzas te diga otra cosa — el valor por defecto 0 es el convenio estadounidense 30/360, que supone que todos los meses tienen treinta días y discrepará en silencio del calendario en un día o dos.
6) Días Laborables: DIAS.LAB y DIA.LAB
🎯 Escenario: "El pago vence en 20 días laborables". "¿Cuántos días hábiles tardó realmente esa factura?" Ninguna de las dos se responde sumando o restando.
Estas dos funciones son imágenes especulares:
DIAS.LAB(inicio, fin, [festivos])— cuenta los días laborables entre dos fechas.DIA.LAB(inicio, días, [festivos])— encuentra la fecha que está a n días laborables.
Contar:
=DIAS.LAB(C2, E2)
Resultado: 20 para INV-2041, frente a 27 días naturales. Ojo: DIAS.LAB incluye los dos extremos — si ambos son laborables, ambos cuentan. Un inicio y un fin el mismo martes devuelven 1, no 0.
Proyectar hacia delante:
=DIA.LAB(C2, 20)
DIA.LAB excluye el día inicial, que es el comportamiento que quieres: "20 días laborables desde hoy" no debería contar hoy.
Los festivos son lo esencial. Ambas funciones aceptan un último argumento opcional: un rango de fechas que saltar además de los fines de semana.
- Pon los festivos de tu región en una columna de una hoja
Listas. - Conviértela en Tabla con
Ctrl+Ty llámalatblFestivospara que crezca sola. - Referénciala en todos los cálculos:
=DIAS.LAB(C2, E2, tblFestivos[Fecha])
=DIA.LAB(C2, 20, tblFestivos[Fecha])
Sin ese argumento, ambas funciones cuentan tranquilamente el día de Navidad como laborable. Es el motivo más habitual de que una estimación de entrega hecha en Excel se equivoque en dos o tres días.
Cuando el fin de semana no es sábado y domingo, usa las variantes .INTL, que insertan un argumento de fin de semana:
=DIAS.LAB.INTL(C2, E2, 7, tblFestivos[Fecha])
=DIA.LAB.INTL(C2, 20, "0000011", tblFestivos[Fecha])
| Argumento de fin de semana | Significa |
|---|---|
1 (u omitido) | Sábado y domingo |
7 | Viernes y sábado |
11 | Solo domingo |
"0000011" | Una cadena de 7 caracteres, lunes primero: 1 = no laborable |
La forma de cadena sirve para todo — "0001000" para una operación que cierra los jueves, "0000000" para una planta de siete días donde solo aplica la lista de festivos.
Trampa:
DIAS.LABdevolverá alegremente un número negativo si le pasas las fechas al revés. No es un error y nada lo señala, así que una columna de "días tardados" llena de negativos significa que los argumentos están invertidos, no que el tiempo corriera hacia atrás.
7) Horas, y Qué Pasa a Partir de las 24
🎯 Escenario: Un parte de horas con hora de entrada y de salida. Necesitas las horas de cada turno, un total semanal y una cifra decimal que multiplicar por un precio por hora.
Como la hora es una fracción de día, la duración es una resta, igual que con las fechas:
=fin - inicio
Y entonces se tuercen tres cosas, por orden.
Problema 1: el total se reinicia a las 24 horas. Suma una semana de turnos y 42:30 se muestra como 18:30, porque el formato estándar h:mm muestra una hora del día, y el día es donde da la vuelta. El número de debajo es correcto — lo único mal es la presentación.
La solución es un formato personalizado, no una fórmula. Selecciona el total, pulsa Ctrl + 1, elige Personalizada y escribe:
[h]:mm
Los corchetes significan "no des la vuelta". [h]:mm muestra 42:30. [m] da minutos totales, [s] segundos totales. Este único formato resuelve la mayoría de las quejas sobre partes de horas en Excel.
Problema 2: los turnos que cruzan la medianoche. Un turno de 22:00 a 06:00 resta -0,667, y las horas negativas se muestran como ##### en el sistema de fechas 1900 por ancha que sea la columna. Envuélvelo en RESIDUO:
=RESIDUO(fin - inicio, 1)
Resultado: 8:00. RESIDUO vuelve a sumar un día entero a cualquier resultado negativo y deja intactos los positivos, así que la misma fórmula sirve para todos los turnos de la hoja.
Problema 3: no puedes multiplicar una hora por un precio. 8:00 es 0,3333, así que multiplicarlo por 20 da 6,67, no 160. Convierte primero a horas decimales:
=(RESIDUO(fin - inicio, 1)) * 24
Resultado: 8, un número normal que puedes multiplicar, promediar y sumar como cualquier otro. Dale a la celda formato Número — el formato de hora heredado en el resultado es lo que hace pensar que este truco no funciona.
Dos más que aparecen constantemente:
=ENTERO(A2) la parte de fecha de una marca de tiempo
=RESIDUO(A2,1) la parte de hora
=REDOND.MULT(A2, NSHORA(0,15,0)) redondear al cuarto de hora más cercano
=A2 + NSHORA(1,30,0) sumar una hora y media
NSHORA(horas, minutos, segundos) da la vuelta a las 24 horas igual que FECHA da la vuelta a los 12 meses, así que NSHORA(25,0,0) es 01:00 — para sumar más de un día, suma 1 por cada día.
Trampa: Escribir
1,30en una celda donde querías una hora y media guarda el número 1,3. Las horas se escriben con dos puntos —1:30— o son solo números que se promediarán en silencio junto a duraciones reales.
8) Agrupar e Informar por Fecha
🎯 Escenario: Un resumen mensual del importe facturado que siga funcionando cuando lleguen filas nuevas, sin columna auxiliar y sin tabla dinámica.
El instinto es añadir una columna "Mes" con TEXTO. No lo hagas — la sección 3 explicó por qué se rompe el orden. Agrupa por una fecha real.
El contenedor del mes es el día 1:
=FIN.MES(C2,-1)+1
Dale a esa columna el formato mmm aaaa y se lee como ene 2026 sin dejar de ser una fecha auténtica por debajo, ordenable y apta para gráficos.
Totalizar un mes sin ninguna columna auxiliar. Pon el día 1 del mes en H2 y usa dos criterios que acoten el mes:
=SUMAR.SI.CONJUNTO($F$2:$F$9, $C$2:$C$9, ">="&H2, $C$2:$C$9, "<="&FIN.MES(H2,0))
Resultado: El total facturado en ese mes. Arrastra H2 por una columna de inicios de mes y el informe se construye solo.
El detalle crítico es el &. Un criterio de fecha debe construirse por concatenación, porque el argumento de criterio es texto:
| Escrito como | ¿Funciona? |
|---|---|
">="&H2 | Sí — el operador se une al valor de la fecha |
">=H2" | No — busca el texto literal "H2" |
">="&"01/01/2026" | Arriesgado — otra vez la interpretación regional |
">="&FECHA(2026,1,1) | Sí — inequívoco y sin celda auxiliar |
Las ventanas móviles usan HOY() como ancla, así que el informe avanza solo:
=SUMAR.SI.CONJUNTO($F$2:$F$9, $C$2:$C$9, ">="&HOY()-90, $C$2:$C$9, "<="&HOY())
=SUMAR.SI.CONJUNTO($F$2:$F$9, $C$2:$C$9, ">="&FIN.MES(HOY(),-3)+1, $C$2:$C$9, "<="&FIN.MES(HOY(),-1))
La primera son los últimos 90 días. La segunda son los últimos tres meses completos, que suele ser lo que quiere decir un comité de dirección y rara vez lo que recibe.
Contar lo que está abierto ahora mismo:
=CONTAR.SI.CONJUNTO($E$2:$E$9, "", $D$2:$D$9, "<"&HOY())
Resultado: El número de facturas sin fecha de pago y con vencimiento en el pasado. Una fórmula, sin filtrar, y correcta también mañana.
Trampa: Si tu columna de fechas contiene marcas de tiempo en vez de fechas limpias,
"<="&FIN.MES(H2,0)excluye en silencio todo lo ocurrido el último día del mes después de medianoche. Quita la hora conENTEROen el origen, o acota el límite superior con"<"&FIN.MES(H2,0)+1.
9) Cuando Tus Fechas Son Texto
🎯 Escenario: Has exportado de un sistema, las fechas se ven perfectas y todas las fórmulas de fecha devuelven #¡VALOR! o cero.
Es el problema de fechas más habitual de Excel, y es invisible por diseño — una cadena de texto que pone 09/01/2026 es idéntica a una fecha que pone 09/01/2026.
Tres formas de detectarlo:
- La alineación. Con el formato por defecto, las fechas y los números reales se alinean a la derecha; el texto a la izquierda. Una columna de fechas alineadas a la izquierda es una columna de texto.
=ESNUMERO(C2).FALSOsignifica texto. Es la prueba definitiva.- El truco del formato General.
Ctrl+Mayús+~convierte una fecha real en un número de serie. El texto no cambia nada.
Tres formas de arreglarlo, en orden creciente de terquedad:
VALFECHA convierte un texto de fecha que coincida con tu configuración regional:
=VALFECHA(C2)
Devuelve un número de serie, así que dale formato de fecha al resultado. Devuelve #¡VALOR! con cualquier cosa que no reconozca — incluida, para desesperación de todos, una fecha escrita en el orden de la otra región.
La coerción aritmética funciona cuando Excel habría reconocido el texto de todas formas, y es más corta:
=C2*1
=C2+0
=VALOR(C2)
Texto en columnas es la que siempre funciona, y casi nadie la usa porque vive dentro de un asistente:
- Selecciona la columna.
- Datos → Texto en columnas.
- Siguiente, Siguiente — aquí no importa ningún delimitador.
- En el paso 3, elige Fecha y selecciona el orden que usa el origen:
DMA,MDA,AMD. - Finalizar.
Ese cuarto paso es la clave: le estás diciendo a Excel cómo leer el texto, en vez de esperar que acierte. Convierte in situ, trata la columna entera de una vez y rescata los casos ambiguos que los otros dos métodos no pueden.
Para formatos realmente ilegibles — 20260109 como número, o 09-ENE-26 — monta la fecha tú mismo:
=FECHA(IZQUIERDA(C2,4), EXTRAE(C2,5,2), DERECHA(C2,2))
Resultado: 20260109 se convierte en un 9 de enero de 2026 real. FECHA acepta argumentos de texto que parezcan números, así que no hace falta envolverlos en VALOR.
Trampa: El peor desenlace es la columna medio convertida. Cuando una importación viene mezclada, Excel convierte las filas inequívocas (día > 12) y deja las ambiguas como texto — así que
13/01/2026se vuelve fecha y09/01/2026sigue siendo texto, en la misma columna. UnSUMAR.SI.CONJUNTOsobre esa columna devuelve un número equivocado en vez de un error. Comprueba siempre=CONTAR(C2:C9)contra=CONTARA(C2:C9): los dos deben coincidir.
Lista de Comprobación (Antes de Fiarte de una Columna de Fechas)
-
=CONTAR(rango)es igual a=CONTARA(rango)— cada celda con contenido es una fecha real, no texto - Las fechas literales de las fórmulas se escriben con
FECHA(a,m,d), nunca como cadena - La aritmética de meses usa
FECHA.MES/FIN.MES, no+30 - La agrupación por mes es sobre una fecha real con formato
mmm aaaa, no una etiqueta deTEXTO - Los criterios de fecha en
SUMAR.SI.CONJUNTOse construyen con&, no dentro de las comillas - Todo cálculo de días laborables recibe un rango de festivos como último argumento
- Las llamadas a
DIASEMespecifican el tipo —2para lun=1 - Los totales de duración llevan formato
[h]:mm, y los turnos nocturnos van envueltos enRESIDUO - Los precios se multiplican contra
duración * 24, no contra el valor de hora - Ninguna unidad de
SIFECHAes"MD" - Las marcas de tiempo se limpian con
ENTEROantes de agrupar o comparar
Resumen de Errores Comunes
- Fechas que son texto: parecen correctas, se ordenan mal y quedan fuera de todos los
SUMAR.SI.CONJUNTO. Compruébalo conESNUMERO. - Una importación medio convertida: las filas inequívocas pasan a fecha, las ambiguas se quedan en texto. Compara
CONTARconCONTARA. - Escribir
"01/03/2026"en una fórmula: es marzo en Madrid y enero en Nueva York. UsaFECHA(2026,3,1). - Sumar 30 días como "un mes": falla en febrero y en todos los meses de 31 días. Usa
FECHA.MES. ">=H2"como criterio: busca el texto "H2". Necesita">="&H2.- Marcas de tiempo en una columna de fechas:
<= fin de mesdescarta en silencio el último día. Límpialas conENTERO. - Agrupar por
TEXTO(fecha,"mmm aaaa"): se ordena alfabéticamente. Abril encabeza el año. DIAS.LABsin lista de festivos: cada festivo cuenta como día laborable.- Argumentos invertidos en
DIAS.LAB: devuelve un recuento negativo y ningún aviso. SIFECHAcon"MD": puede devolver un número negativo. Microsoft lo documenta y no lo corrige.SIFECHAcon las fechas al revés:#¡NUM!, no un resultado negativo.- Un total de horas que muestra
18:30en vez de42:30: el formato dio la vuelta a las 24 h. Usa[h]:mm. - Un turno nocturno que muestra
#####: hora negativa. Envuélvelo enRESIDUO(fin-inicio,1). - Multiplicar una hora por un precio: multiplica antes por
24, o cobrarás una veinticuatroava parte. HOY()como registro permanente: es volátil y se mueve cada día. UsaCtrl+;para un sello fijo.
Conclusión
Todo problema incómodo de fechas en Excel se reduce a la misma frase: es un número, y el formato es un disfraz. La ordenación falla porque el valor es texto. Los totales se reinician porque el formato da la vuelta. Los importes salen veinticuatro veces más pequeños porque el valor es una fracción de día. Ninguno de esos es un problema de fechas; en todos se está transparentando el número de serie.
Aprende las cuatro funciones que hacen el trabajo que ninguna aritmética puede hacer — FIN.MES y FECHA.MES para meses, DIAS.LAB y DIA.LAB para días hábiles — y el resto son sumas y restas que ya sabes hacer.
Si te llevas tres hábitos: construye las fechas literales con FECHA(), comprueba con ESNUMERO cualquier columna que no hayas escrito tú, y dale a toda fórmula de días laborables una lista de festivos. Esos tres cubren casi todo lo que se tuerce entre que se introduce una fecha y se confía en un informe.
Si quieres practicar, prueba los ejercicios de fechas de la app — cada uno parte de un libro real con fines de mes reales.
