Cómo calcular los días entre dos fechas en Excel

Calcula los días entre dos fechas en Excel restándolas, con SIFECHA y DIAS.LAB para días laborables. Guía con calculadora interactiva.

fxBlog

Cómo calcular los días entre dos fechas en Excel

Calcula los días entre dos fechas en Excel restándolas, con SIFECHA y DIAS.LAB para días laborables. Guía con calculadora interactiva.

Listo·Alejandro·13 min de lectura·Actualizado 9 Sep 2026

Actualizado: septiembre de 2026 · Autor: Alejandro. Guía práctica de Excel.

Calcular los días entre dos fechas en Excel parece trivial hasta que te encuentras con el primer resultado raro: una fecha en vez de un número, un error #¡VALOR! que no sabes de dónde sale, o una diferencia que no cuadra porque falta o sobra un día. La buena noticia es que Excel guarda las fechas como números de serie internamente, así que restarlas es matemática pura en cuanto el formato está bien.

En esta guía vas a ver todas las formas de hacerlo: la resta simple, el ajuste con +1 para contar el último día, la función oculta SIFECHA para desglosar en años, meses y días, y DIAS.LAB para contar solo días laborables excluyendo fines de semana y festivos. También repasamos los errores más típicos y cómo funciona todo esto en Google Sheets.

Si vienes de calcular otras métricas con fechas, te puede interesar también cómo calcular un porcentaje en Excel para sacar, por ejemplo, qué porcentaje del año ha transcurrido.

Cómo calcular los días entre dos fechas en Excel
Cómo calcular los días entre dos fechas en Excel

Restar fechas directamente: la forma más rápida

La manera más sencilla de calcular la diferencia entre dos fechas es restarlas tal cual, igual que restarías dos números. Excel almacena cada fecha como un número de serie (el 1 de enero de 1900 es el número 1), así que la fecha más reciente menos la fecha más antigua te da directamente los días transcurridos.

Si tienes la fecha de inicio en A2 y la fecha de fin en B2, la fórmula es:

=B2-A2

El resultado son los días completos entre ambas fechas, sin contar ni el primero ni el último salvo que apliques el ajuste que ves en el siguiente apartado. Es la base de cualquier cálculo de plazos, antigüedad o duración en Excel.

Fecha inicioFecha finFórmulaResultado
01/03/202615/03/2026=B2-A214
10/01/202610/02/2026=B2-A231
01/01/202631/12/2026=B2-A2364
💡
Vigila el formato del resultadoSi al restar dos fechas Excel te muestra otra fecha en vez de un número (por ejemplo, 00/01/1900), es solo un tema de formato de celda, no un error de cálculo. Lo resolvemos en el apartado de errores más abajo.

Incluir o no el último día: el ajuste +1

Aquí es donde mucha gente se hace un lío. La resta simple =B2-A2 calcula noches o intervalos, no días naturales incluidos. Si reservas un hotel del 5 al 8 de marzo, la resta te da 3 (las noches que duermes), pero si estás contando cuántos días ha estado abierta una incidencia incluyendo el día de apertura y el de cierre, necesitas sumar 1.

  1. Si quieres el número de noches, intervalos o días transcurridos sin contar el día de llegada: usa =B2-A2 tal cual.
  2. Si quieres contar ambos extremos como días completos (por ejemplo, «del lunes al viernes, ambos incluidos»): usa =B2-A2+1.
  3. Comprueba siempre con un caso sencillo: del 1 al 1 del mismo mes, la resta simple da 0 y con +1 da 1 (un solo día).
⚠️
El +1 es la causa número uno de «descuadres» de un díaSi un informe de antigüedad, plazos de entrega o días de vacaciones te sale sistemáticamente con un día de más o de menos respecto a lo que espera el usuario, revisa primero si necesitas o no el +1. No hay una fórmula «correcta» universal, depende de si el último día cuenta o no en tu caso concreto.
Caso de uso¿Incluye el +1?Ejemplo
Noches de hotelNo=B2-A2
Días de una baja médica (inicio y fin incluidos)Sí=B2-A2+1
Plazo de entrega «tienes hasta el día X»Sí=B2-A2+1
Diferencia entre dos marcas de tiempoNo=B2-A2

Calculadora de días entre fechas

Días entre las dos fechas:

↑ En Excel: =Hasta − Desde (o +1 si cuentas también el último día).

SIFECHA (DATEDIF): años, meses y días exactos

Cuando necesitas algo más elaborado que un número total de días —por ejemplo, «2 años, 3 meses y 10 días»— la resta simple no te sirve. Para eso existe SIFECHA, conocida en inglés como DATEDIF. Es una función que Microsoft mantiene por compatibilidad con Lotus 1-2-3 y por eso no aparece en el asistente de funciones ni en el autocompletado, pero funciona perfectamente si la escribes a mano.

La sintaxis es =SIFECHA(fecha_inicio; fecha_fin; unidad), donde la unidad determina qué te devuelve:

UnidadQué calculaEjemplo de resultado
«d»Días totales entre las dos fechas365
«m»Meses completos entre las dos fechas12
«y»Años completos entre las dos fechas1
«ym»Meses completos, ignorando los años2
«md»Días completos, ignorando meses y años5
«yd»Días completos, ignorando los años70

Ejemplo: edad o antigüedad exacta en años, meses y días

Combinando tres llamadas a SIFECHA con distintas unidades puedes construir una frase con el desglose completo. Si A2 es la fecha de inicio y B2 la fecha de hoy o de fin:

=SIFECHA(A2;B2;"y")&" años, "&SIFECHA(A2;B2;"ym")&" meses y "&SIFECHA(A2;B2;"md")&" días"

Esta fórmula es la base de cualquier calculadora de antigüedad laboral, edad exacta o tiempo transcurrido desde un evento. Si además quieres mostrar un mensaje distinto según el resultado (por ejemplo, «vencido» o «en plazo»), combínala con la función SI de Excel.

📌
SIFECHA no admite fecha_inicio posterior a fecha_finSi el primer argumento es una fecha más tardía que el segundo, SIFECHA devuelve el error #¡NUM!. Asegúrate de que la fecha de inicio siempre va primero, y si no lo sabes de antemano usa =SIFECHA(MIN(A2;B2);MAX(A2;B2);"d") para que el orden no te rompa la fórmula.

Días laborables entre dos fechas: DIAS.LAB y DIAS.LAB.INTL

Para nóminas, plazos de entrega o SLA de atención al cliente casi nunca interesan los días naturales, sino los días laborables: de lunes a viernes y sin festivos. Excel tiene dos funciones pensadas exactamente para esto.

DIAS.LAB: de lunes a viernes, con festivos opcionales

La sintaxis es =DIAS.LAB(fecha_inicio; fecha_fin; [festivos]). El tercer argumento es opcional y acepta un rango de celdas con las fechas festivas que quieras excluir del cómputo, además de los sábados y domingos, que se descuentan siempre automáticamente.

=DIAS.LAB(A2;B2;E2:E15)

DIAS.LAB.INTL: cuando el fin de semana no es sábado y domingo

Si trabajas con calendarios donde el descanso semanal no coincide con el estándar (por ejemplo, solo domingo, o viernes y sábado), usa DIAS.LAB.INTL, que añade un parámetro para definir qué días se consideran no laborables:

=DIAS.LAB.INTL(A2;B2;11;E2:E15)

El número 11 en el tercer argumento significa «solo domingo es fin de semana»; Excel ofrece códigos del 1 al 17 para las combinaciones más habituales, o puedes usar una cadena de texto de 7 caracteres para definir día a día si es laborable o no.

Código weekendDías no laborables
1 (por defecto)Sábado y domingo
2Domingo y lunes
11Solo domingo
16Solo martes
💡
Fija el rango de festivos al copiar la fórmulaCuando arrastras la fórmula de DIAS.LAB hacia abajo para varias filas, el rango de festivos se desplaza si no lo bloqueas. Usa referencias absolutas con $ (por ejemplo $E$2:$E$15) para que siempre apunte a la misma lista. Repasa cómo hacerlo en cómo fijar celdas en Excel.

Un uso frecuente en control de gestión es sumar los días laborables de retraso por cliente o proveedor. Ahí puedes apoyarte en SUMAR.SI para totalizar por categoría una columna auxiliar calculada con DIAS.LAB.

Contar meses o años completos entre dos fechas

Ya has visto que SIFECHA con unidad "m" o "y" te da meses o años completos. Pero a veces quieres algo distinto: cuántos meses de calendario hay entre dos fechas independientemente de los días exactos, algo muy común en informes financieros o de suscripciones.

