Menu

Calcular la edad en Excel con la fecha de nacimiento

=SIFECHA(B2;HOY();"Y") devuelve la edad en años cumplidos de alguien nacido en la fecha de B2. Calcula la edad en una fecha concreta, en años, meses y días, y sin SIFECHA.

Todas las hojas de esta página están vivas: cambia un número o una fórmula y se recalculan.

=SIFECHA(B2;HOY();"Y") devuelve la edad en años cumplidos de alguien nacido en la fecha de B2. SIFECHA cuenta los años completos entre dos fechas, y HOY() aporta la segunda fecha, así que la edad sube en uno en cada cumpleaños. En inglés las funciones se llaman DATEDIF y TODAY, y la tabla muestra la fórmula así: =DATEDIF(B2,TODAY(),"Y"). La tabla también acepta las fórmulas escritas en español, con punto y coma (o con comas, como en México).

Edad a partir de la fecha de nacimiento
C2
ABC
1NameBornAge
2Ana1990-05-1436
3Ben1985-11-3040
4Chloe2001-02-2825
5Dan1978-10-1047
6Eva2010-07-0416
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =SIFECHA(B2;HOY();"Y")

Las edades de la columna C se calculan a partir de la fecha de hoy, así que cambian a lo largo del año. Cambia una fecha de nacimiento de la columna B y la edad de al lado se actualiza. La fórmula tiene tres argumentos: la fecha inicial (la de nacimiento), la fecha final (hoy) y la unidad, "Y" para años completos.

Edad en una fecha concreta

Para obtener la edad en un día fijo, como el inicio de un curso escolar o la fecha de un contrato, pon ese día en una celda y usa la celda en lugar de HOY(). El $ de $F$2 mantiene la referencia en F2 cuando la fórmula se copia hacia abajo.

Edad en una fecha dada
C2
ABCDEF
1NameBornAgeAs of
2Ana1990-05-14362026-10-01
3Ben1985-11-3040
4Chloe2001-02-2825
5Dan1978-10-1047
6Eva2010-07-0416
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =SIFECHA(B2;$F$2;"Y")

El 2026-10-01 Ana tiene 36 y Dan 47: su cumpleaños del 10 de octubre todavía no ha llegado. Cambia F2 a 2026-10-10 y Dan cumple 48. Esta versión también da el mismo resultado cada vez que se abre el archivo, y eso importa cuando la edad va en un informe. Consulta la página de SIFECHA para las demás unidades.

Edad en años, meses y días

SIFECHA tiene unidades para las partes que sobran después de los años completos: "YM" cuenta los meses después del último año completo, y "MD" los días después del último mes completo. Une las tres con & para escribir la edad como texto.

Años, meses y días
E2
ABCDEF
1BornYearsMonthsDaysAgeAs of
21990-05-143641736 years, 4 months, 17 days2026-10-01
31978-10-1047112147 years, 11 months, 21 days
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =B2&" years, "&C2&" months, "&D2&" days"

Del 1990-05-14 al 2026-10-01 hay 36 años, 4 meses y 17 días. Microsoft desaconseja la unidad "MD" porque en algunos casos puede devolver un número de días negativo o equivocado, como con una fecha de nacimiento en día 31. Revisa la cifra de días cuando una fecha de nacimiento caiga entre el 29 y el 31.

Calcular la edad sin SIFECHA

SIFECHA funciona en todas las versiones de Excel, pero no aparece en la lista de funciones ni en el autocompletado de fórmulas, así que hay quien prefiere FRAC.AÑO (YEARFRAC en inglés). FRAC.AÑO(inicio;fin;1) devuelve los años entre dos fechas como un decimal, contando la duración real de cada año (base 1). ENTERO (INT en inglés) quita la fracción.

SIFECHA y FRAC.AÑO lado a lado
D2
ABCD
1BornAs ofDATEDIFYEARFRAC
21990-05-142026-10-013636
31978-10-102026-10-014747
42010-07-042026-10-011616
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =ENTERO(FRAC.AÑO(A2;B2;1))

Las dos columnas coinciden: 36, 47 y 16. Sin ENTERO, FRAC.AÑO devuelve para la última fila unos 16,24, algo útil cuando necesitas la edad como decimal, por ejemplo en una hoja de estadística.

Por qué no dividir entre 365

Un atajo habitual es =ENTERO((F2-B2)/365): los días vividos divididos entre los días de un año. Los años bisiestos añaden un día cada cuatro años, así que tras unas décadas la fórmula llega a la edad siguiente días antes del cumpleaños: 12 días antes en el caso de un 48 cumpleaños.

Dividir entre 365 falla cerca de los cumpleaños
D2
ABCDE
1BornAs ofDays livedDivide by 365DATEDIF
21990-05-142026-10-01132893636
31978-10-102026-10-01175234847
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =ENTERO(C2/365)

Para la persona nacida el 1978-10-10, dividir entre 365 dice 48 el 2026-10-01, nueve días antes de cumplir 48. SIFECHA dice 47. Dividir entre 365,25 arregla la mayoría de las filas, pero sigue fallando en algunas fechas, así que usa SIFECHA o FRAC.AÑO.

Práctica: la edad el primer día de clase

Tu turno
C2
ABCDE
1NameBornAgeAs of
2Ana2012-04-172026-09-01
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.

Tu turno: En C2, calcula la edad de Ana en años cumplidos en la fecha de E2.

Las comprobaciones ocultas cambian la fecha de E2, así que la fórmula tiene que leerla.

Por qué la edad se muestra como una fecha

Si escribes la fórmula de la edad en una celda que ya contiene una fecha, o en una columna con formato de fecha, Excel mantiene el formato de fecha y muestra 36 como 1900-02-05 (el día 36 del sistema de fechas de Excel; con la configuración de Estados Unidos se lee 2/5/1900). El número de debajo es correcto. Selecciona las celdas y elige Inicio > Formato de número > General (o pulsa Ctrl+Mayús+~, Control+Mayús+~ en Mac) y aparece la edad.

Preguntas frecuentes

¿Cuál es la fórmula para calcular la edad en Excel?

=SIFECHA(B2;HOY();"Y"), con la fecha de nacimiento en B2. Cuenta los años completos desde la fecha de nacimiento hasta hoy, así que la edad sube el mismo día del cumpleaños, no antes.

¿Cómo calculo la edad en una fecha concreta en Excel?

Pon la fecha en una celda y úsala en lugar de HOY(): =SIFECHA(B2;$F$2;"Y") da la edad en la fecha de F2. Los signos $ mantienen fija F2 cuando copias la fórmula hacia abajo.

¿Cómo calculo la edad en Excel sin SIFECHA?

Usa =ENTERO(FRAC.AÑO(B2;HOY();1)). FRAC.AÑO devuelve los años entre las dos fechas como un decimal, y ENTERO se queda con los años completos.

¿Por qué mi fórmula de edad muestra una fecha como 1900-01-30?

La celda tiene formato de fecha, así que la edad 30 se muestra como el día 30 del calendario de Excel. Selecciona la celda y pon Inicio > Formato de número en General.

¿Por qué está mal dividir entre 365 para calcular la edad?

Los años bisiestos añaden un día cada cuatro años, así que =ENTERO((HOY()-B2)/365) cuenta el cumpleaños unos días antes: alguien nacido el 1978-10-10 tiene 48 según esa fórmula el 2026-10-01, nueve días antes de cumplir 48. SIFECHA cuenta años de calendario y no tiene ese error.

Ilustración de los lenguajes de programación de Coddy

Aprende a programar con Coddy

COMENZAR