Clases Excel

Blog


Domingo, 28 Septiembre 2014 04:57

La función HOY y sus aplicaciones prácticas

Valora este artículo
(6 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. (Para tener una explicación detallada sobre este tema te recomiendo leer el artículo Todo lo que debes saber sobre las referencias relativas y absolutas.) 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 deberías hacer en la fórmula en este caso sería 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

En internet se encuentran 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 29773 veces Modificado por última vez en Lunes, 18 Septiembre 2017 00:39

Deja un comentario

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

33 comentarios

  • Enlace al Comentario Clases Excel Sábado, 19 Agosto 2017 22:04 publicado por Clases Excel

    Hola, Sergio.
    Gracias por tu comentario. Como dices, las funciones tienen diferentes nombres según el idioma de la versión de Office instalada.
    Pero no veo ningún error en las fórmulas del artículo y no me queda muy claro cuál es tu sugerencia.

    Para facilitar tu tarea, puedes descargar el listado de todas las funciones existentes y las correspondencias de sus nombres en español e inglés, desde el siguiente enlace: http://clasesexcel.com/index.php/component/k2/item/30-el-diccionario-bilingue-de-funciones-excel-mas-completo-gratis.html

  • Enlace al Comentario sergio LOPEXZ Sábado, 19 Agosto 2017 19:15 publicado por sergio LOPEXZ

    Solo una sugerencia me pasé casi todo el dia tratando de reparar el error que Excel me mandaba y es que la sintaxis esta mal escrito en ves de ser =SI(E3 micaso excel esta en ingles por que mi sistema operativo es en Inglés.

  • Enlace al Comentario Roberto Juarez Viernes, 23 Junio 2017 19:33 publicado por Roberto Juarez

    Muchas gracias, no recuerdo si intenté usar esa opción, pero si funcionó.
    En D5 tengo la fecha inicial y no tendré fecha final hasta que se resuelva el caso de garantía (tengo varios, trabajo en IT).
    Muchas gracias por la ayuda :)

  • Enlace al Comentario Clases Excel Viernes, 23 Junio 2017 14:27 publicado por Clases Excel

    Hola, Roberto.
    El mensaje de error aparece, por lo visto, porque la D debe ir entre comillas. Excel no está entendiendo a qué se refiere la letra D y te pregunta por ese nombre (#NAME?).

    Sin embargo creo que tú problema se puede resolver de forma mucho más sencilla con la fórmula:
    =TODAY()-C5

    No entiendo la razón para verificar lo que hay en D5, tal vez ignoro algún detalle importante. Pero, para obtener la cantidad de días que pasaron desde la fecha de C5, con la fórmula anterior bastaría.
    Espero haberte ayudado.
    Saludos

  • Enlace al Comentario Roberto Juarez Jueves, 22 Junio 2017 21:19 publicado por Roberto Juarez

    Hola, buen día.
    Yo tengo otro caso, necesito calcular la cantidad de días que han transcurrido desde un día específico (al cual en Excel lo tengo en C5) al día de hoy (mi caso es saber cuántos días han transcurrido desde que creé un folio para la garantía de varios equipos y poder monitorear ese tiempo). En la celda D5 no tengo nada y mi formula, según leí aquí sería: =IF(D5="",DATEDIF(C5,TODAY(),D),"") pero me arroja el error #NAME?
    Espero haberme explicado bien, gracias por su tiempo.

  • Enlace al Comentario Clases Excel Viernes, 21 Abril 2017 19:28 publicado por Clases Excel

    Hola, Juany.
    Tal vez este artículo te sirva de ayuda:
    http://clasesexcel.com/index.php/component/k2/item/86-como-calcular-vencimientos-en-excel.html
    Saludos

  • Enlace al Comentario JUANY Viernes, 21 Abril 2017 02:39 publicado por JUANY

    HOLA ME AYUDA MUCHO SU PORTAL. ES EXCELENTE. ¿COMO PUEDO CALCULAR LOS DIAS TRANSCURRIDOS EN UNA FACTURA?. ES DECIR, DESPUES DEL VENCIMIENTO DE LA MISMA O ANTES DE ESTE.

  • Enlace al Comentario Clases Excel Martes, 20 Diciembre 2016 20:22 publicado por Clases Excel

    Gracias a ti, Fidel. Saludos

  • Enlace al Comentario Fidel Canales R. Sábado, 17 Diciembre 2016 21:56 publicado por Fidel Canales R.

    Muchas gracias: Información muy importante. Saludos. Fidel Canales

  • 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 puedo 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

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

    Mil gracias y felicitaciones 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 fórmula que me ponga en una celda lo siguiente: "al 24/05/2016 tenemos..." en donde la fecha sea la del día en que se abre la planilla. Si bien parece una pavada no he podido hacerlo concatenando la función HOY con el texto... ¿Me podrá 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.

Suscríbete a nuestro Boletín gratuito

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


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

Blog: Excel básico

Blog: Excel avanzado

Blog: Trucos y productividad

Blog: Funciones

Blog: Macros y VBA

Blog: Artículos generales

 


Inicio    Contacto    Términos y condiciones    Mapa del sitio

Ir arriba

Desarrollado por www.espectradesign.com