Una alternativa manual, sin depender de SIFECHA, es esta fórmula que combina años y meses de cada fecha:

=(AÑO(B2)-AÑO(A2))*12+(MES(B2)-MES(A2))

Esta versión cuenta meses de calendario cruzados, sin fijarse en si el día del mes coincide. Es útil para calcular, por ejemplo, cuántas mensualidades ha generado un contrato, aunque no tenga en cuenta si el mes está completo o no.

NecesidadFórmula recomendada
Años y meses completos (aniversarios exactos)SIFECHA con «y» y «ym»
Meses de calendario cruzados(AÑO(fin)-AÑO(inicio))*12+(MES(fin)-MES(inicio))
Porcentaje del año transcurrido(fecha-inicio de año)/365

Si lo que buscas es un indicador de avance, como qué porcentaje del año o del proyecto ha pasado ya, combina la diferencia de fechas con una división y consulta cómo calcular un porcentaje en Excel para dar formato correcto al resultado.

Sumar o restar días a una fecha

El proceso inverso también es habitual: partir de una fecha y calcular qué fecha resulta al sumar o restar un número de días, por ejemplo para calcular un vencimiento o una fecha de entrega.

Sumar días naturales es tan simple como una suma normal:

=A2+30

Para sumar solo días laborables, usa DIA.LAB (con festivos opcionales igual que DIAS.LAB):

=DIA.LAB(A2;10;E2:E15)

Y si necesitas ir al último día de un mes concreto (por ejemplo, para calcular el vencimiento de una factura a «fin de mes siguiente»), usa FIN.MES:

=FIN.MES(A2;1)

El segundo argumento indica cuántos meses hacia adelante (o hacia atrás, con número negativo) quieres desplazarte antes de coger el último día de ese mes. Puedes combinar cualquiera de estas fórmulas con la función SI para marcar automáticamente si una fecha calculada ya ha vencido respecto a hoy, comparándola con HOY().

Errores más comunes al calcular fechas en Excel

Las fechas están guardadas como texto, no como fechas

Es el problema más frecuente, sobre todo con datos importados de otros sistemas o de CSV. Si la fecha está alineada a la izquierda en la celda (en vez de a la derecha, como los números), Excel la está tratando como texto, y cualquier resta te dará #¡VALOR!. Para solucionarlo, selecciona la columna, ve a Datos > Texto en columnas y termina el asistente sin cambiar nada, o usa la fórmula =FECHANUMERO(A2) en una columna auxiliar.

El resultado sale como una fecha en vez de un número

Cuando restas dos fechas y el resultado se muestra como 00/01/1900 o una fecha rara, no es un error de cálculo: Excel ha heredado el formato de fecha de las celdas originales para la celda del resultado. Selecciona la celda, pulsa Ctrl+1 para abrir el formato de celdas (revisa más combinaciones en atajos de teclado de Excel) y cambia la categoría a General o Número.

Resultado negativo

Si obtienes un número negativo, casi siempre significa que has restado en el orden equivocado: fecha de inicio menos fecha de fin, en vez de al revés. Comprueba el orden de los argumentos o envuelve la resta con =ABS(B2-A2) si solo te interesa el valor absoluto de la diferencia.

Fechas con hora incluida

Si tus fechas incluyen una marca de hora (por ejemplo, 15/03/2026 14:30), la resta te dará un número con decimales, porque la parte decimal representa la fracción de día. Envuelve la fórmula con =INT(B2-A2) si solo quieres días completos, o usa =ENTERO(B2)-ENTERO(A2) para quitar la hora antes de restar.

⚠️
Cuidado al copiar fechas desde webs o PDFLas fechas pegadas desde páginas web, PDF o algunos ERP suelen llegar como texto con espacios invisibles. Si FECHANUMERO también falla, prueba primero con =ESPACIOS(A2) anidado o revisa que el separador de fecha coincida con la configuración regional de tu Excel (algunos sistemas usan mes/día/año en vez de día/mes/año).

Calcular días entre fechas en Google Sheets

Si trabajas en Google Sheets en vez de Excel, la buena noticia es que casi todo lo anterior funciona igual, porque Sheets también almacena las fechas como números de serie.

