jueves, 9 de septiembre de 2010

Cálculo de Número de Días


"Necesito calcular, cada día, cuántos días llevan transcurridos desde el 1 de enero del año en curso y los días que faltan para concluir el año ¿hay alguna función que realice estos cálculos?"

No existe ninguna función directa que realice estos cálculos, pero la solución es bien sencilla utilizando las funciones FECHA y AÑO. Supongamos que deseamos contar con la siguiente información actualizada diariamente:


1. la fórmula de B2 es muy sencilla:

=HOY()

2. La fórmula de B3 es igualmente sencilla utilizando la función NUM.DE.SEMANA Esta función tiene tan sólo dos argumentos NUM.DE.SEMANA(Num_de_serie;Tipo). El primer argumento se refiere a la fecha de la que queremos saber el número de semana del año que le corresponde. El segundo argumento sirve para determinar el tipo de semana, esto es, si la semana comienza el domingo, en cuyo caso escribiremos el valor 1, o si queremos considerar semanas cuyo primer día sea el lunes, en cuyo caso el valor de este argumento será 2. Así las cosas, la fórmula resultante será:

=NUM.DE.SEMANA(B2;2)

3. Para calcular los días transcurridos desde el 1 de enero del año en curso hasta la fecha actual, utilizamos la siguiente fórmula:

=B2-FECHA(AÑO(B2);1;1) Si queremos añadir un texto descriptivo al resultado podemos utilizar el operador & (CONCATENAR):
=B2-FECHA(AÑO(B2);1;1)&" días desde principio del año"

4. Finalmente para saber cuántos días restan para concluir el año en curso:
=FECHA(AÑO(B2);12;31)-B2 Añadiendo un texto descriptivo sería:
=FECHA(AÑO(B2);12;31)-B2&" días para terminar el año"



Si queremos mantener esta información siempre visible en la hoja, podemos utilizar la opción de Inmovilizar Paneles. Para ello nos situamos en la celda A7 y vamos al menú Ventana/Inmovilizar Paneles. Aparecerá un borde superior en toda la fila 7 quedando inmovilizadas las celdas que se encuentren por encima de dicha linea.

8 comentarios:

  1. que bueno, no conocía el segundo argumento de la función NUM.DE.SEMANA y en un calendario que monté lo solucioné restando un dia a cada fecha y un condicional para salvar el 1 de enero!..

    ResponderEliminar
  2. Hola Kiko, que bien que estés de regreso; ¿hay manera de cambiar de posición el símbolo negativo de 32,777- a -32,777? Manual no creo sea opción pues son varias celdas. Saludos y gracias.

    ResponderEliminar
  3. Hola Ao. Entiendo que lo que necesitas es adaptar tu configuración regional. Debes ir a INICIO/PANEL DE CONTROL/CONFIGURACION REGIONAL Y DE IDIOMA. En el apartado de "estándares y formatos" debes seleccionar el idioma de tu país (cosa que ya tendrás seleccionada) y pulsar el botón "personalizar". Se te abrirá una ventana donde puedes configurar el símbolo decimal (en tu caso el punto), el símbolo de separación de miles (en tu caso la coma) y el formato de número negativo (en tu caso -1.1). Una vez cambiado esto pulsa el botón Aplicar y después Aceptar. A partir de ese momento excel presentará los números en el formato deseado.

    ResponderEliminar
  4. Gracias Arturo. Contento de que te haya resultado útil.

    ResponderEliminar
  5. Perdón pero no me expliqué, lo que pasa es que los datos son externos y es así como los maneja el programa administrativo (10'160,189.93-) y cuando los copio y pego a Excel no los reconoce como números; con la herramienta reemplazar cambio el apostrofe por coma pero no he hallado manera fácil de cambiar de lugar el signo negativo. Muchas gracias de nuevo.

    ResponderEliminar
  6. Con esta fórmula debería funcionar tanto para los números como para los textos con sus distintas combinaciones de apostrofe y signo negativo (evidentemente he utilizado la celda A1 para introducir el valor a corregir):

    =SI(DERECHA(A1;1)="-";VALOR(SUSTITUIR(SUSTITUIR(A1;"'";"");"-";""))*(-1);VALOR(SUSTITUIR(A1;"'";"")))

    ResponderEliminar
  7. Como no se ve demasiado bien, te aclaro que la fórmula dice ...SUSTITUIR(A1;"APOSTROFE";"")en los dos argumentos del condicional.

    ResponderEliminar
  8. Genial Kiko, en verdad que mil gracias. Muchos saludos.

    ResponderEliminar