Devuelve la diferencia entre dos fechas en años, meses o días completos, según la unidad que pidas.
SIFECHA responde a la pregunta que la resta no puede: cuántos meses o años completos hay entre dos fechas. Restar una fecha de otra da días, lo que está bien para un plazo y no sirve para una edad o una antigüedad. SIFECHA toma un tercer argumento que nombra la unidad y cuenta unidades completas.
Es la función más rara de Excel. Viene heredada de Lotus 1-2-3, no aparece en el autocompletado de fórmulas, falta en el asistente de funciones y la propia documentación de Microsoft desaconseja uno de sus códigos. Aun así funciona en todas las versiones y es la respuesta estándar para calcular la edad.
Como no está documentada en la interfaz, hay que escribirla entera: ningún desplegable te la ofrecerá. Eso no significa que esté obsoleta, sino que nadie ha tocado esa parte de Excel desde 1995.
=SIFECHA(fecha_inicial; fecha_final; "unidad")fecha_inicialfecha_finalunidadEncabezados en la fila 1, datos en A2:C5. Las columnas B y C contienen fechas reales.
| A | B | C | |
|---|---|---|---|
| 1 | Proyecto | Inicio | Vencimiento |
| 2 | Traslado de almacén | 15/01/2024 | 30/04/2024 |
| 3 | Estudio del terreno | 01/02/2024 | 14/02/2024 |
| 4 | Acondicionamiento | 11/03/2024 | 01/09/2024 |
| 5 | Entrega | 19/08/2024 | 07/10/2024 |
=SIFECHA(B2; C2; "D")Resultado: 106
Días entre el inicio y el vencimiento. El mismo resultado que =C2-B2.
=SIFECHA(B2; C2; "M")Resultado: 3
Solo meses completos. Del 15 de enero al 30 de abril hay tres meses completos y quince días, y los quince días se descartan.
=SIFECHA(B4; C4; "YM")Resultado: 5
Meses ignorando los años completos: la parte «y 5 meses» de una duración que expresas en años y meses.
=SIFECHA(B2; HOY(); "Y") & " años"Resultado: 1 años
El patrón de la edad. Unirlo a texto exige cuidado con el singular y el plural; envuélvelo en SI si va a leerlo alguien más.
Leer sobre una fórmula no es lo mismo que escribirla. Abre el ejercicio de esta función y escríbela en una hoja real: recibirás comentarios inmediatos sobre qué celda está mal y por qué.
Por qué ocurre: fecha_inicial es posterior a fecha_final. SIFECHA se niega a devolver un resultado negativo.
Cómo resolverlo: Pon primero la fecha más temprana, o resuélvelo con MIN y MAX: SIFECHA(MIN(B2;C2); MAX(B2;C2); "D").
Por qué ocurre: Una de las fechas es texto que Excel no ha reconocido como fecha, o el código de unidad no lleva comillas.
Cómo resolverlo: La unidad va entre comillas: "M", no M. Para fechas en texto, conviértelas antes con FECHANUMERO.
Por qué ocurre: No está documentada en la interfaz ni aparece en el autocompletado.
Cómo resolverlo: Es lo esperado. Escribe el nombre y los argumentos completos: calculará igualmente.
Por qué ocurre: Microsoft desaconseja MD porque puede devolver un resultado negativo en los cambios de mes.
Cómo resolverlo: Evita "MD". Si necesitas días dentro de un mes, calcúlalo con una resta y FIN.MES.
Se heredó de Lotus 1-2-3 por compatibilidad y nunca se añadió a la interfaz de la biblioteca de funciones. No está obsoleta y funciona en todas las versiones, pero hay que escribirla entera porque ningún desplegable la ofrece.
=SIFECHA(fecha_nacimiento; HOY(); "Y") da los años cumplidos, que es lo que normalmente significa «edad». Ten en cuenta que HOY() se recalcula, así que la celda se actualiza sola: correcto para una edad y equivocado para dejar constancia de una edad en una fecha concreta.
Ninguna: =SIFECHA(a; b; "D") y =b-a dan el mismo número de días. SIFECHA se gana su sitio con "Y" y "M", donde la resta no puede ayudarte.
Lecturas más largas donde esta función hace trabajo real en una hoja real.