La fórmula «secreta» de Excel


¿Sabías que Excel tiene una fórmula que no sale en su listado de fórmulas?

Todos sabemos que si ponemos un signo de igual y una letra del alfabeto en la barra de fórmulas de Excel, el programa nos muestra un desplegable con todas las fórmulas que empiezan por esa letra.

Peeeerooo….

Eso no es del todo cierto…

Existe una fórmula «secreta» en Excel, que muchos usarían, pero pocos conocen.

¡Existe!

¡Venga, va!

Abre una hoja de Excel y pruébalo.

Empieza a escribir: =SI

Te salen 4 opciones, ¿no?:

Fórmulas SI de Excel

Añade una F:

Barra de fórmulas de Excel

¡Ups! No existe ninguna fórmula que empiece por =SIF

Es igual, sigamos:

Fórmula SIFECHA de Excel

Pero, ¿qué dices? ¡Esto te lo estás inventando!

Traaanqui… No desesperes…

¿Y qué pasa si añadimos el primer paréntesis?

Fórmula SIFECHA de Excel

¡¡Uaaalaaa!! ¿Qué es esto?

La fórmula SIFECHA, ¡EXISTE! …

… pero Excel no nos la muestra ni nos ofrece la ayuda que nos da con las demás fórmulas, es decir, no nos dice cuáles son sus argumentos.

Entonces, sin conocer sus argumentos, ¿cómo demonios podemos usarla?

La fórmula SIFECHA

La fórmula SIFCHA es una fórmula muy útil, vestigio del Lotus 1-2-3, que… ¡vete tú a saber por qué! Microsoft decidió «esconderla» y dejar de ayudarnos con su uso.

Y ya que Excel no te va a ayudar…

¡Pues lo hago yo! ¡Ala! (que, aunque la RAE prefiere que lo ponga con hache, a mí me gusta más sin)

Pero antes de entrar en harina, déjame que te explique para qué sirve esta fórmula.

Para qué sirve la fórmula SIFECHA

La fórmula SIFECHA se utiliza para calcular el tiempo transcurrido entre dos fechas, es decir, calcular la antigüedad de un trabajador en una empresa, la edad de una persona, cuánto hace que hiciste tu última campaña publicitaria, el tiempo que ha pasado desde… lo que se te ocurra.

Puedes obtener los resultados en días, meses, años o una combinación de ellos.

La forma en la que veamos el resultado, dependerá de lo que pongamos en tercer argumento de la misma.

Y se pueden hacer cosas tan chulas como esta:

Fórmula SIFECHA de Excel

(Para conseguir esto, tendremos que hacer algunos pasos extra. Pero no te preocupes, te prometo que al final del post tendrás lo que necesitas para llegar hasta aquí.)

¿Empezamos?

Cómo usar la fórmula SIFECHA

Para usar la fórmula SIFECHA, lo primero que tenemos que hacer es conocer sus argumentos y después ya veremos cómo conseguir los resultados que necesitamos.

Los argumentos de la fórmula SIFECHA

Esta fórmula está compuesta por los siguientes tres argumentos:

  • FECHA DE INICIO
  • FECHA DE FIN
  • FORMATO DEL RESULTADO QUE QUEREMOS OBTENER

Fecha de inicio y fecha de fin

Antes de empezar con la fórmula SIFECHA, te voy a explicar las maneras que tenemos de poner los argumentos FECHA DE INICIO y FECHA DE FIN.

La manera más sencilla de hacerlo, evidentemente, es tener tanto la FECHA DE INICIO como la FECHA DE FIN en celdas. De esta forma, sólo tenemos que referenciar a esas celdas a través de la fórmula SIFECHA, así:

=SIFECHA(CeldaFechaInicio;CeldaFechaFin;FormatoResultado)

Pero hay otra manera de hacerlo que nos va a evitar ocupar celdas con las fechas.

Utilizando la fórmula FECHA:

Para evitar el uso de celdas para estos dos primeros argumentos, podemos hacer uso de la fórmula FECHA. Una fórmula muy sencilla que contiene 3 argumentos: Año, mes y día, que solo tenemos que rellenar con los datos correspondientes separados de punto y coma.

Fórmula FECHA de Excel

Si utilizamos este sistema en nuestra fórmula SIFECHA, ésta quedaría así:

=SIFECHA(FECHA(año;mes;día);FECHA(año;mes;día); FormatoResultado)

Por cierto, recuerda que si utilizas fórmulas embebidas en otras fórmulas, no tienes que poner el signo igual en las fórmulas interiores, es decir, no es correcto hacer esto:

=SIFECHA(=FECHA(año;mes;día);=FECHA(año;mes;día); FormatoResultado)

El signo de igual, sólo va al principio.

=SIFECHA(FECHA(año;mes;día);FECHA(año;mes;día); FormatoResultado)

Utilizando la fórmula HOY:

Para un caso como el del ejemplo que voy a usar, en el que quiero saber la edad exacta de unas personas y que ésta se vaya actualizando día a día, tener que andar cambiando las celdas que contienen la FECHA DE FIN, es un poco rollo, por tanto, nos vamos a aprovechar la fórmula =HOY(), que nos va a devolver cada día la fecha actual.

Fórmula HOY de Excel

En este caso, nuestra fórmula SIFECHA quedaría así:

=SIFECHA(CeldaFechaInicio;HOY();FormatoResultado)

o así:

=SIFECHA(FECHA(año;mes;día);HOY();FormatoResultado)

Bueno pues, respecto a las fechas de inicio y fin, ya no tengo mucho más que explicarte.

Vamos entonces, a meternos de lleno en el tercer argumento, el que tiene más salsa, más intringulis, el más guay, el más chulo…

Formato del resultado que queremos obtener

Como te he dicho antes, usaré el ejemplo que te he mostrado al principio, en el que he calculado la edad de unas personas en base a su fecha de nacimiento.

Para evitar que la fórmula acabe siendo demasiado larga, voy a usar todo el rato las fechas contenidas en las columnas A y B, pero con las explicaciones anteriores ya sabes que tú puedes hacer lo que te de la gana, poner las fechas en celdas o usar las fórmulas FECHA y HOY.

¡Vamos allá!

Tenemos la opción de conseguir hasta 6 tipos de resultados, dependiendo de qué pongamos en el tercer argumento de la fórmula SIFECHA.

Ten en cuenta que el tercer argumento va siempre entre comillas.

Primera posibilidad: Argumento “Y” (años, “years”)

=SIFECHA(FECHAINICIO;FECHAFIN;“Y”)

Fórmula SIFECHA. Argumento Y

Devuelve los años COMPLETOS que han pasado entre las dos fechas, olvidándose de los meses y los días sobrantes, es decir:

Si han pasado 37 años, 9 meses y 17 días, sólo me devolverá los 37 años

(Este resultado mola más a los viejos, pero gusta menos a los niños…).

Segunda posibilidad: Argumento “M” (meses, “months”)

=SIFECHA(FECHAINICIO;FECHAFIN;“M”)

Fórmula SIFECHA. Argumento M

Devuelve TODOS los meses que han pasado entre las dos fechas, obviando los días que no llegan a completar un mes entero, es decir:

Si han pasado 37 años, 9 meses y 17 días

Excel multiplica los 37 años por 12 meses, suma los 9 meses siguientes y se olvida de los 17 días

Resultado: 37 x 12 = 444 ; 444 + 9 = 453

Tercera posibilidad: Argumento “D” (días, “days”)

=SIFECHA(FECHAINICIO;FECHAFIN;“D”)

Fórmula SIFECHA. Argumento D

Este argumento me devuelve TODOS los días que han transcurrido entre las dos fechas.

Vale. Aquí podríamos comprobarlo teniendo en cuenta los años bisiestos, los meses de 28, 29, 30 y 31 días y añadir los días sueltos que han pasado, pero francamente, me da mucho palo y paso.

Para eso está Excel que no se equivoca… Desde el 05/04/1985 hasta hoy, 22/01/2023, han pasado 13.806 días. Créetelo (o calcúlalo, eso ya es cosa tuya…).

Cuarta posibilidad: Argumento “YM”

=SIFECHA(FECHAINICIO;FECHAFIN;“YM”)

Fórmula SIFECHA. Argumento YM

Con esta cuarta posibilidad, lo que obtengo son los meses transcurridos, peeeeero… obviando los años y los días.

Esto, ¿qué quiere decir?

Excel calcula los años completos y se olvida de ellos. Con lo que le ha sobrado, calcula cuantos meses completos han pasado y nos devuelve SOLO esos meses, olvidándose también de los días que no llegan a completar un mes entero. Por tanto:

Si han pasado 37 años 9 meses y 17 días

Pasa de los 37 años y de los 17 días y solo me devuelve los 9 meses.

Poco a poco nos vamos acercando al resultado que buscábamos, ¿eh…?

Seguimos.

Quinta posibilidad: Argumento “YD”

=SIFECHA(FECHAINICIO;FECHAFIN;“YD”)

Fórmula SIFECHA. Argumento YD

Esta posibilidad es un poco extraña y yo aún no le he encontrado demasiada utilidad a no ser que se necesite saber los días transcurridos entre dos fechas muy cercanas, pero como que está ahí, te la explico.

Con ella obtengo todos los días transcurridos, pero obviando los años completos, es decir:

Si han pasado 37 años 9 meses y 17 días

Excel pasa de los 37 años y me dice cuántos días son los 9 meses más los 17 días.

Vuelvo a encontrarme con un cálculo un poco rollo, porque tendía que mirar cuántos días tiene cada uno de los meses e ir sumándolos para añadir posteriormente los 17 días.

Lo dicho, Excel no se equivoca, pero si lo quieres comprobar, no seré yo quien te diga que no lo hagas…

Sexta y última posibilidad: Argumento “MD”

=SIFECHA(FECHAINICIO;FECHAFIN;“MD”)

Fórmula SIFECHA. Argumento MD

Como ya te debes imaginar, este argumento me devuelve SOLO los días que han transcurrido entre las dos fechas, pasando de los años y de los meses, es decir:

Si han pasado 37 años 9 meses y 17 días

Excel pasa de los 37 años, pasa de los 9 meses y solo me devuelve los 17 días.

Bueno…

Hasta aquí, todas las posibilidades que nos ofrece la fórmula SIFECHA.

¿Qué te parece?

Guay, ¿no?

¡Venga! ¿Lo ponemos bonito?

Cómo conseguir el mejor resultado visual

Para obtener el resultado que has visto al principio, se puede usar una nueva fórmula de Excel, la fórmula CONCATENAR.

No te quejarás, ¿eh?

En un sólo post, 4 fórmulas distintas…

La fórmula CONCATENAR también es muy sencilla y sirve para unir en una sola celda lo que quieras. Según la ayuda de Excel, «Une varios elementos de texto en uno solo»:

Fórmula CONCATENAR

Pero puedes poner lo que quieras, texto, números, fechas, espacios en blanco, … todo cuanto necesites unir.

Lo único que tienes que hacer es ir poniendo una tras otra, separadas por punto y coma, todas aquellas cosas que quieras unir.

Fórmula CONCATENAR

Vamos a hacerlo:

Los resultados que quiero ver, para el ejemplo que estoy usando, están en las columnas C, F y H, pero si lo pongo simplemente así:

=CONCATENAR(C3;F3;H3)

… dado que esta fórmula entiende cada uno de los argumentos como texto plano, el resultado que voy a obtener va a ser este:

Fórmula CONCATENAR

Fíjate que pone las cifras una detrás de la otra y sin espacios.

Y esto es… ¡¡puaj!!

(Por cierto, otra forma de ver que para Excel estos números son texto, es la alineación en las celdas. No sé si lo sabes, o si te has fijado alguna vez, pero cuando escribes números en cualquier celda de Excel, éste los alinea por defecto a la derecha, en cambio, si escribes texto, lo hace a la izquierda.)

Para arreglar este pifostio, primero, voy a añadir espacios entre los números para que se separen años de meses y días.

Fórmula CONCATENAR

Y ahora puedo editar un poco esos espacios en blanco, añadiendo los textos “años“, “meses“ y “días“ y los espacios en blanco necesarios donde corresponda para lograr el resultado que busco.

Vamos allá:

Fórmula CONCATENAR

Como puedes ver, para “años”, he puesto:

  • Un espacio en blanco delante de la palabra “años”.
  • Una coma después de la palabra “años”.
  • Otro espacio en blanco después de la coma.

Es decir, así:

;“ años, ”;

Para “meses”, he puesto:

  • Un espacio en blanco delante de la palabra “meses”.
  • Otro espacio en blanco detrás de la palabra “meses”.
  • Una “y” detrás del segundo espacio en blanco.
  • Y otro espacio en blanco detrás de la “y”.

Es decir, así:

;“ meses y ”;

Para “días”:

  • He dejado otro espacio en blanco delante de la palabra “días”.

Es decir, así:

;“ días”;


La inmensa mayoría de la gente se quedaría satisfecha con este resultado, pero como he explicado en alguna parte de esta web, soy una maniática perfeccionista enfermiza, y no me puedo conformar con esto.

Al extender la fórmula a lo largo de toda la tabla, me he encontrado con lo siguiente:

Fórmula CONCATENAR

Y esto, a mí, me da grima…

No me voy a extender en explicártelo (porque esto se alargaría demasiado), pero al principio del post te he prometido que podrías obtener el mismo resultado que yo.

Por tanto, te voy a «chivar» una fórmula más larga que un día sin pan, que sustituye a la fórmula CONCATENAR, pero que te servirá para que las palabras “años”, “meses” y “días” salgan en singular en el caso de que el resultado obtenido sea un 1.

Es esta:

=SIFECHA(A3;B3;“Y“) & SI(SIFECHA(A3;B3;“Y“)=1;“ año, “;“ años, “) & SIFECHA(A3;B3;“YM“) & SI(SIFECHA(A3;B3;“YM“)=1;“ mes y “;“ meses y “) & SIFECHA(A3;B3;“MD“) & SI( SIFECHA(A3;B3;“MD“)=1;“ día“;“ días“)

Evidentemente, si has sustituido las fechas de inicio y fin por las fórmulas FECHA y HOY, tendrás que colocarlas en el lugar que corresponda.

Venga, va… que no se diga que no te ayudo…

Te pongo el ejemplo en el caso de haber sustituido la fecha de fin por la fórmula HOY, porque la fecha de inicio ya es cosa tuya:

=SIFECHA(A3;HOY();“Y“) & SI(SIFECHA(A3;HOY();“Y“)=1;“ año, “;“ años, “) & SIFECHA(A3;HOY();“YM“) & SI( SIFECHA(A3;HOY();“YM“)=1;“ mes y “;“ meses y “) & SIFECHA(A3;HOY();“MD“) & SI( SIFECHA(A3;HOY();“MD“)=1;“ día“;“ días“)

Ahora sí que sí… 🙂

Fórmula SIFECHA

Esta fórmula tiene condicionales, es decir, si pasa una cosa, haces una cosa y si pasa otra cosa diferente, haces otra cosa diferente.

Si quieres entenderla mejor, dímelo y escribiré un post explicando cómo funcionan los condicionales en Excel.

¡Ala!

¡¡¡Ya puedes fardar de que conoces una fórmula de Excel que no existe, pero que sí existe!!!

Nada nuevo que no sepas

Nombre, email, aceptas y... ¡Sorpresita!

Si quieres saber cómo sacarle el máximo partido a tus libros de Excel, únete a los cientos de miles de millones de de personas que lo están descubriendo día a día.

 


Deja un comentario