Clases Excel
Domingo, 28 Septiembre 2014 04:57

La función HOY y sus aplicaciones prácticas

Valora este artículo
(3 votos)

La función HOY tiene una combinación de cualidades que no se ve a menudo: es realmente práctica y, a la vez, una de las más sencillas de usar. Veamos cómo sacarle el máximo jugo posible.

Función HOY 1

 

Para qué sirve

Lisa y llanamente, la función HOY devuelve la fecha de nuestro equipo, actualizándola día a día. La función HOY siempre nos da la fecha actual.

 

Su sintaxis no podría ser más fácil, porque no tiene ningún argumento. Solo debemos limitarnos a escribir:

=HOY()

 

Y con solo eso ¡funciona!

 

 

Aplicaciones prácticas

Tener siempre a la vista la fecha en que vivimos puede ser bastante útil. Pero su verdadero potencial lo aprovechamos al incluir la función HOY dentro de fórmulas más complejas.

 

Para empezar, podemos “potenciar” la función HOY para que nos devuelva automáticamente otras fechas, como el día de mañana, el de ayer, etc.

 

Cálculo Fórmula
La fecha de hoy: =HOY()
La fecha de mañana: =HOY() + 1
La fecha de ayer: =HOY() - 1
La semana que viene: =HOY() + 7
30 días atrás: =HOY() - 30

 

 

Vencimientos

La función HOY es especialmente útil cuando tenemos que calcular vencimientos. Por ejemplo, supón que tienes una lista de facturas de crédito y quieres que Excel te dé una alarma visual en todas las que hayan llegado a su fecha de vencimiento.

 

En la celda F3 podrías escribir:

=SI(E3<=HOY();"Vencida";"")

 

Función HOY 2

 

 

La lógica es muy sencilla: Si la fecha de Vencimiento es anterior o igual a la de HOY, entonces la factura está Vencida; de lo contrario, no.

 

Sin embargo, la fórmula está utilizando una práctica desaconsejable: No es buena idea escribir la función HOY dentro de cada fórmula. HOY() es una función volátil. Eso significa que se ejecutará cada vez que una celda sea modificada, aunque el cambio no la afecte directamente. En otras palabras, la función HOY volverá a traer la fecha del sistema ante cada modificación que hagas en cualquier celda.

 

Si colocas la función HOY dentro de 200 fórmulas, Excel tendrá que recalcular las 200 fórmulas con cada cambio que realices en cualquier parte del libro, lo que consume recursos innecesariamente.

 

Por eso, lo mejor es ingresar la función HOY en una celda fuera del rango donde se usará y en la fórmula que calcula los vencimientos solo hacer referencia a la celda donde la función HOY se encuentra. De esta manera evitas que Excel tenga que calcular el resultado de la función HOY múltiples veces, porque solo figurará una vez.

 

Función HOY 3

 

 

No está de más recordar que, para que la fórmula funcione de manera correcta al copiarla o arrastrarla a otras celdas, debes fijar la referencia a la función HOY (en este caso, la celda C2). Esto lo conseguimos escribiendo $C$2 en vez de C2. Una mejor opción sería darle a la celda C2 un nombre personalizado. Puedes ver cómo hacer esto fácilmente en el artículo: Cómo asignar nombres a celdas o rangos

 

 

Dando un margen de 3 días al vencimiento

Es posible que desees que Excel no te avise el mismo día de vencimiento de las facturas, sino unos días antes, por ejemplo: 3. El ajuste que debes hacer en la fórmula es mínimo:

=SI(E5<=$C$2+3;"Alerta";"")

 

Función HOY 4

 

 

Simplemente debes sumar 3 días más al de la fecha de HOY. Con eso Excel no solo verificará si la factura ha vencido ya, sino también si vencerá en los próximos 3 días. Lógicamente la cantidad de días puede ser cualquiera; basta con sumarla a la fecha de HOY. Puedes leer la explicación de cómo calcula Excel las fechas, en el artículo Cómo maneja Excel las fechas y las horas.

 

 

Calcular la edad de una persona

Se encuentran por todos lados diversas propuestas para calcular la edad en Excel. Pero todas implican el uso de la función HOY. Una de las formas más fáciles de entender es la siguiente:

=ENTERO((HOY()-fecha de nacimiento)/365,25)

=ENTERO(($C$2-B5)/365,25)

 

Función HOY 5

 

 

Explicación: Si restas la fecha de Nacimiento a la fecha de HOY, obtendrás la cantidad de días transcurridos entre ambas. Hay 365 días y 6 horas en un año (esas 6 horas generan un día más cada 4 años, el famoso año bisiesto). En promedio, entonces, un año tiene 365 días y cuarto (=365+0.25). Por eso, dividiendo los días de vida entre 365,25 conseguimos calcular los años de vida. La función ENTERO es para que la edad no quede con decimales.

 