La resta simple funciona idéntica: =B2-A2. La función DATEDIF (el nombre en inglés, que Sheets sí reconoce y también documenta, a diferencia de Excel que la esconde) funciona con la misma sintaxis: =DATEDIF(A2;B2;"d"), "m" o "y".

Para días laborables, Sheets usa NETWORKDAYS (equivalente a DIAS.LAB) y NETWORKDAYS.INTL para fines de semana personalizados, con la misma estructura de argumentos. Y para sumar días laborables a una fecha existe WORKDAY, el equivalente a DIA.LAB.

Excel (español)Google SheetsQué hace
SIFECHADATEDIFDiferencia en años, meses o días
DIAS.LABNETWORKDAYSDías laborables entre dos fechas
DIAS.LAB.INTLNETWORKDAYS.INTLDías laborables con fin de semana personalizado
DIA.LABWORKDAYSuma días laborables a una fecha
FIN.MESEOMONTHÚltimo día de un mes desplazado

La configuración regional del documento (menú Archivo > Configuración de la hoja de cálculo) determina si Sheets espera los nombres de función y el separador de argumentos en español o en inglés, así que si una fórmula te da error de sintaxis, revisa primero ese ajuste antes de sospechar de la fórmula en sí.

¿Planificas por fechas?

Nuestro planificador mensual te ayuda a organizar el mes de un vistazo.

Ver la plantilla →

Preguntas habituales

¿Cómo calculo los días entre dos fechas en Excel de la forma más simple?
Resta la fecha de fin menos la fecha de inicio: =B2-A2, con B2 y A2 en formato fecha. Si el resultado aparece como fecha en vez de número, cambia el formato de la celda a General con Ctrl+1.
¿Por qué al restar dos fechas me sale otra fecha en vez de un número?
Es un problema de formato, no de cálculo. Excel copia el formato de fecha de las celdas de origen al resultado. Selecciona la celda, abre formato de celdas y elige General o Número.
¿Cómo incluyo el último día en el cálculo de días entre fechas?
Suma 1 al resultado de la resta: =B2-A2+1. Úsalo cuando el día de inicio y el de fin cuenten ambos como días completos, por ejemplo en una baja médica o un plazo administrativo.
¿Qué diferencia hay entre SIFECHA y restar fechas directamente?
La resta directa (B2-A2) da el total de días como un único número. SIFECHA (DATEDIF) permite desglosar esa diferencia en años, meses y días por separado usando distintas unidades: «y», «m», «d», «ym», «md» o «yd».
¿Cómo calculo solo los días laborables entre dos fechas, sin fines de semana?
Usa =DIAS.LAB(fecha_inicio;fecha_fin;festivos), donde festivos es un rango opcional con las fechas festivas a excluir. Los sábados y domingos se descuentan automáticamente.
¿Por qué SIFECHA no aparece en el autocompletado de fórmulas de Excel?
Porque Microsoft la mantiene por compatibilidad con versiones antiguas y no la documenta oficialmente en el asistente de funciones, aunque funciona perfectamente si la escribes a mano: =SIFECHA(inicio;fin;unidad).
¿Cómo calculo los días entre dos fechas si una de ellas está guardada como texto?
Conviértela primero con =FECHANUMERO(celda), o selecciona la columna y usa Datos > Texto en columnas terminando el asistente sin cambios; eso obliga a Excel a reconocerla como fecha real.
¿DIAS.LAB y DATEDIF funcionan igual en Google Sheets?
Sí, con otro nombre: DIAS.LAB equivale a NETWORKDAYS y SIFECHA se escribe DATEDIF en ambos programas. La sintaxis y el orden de los argumentos son prácticamente idénticos.

Lo esencial

Con la resta simple para el día a día, el ajuste +1 cuando el último día cuenta, SIFECHA para desgloses en años y meses, y DIAS.LAB para plazos laborables reales, cubres prácticamente cualquier cálculo de fechas que te puedas encontrar en Excel. Si algo falla, revisa primero si la fecha es texto disfrazado o si el formato de la celda resultado está mostrando una fecha en vez de un número: son la causa del 90% de los problemas. Y si trabajas también en Google Sheets, las mismas fórmulas te sirven cambiando solo el nombre de la función.

Excel® es una marca registrada de Microsoft Corporation. Este sitio no está afiliado a Microsoft.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *