Cálculo de semanas en Excel

miércoles, octubre 19, 2011

Excel no tiene una función que calcule la cantidad de semanas entre dos fechas. Para calcular la cantidad de años, meses y días podemos usar la “indocumentada” función SIFECHA.

En esa nota muestro cómo calcular también la cantidad de semanas, pero dado que sigo recibiendo consultas sobre el tema mostraré aquí la técnica en forma sucinta. A quien no esté familiarizado con SIFECHA le recomiendo leer la nota mencionada.

Supongamos que queremos calcular la cantidad de meses, semanas y días entre dos fechas



En la celda B4 usamos la fórmula

=SIFECHA(comienzo,fin,"ym")

donde “comienzo” es un nombre que se refiere a la celda B1 y “final” es un nombre que se refiere a la celda B2.

(aclaración: dependiendo de las definiciones del sistema hay que usar “a” en lugar de “y” para los años)

En B5 ponemos =SIFECHA(comienzo,fin,"md")

Finalmente en B8 usamos =B4&" meses y "&B5&" días"

Excel no incluye el día de comienzo cuando calcula el intervalo, de manera que quien quiera incluirlo en el resultado deberá agregar “+1” a la fórmula.

Nosotros queremos este cálculo



En la celda B5 (semanas) ponemos

=ENTERO(SIFECHA(comienzo,fin,"md")/7)

para calcular la cantidad de semanas de los días no incluidos en la cuenta de los meses.

En la celda B6 ponemos

=SIFECHA(comienzo,fin,"md")-(B5*7)

Es decir, descontamos del total de días calculado por SIFECHA la cantidad de días de las semanas en la celda B5.

Si queremos una fórmula que no dependa del B5 tendríamos que usar

=SIFECHA(comienzo,fin,"md")-(ENTERO(SIFECHA(comienzo,fin,"md")/7)*7)

La fórmula en B9 es

=B4&" meses, "&B5&" semanas y "&B6&" días"

18 comments:

Arantxa,  20 octubre, 2011 12:15  

:( No me sale.

Me estoy liando...Mira que tienes paciencia y dedicación para explicar pero no lo termino de ver. Los 9 meses y 4 días (5 si incluimos el mismo día) los tengo claros, pero 1 semana, no lo veo.

Entiendo que son los días que no entran en la cuenta de los meses, pero si yo multiplico 9 meses por 4 semanas/mes me da 36+1 que nos ha salido son 37.

Si vamos al calendario, la semana 1 comienza en el 3 de enero (lunes) y el 12 de octubre cae en la semana 41, luego son 40 semanas y 5 días.

Arantxa,  20 octubre, 2011 14:06  

Volviendo al tema del cálculo de semanas y viendo que la función SIFECHA no termina de convencerme he imporvisado otras fórmulas.

Comento para todos por si alguien más le interesa.
Ejemplo: cálculo actual de semanas de embarazo
A1=>Fecha de la última regla
A2=> 05/06/2011
B1=>Semanas
C1=>Días
D1=>semanas+días

En celda B2:
=ENTERO((HOY()-A2)/7)
En celda C2:
=RESIDUO((HOY()-A2);7)
En celda D2:
=B2&"+"&C2

De esta forma al introducir la fecha en A2 05/06/2011, hoy 20/11/2011 tendríamos el dato en D2= 19+4

Antes de dar por buena esta fórmula, me voy al calendario y cuento para ver si es correcta. Cual es mi sorpresa que me da 18 semanas y 4 días.

¿Dónde está el error?. Demasiados cálculos por hoy. Mañana será otro día.

MIL GRACIAS

kaspergro 20 octubre, 2011 17:06  

excelente tutorial, me sirvio mucho... muchas gracias por compartirlo.

pelopunk 20 octubre, 2011 22:53  

Claro, sencillo y útil. GRACIAS!!!!

Jorge L. Dunkelman 21 octubre, 2011 00:15  

Arantxa,
enviame el archivo por mail privado.

Anónimo,  31 octubre, 2011 11:57  

Os puede servir de algo esto, solo para semenas entre fechas:

=TRUNCAR(((E7-E8)+6)/7)+(DIASEM(E7)=DIASEM(E8))

01/05/2011 - E7
01/01/2011 - E8

Re: 18

Anónimo,  21 noviembre, 2011 18:08  

Buenas tardes, tu calendario me sirvio de mucho pero lo que estoy buscando es que ese calendario; donde yo le hara click a cualquier celda de la misma columna(obviamente que se encuentre en blanco) me salga el calendario y elegir la fecha. Podrias ayudarme

Carlos | Cursos de Excel 20 enero, 2012 10:18  

Muy buena fórmula que no conocía. He probado todas las que han proporcionado otros usuarios y todas funcionan perfectamente. gracias a todos.

Anónimo,  05 julio, 2012 19:38  

Hola Jorge,

Se podrian saber cuantos dias lectivos hay entre 2 fechas? Es decir, sin tener en cuenta sabados y domingos?

Saludos,

Jorge L. Dunkelman 06 julio, 2012 16:58  

Si, con la función DIAS.LAB. En el blog hay varias notas sobre el tema.

AFAA84 23 mayo, 2013 17:12  

Estimado, felicitaciones por el blog, es excelente, me ha ayudado bastante.

Respecto de las fechas, tengo un problema para el cálculo de un simple promedio diario, pero para una semana. La idea es automatizarlo para no estar contando la cantidad de valores y días para el calculo del promedio, es posible hacerlo con alguna de estas funciones?

Saludos

AFAA

Jorge Dunkelman 24 mayo, 2013 11:45  

Estimado, ¿podrías explicar el problema un poco más? ¿Cómo están organizados los datos?

AFAA84 27 mayo, 2013 18:58  

En una columna tengo fechas y en la siguiente los valores de esa fecha a una hora determinada, es por esto que tengo varios valores para nu mismo dia, la idea es obtener en las columnas siguientes valores de promedio diario, máximo, desv. est., etc. Si existe la forma de dejarlo automatizado, sería genial.

Saludos
AFAA

Jorge Dunkelman 28 mayo, 2013 20:32  

Lo más eficiente es usar una tabla dinámica. No sólo que podés hacer todos los cálculos agrupando las fechas como te resulte conveniente, sino que también cumplís con la norma de separa entre datos, cálculos y presentación.

AFAA84 28 mayo, 2013 20:53  

Lo intentaré de esa forma... Muchas gracias por turespuesta y nuevamente, felicitaciones por el blog.

Saludos

AFAA

Jota 29 enero, 2014 04:16  

Amigo Jorge, sigo tu blog desde hace algún tiempo y se ha vuelto para mi en una fuente de referencia obligada! Mil gracias por tu gran aporte sin ningún tipo de interés!

En esta oportunidad comedidamente solicito de tu amable colaboración, ayudándome a resolver con una fórmula o macro debido a que tengo una situación que describo a continuación:
Tengo un rango de datos de un proyecto con fechas consecutivas y necesito calcular el número de semanas a partir del día de la semana, es decir:

Día Semana
Sábado 11 de enero de 2014 1
Domingo 12 de enero de 2014 2
Lunes 12 de enero de 2014 2
...
...
...
Sábado 18 de enero de 2014 2
Domingo 19 de enero de 2014 3
...
...
...
Sábado 25 de enero de 2014 3
Domingo 26 de enero de 2014 4
... y así sucesivamente...

(en este ejemplo coloco que la semana inicia el día domingo, pero puede empezar cualquier otro día de la semana).

Sé que con excel se puede realizar esto, lo que no estoy seguro es si se puede con alguna fórmula o con una macro.

Agradezco tu amable atención y espero puedas echarme una mano.

Jorge Dunkelman 29 enero, 2014 21:29  

Puedes usar la función NUM.DE.SEMANA. Fijate en esta nota.

Publicar un comentario

Seguidores

Google+ Followers

Google+ Badge

Términos Legales

  © Blogger template On The Road by Ourblogtemplates.com 2009

Back to TOP