OBSERVACIÓN: Cómo comenté antes, esta es una de las formas de calcular la edad más fáciles de entender, pero no es la más exacta. En algunas circunstancias, muy esporádicas, puede presentar algunos pequeños desfasajes de días a causa de los años bisiestos. Se ofrece una mejor forma de hacer el cálculo de la edad (que también implica el uso de la función HOY) en el artículo: Aplicaciones prácticas de la función SIFECHA.

 

Como vimos en estos pocos ejemplos, la función HOY tiene una gran potencial. ¿Se te ocurre alguna otra aplicación práctica que pueda dársele?

 

Visto 18671 veces Modificado por última vez en Miércoles, 30 Marzo 2016 18:22

Deja un comentario

Los campos imprescindibles están marcados con asterisco (*). Tu dirección de correo nunca será publicada.

24 comentarios

  • Enlace al Comentario Clases Excel Domingo, 23 Octubre 2016 02:21 publicado por Clases Excel

    Hola, Christian.
    Una solución sería cambiar el formato de fecha en las celdas. Para esto podrías seguir los siguientes pasos:
    1) Seleccionar la o las celdas a las que deseas aplicarle el formato de fecha.
    2) Presionar CTRL+1 (el 1 del extremo superior izquierdo [teclado alfanumérico], con el 1 del teclado numérico no funciona).
    3) En el panel izquierdo de la ventana que se abre, hacer clic en la opción Personalizada.
    4) En la casilla Tipo, escribir: dd/mm/aaaa (o dd/mm/yyyy, eso depende del idioma del sistema).
    5) Aceptar.
    Espero te sirva, saludos.

  • Enlace al Comentario Christian Sábado, 22 Octubre 2016 00:14 publicado por Christian

    Hola, tengo una duda de algo que no sé si sea posible. Te explico, yo trabajo con excel en drive y quiero hacer una fórmula para comparar la fecha de hoy con la fecha que escriba, el problema es que excel me pone la fecha por default de mes/día/año y la que yo escribo es día/mes/año, entonces no las compara bien. Quiero saber si hay alguna forma de cambiar la forma en que excel me da la fecha.

    Gracias!

  • Enlace al Comentario Clases Excel Viernes, 30 Septiembre 2016 16:58 publicado por Clases Excel

    Hola, Lenys. Me alegra mucho que la información te resulte útil. Y muchísimas gracias por la recomendación, es muy bienvenida y de gran ayuda.
    ¡Saludos!

  • Enlace al Comentario Lenys Viernes, 30 Septiembre 2016 12:19 publicado por Lenys

    Le felicito por este sitio, es de bastante utilidad en el aprendizaje de Excel. Lo estoy recomendando

  • Enlace al Comentario Clases Excel Miércoles, 20 Julio 2016 04:48 publicado por Clases Excel

    Gracias, Lita.

  • Enlace al Comentario Lita Miércoles, 20 Julio 2016 02:40 publicado por Lita

    buenos consejos Gracias.

  • Enlace al Comentario Clases Excel Martes, 28 Junio 2016 18:25 publicado por Clases Excel

    Hola, Andrés.

    En ese caso la fecha de inicio sería el 1/1/2016.

    Suponiendo que la fecha de inicio estuviera a A1 y la de fin del período en B1, la cantidad de días entre ellas se podría calcular asÍ:
    =B1-A1

    En caso de que quieras incluir la fecha de inicio en la fórmula (aunque siempre es preferible usar referencias) la fórmula podría ser:
    =B1-VALOR("01/01/2016")

    Si el resultado que te da es una fecha, necesitarás cambiar el formato de la celda a General.

    Saludos

  • Enlace al Comentario Andres Lunes, 27 Junio 2016 21:53 publicado por Andres

    Cordial saludo.

    Cómo contar automáticamente los días corridos del año, sin indicar la fecha de inicio y final? me explico:
    Para el cálculo de las liquidaciones laborales necesito saber el 1er día del año de la fecha en que un empleado se retira, así por ejemplo:

    fecha ingreso: 1/jun/14
    fecha de retiro: 15/ago/16

    fórmula que me diga cuántos días van corridos del año 2016 (del 1 de ene al 15 de ago)?

    mil gracias y feclicitaciones por su página.

    WC

  • Enlace al Comentario Clases Excel Miércoles, 25 Mayo 2016 01:53 publicado por Clases Excel

    Hola, Rodrigo.
    Podrías usar esta fórmula:
    ="al "&TEXTO(HOY();"dd/mm/aaaa")&" tenemos"
    Saludos

  • Enlace al Comentario Rodrigo Martes, 24 Mayo 2016 12:57 publicado por Rodrigo

    Hola necesito una formula que me ponga en una celda lo siguiente: "al 24/05/2016 tenemos" en donde la facha sea la del dia en que se habre la planilla. Si bien parece una pavada no he podido hacerlo concatenando la funcion hoy con el texto... ¿Me podra ayudar?
    Gracias

  • Enlace al Comentario programa de facturas Martes, 24 Mayo 2016 08:56 publicado por programa de facturas

    Aprender a manejar excel es algo primordial, que te van a pedir en cualquier empresa. Muy buen post

  • Enlace al Comentario Clases Excel Jueves, 07 Enero 2016 23:22 publicado por Clases Excel

    Hola, Javier.

    Sí, es cierto, si al 10/1 le restas el 1/1 te darán 9 días y no 10. El artículo solo da algunos ejemplos, que por supuesto no cubren todas las realidades posibles.

    En tu caso, tendrías que sumar 1 al resultado, por ejemplo, si desearas calcular los días que pasaron desde el 1/1/2016, contando el día actual, podrías resolverlo así:

    =HOY() - 1/1/2016 +1

    Para calcular períodos de forma exacta, puedes usar la función SIFECHA, que se explica en el siguiente artículo:
    http://clasesexcel.com/index.php/component/k2/item/51-como-calcular-facilmente-diferencias-de-dias-meses-y-anos-con-la-funcion-sifecha.html

    Saludos

  • Enlace al Comentario javier Reyes Miércoles, 06 Enero 2016 16:45 publicado por javier Reyes

    linda la función, muy útil, solo tengo una duda, según el archivo, se explica que si un empleado ingreso el día primero y terminó el día diez del mismo mes, la fórmula no cuenta 10 días, sino 9, lo cual en mi caso, Nicaragua me hace calcular de menos, puesto que nuestro año fiscal va del 01 de enero al 31 de Diciembre del mismo año... y si ingreso esta fecha en la fórmula solo me calcula 11 meses... Quisiera me ayudaran para que el cálculo me salga exacto, es decir que la función me haga el corte al 31 de dic. y me calcule un año completo.. Sugerencias, gracias, se les agradece...

  • Enlace al Comentario Clases Excel Lunes, 27 Julio 2015 05:28 publicado por Clases Excel

    Gracias, Jaime, por tu comentario. Me alegra mucho que te haya servido. Saludos.

  • Enlace al Comentario jaime valencia Domingo, 26 Julio 2015 16:17 publicado por jaime valencia

    Mil gracias, estaba buscando una forma fácil y practica de llevar mis actividades y al fin la encontré.

  • Enlace al Comentario Hector Miércoles, 01 Abril 2015 22:09 publicado por Hector

    Gracias a Uds. por tantos y tan buenos articulos!

  • Enlace al Comentario Clases Excel Miércoles, 01 Abril 2015 07:21 publicado por Clases Excel

    Hola, Hector.

    Tienes razón, el uso de "aa" o de "yy" está determinado por la configuración regional del equipo. Haciendo una investigación superficial, noté que la configuración regional para el español de España o de México utiliza "aa" (o "aaaa") para el año. En cambio para la mayoría de los países de habla hispana (por ejemplo: Argentina, Chile, Colombia, Venezuela y Uruguay) se utiliza "yy" (o "yyyy").

    Que Excel siempre te pregunte si deseas guardar los datos se debe a la función HOY. Con AHORA pasa lo mismo. Ambas funciones se actualizan cada vez que abres el libro y Excel detecta el cambio.

    Gracias por el aporte.

    Saludos

  • Enlace al Comentario Hector Martes, 31 Marzo 2015 16:23 publicado por Hector

    "aa"(año) está bien puesto, supongo porque es la versión en español y tu te refieres como "yy" (year) a la versión en inglés.
    Al menos en mi Excel me funciona :) .
    Lo que si no soluciono, es que cada vez que lo abro, aunque no haga nada me pide si deseo guardar, supongo porque calcula cada vez que lo abro la edad asi sea con diferencia de minutos. Supongo que una macro se solucionaría, pero el VBA no es mi fuerte Jejeje
    Saludos!!!!

  • Enlace al Comentario Clases Excel Martes, 31 Marzo 2015 09:05 publicado por Clases Excel

    Muy buen aporte, Hector. Gracias.
    Es una forma muy sencilla y práctica de calcular la edad.

    Pero en vez de "aa", ¿el formato personalizado a aplicarle no debería ser "yy"? Confírmame, por favor, si quisiste poner eso u otra cosa que no entendí.

    ¡Saludos y gracias de nuevo!

  • Enlace al Comentario Hector Lunes, 30 Marzo 2015 22:45 publicado por Hector

    Particularmente la uso para calcular edades de socios:
    En una celda pongo la fecha de nacimiento de la persona, en otra la fórmula =HOY()- la celda que contenga la fecha de nacimiento. Esto devuelve la edad.
    A la celda que devuelve el resultado se le da formato personalizado como "aa" para que devuelva sólo la edad y no toda la fecha actual.
    También funciona con =AHORA()
    A lo mejor hay alguna otra manera, aunque esta es bien sencilla.
    Saludos y felicitaciones por tan excelentes articulos....

Suscríbete a nuestro Boletín gratuito

Recibe periódicamente en tu email los últimos artículos, tutoriales y otras novedades de Excel.


Tus datos son confidenciales, nunca serán compartidos con nadie.

Inicio    Contacto    Términos y condiciones    Mapa del sitio

Ir arriba

Desarrollado por www.espectradesign.com