Calculando las semanas del año en Excel

miércoles, junio 28, 2006

Últimamente he recibido varias preguntas sobre temas relacionados con cálculos de fechas. Una de ellas era cómo calcular el número de semana de una determinada fecha.

A primera vista parece una pregunta sencilla. Si tenemos instalado el Análisis Toolpak, podemos utilizar la función NUM.DE.SEMANA(núm_de_serie;tipo), donde "num_de_serie" es el número de serie de la fecha y "tipo" es una variable que indica si la semana comienza el domingo (tipo = 1) o el lunes(tipo = 2).


Si NUM.DE.SEMANA da resultado #¿NOMBRE?, podemos usar su equivalente en inglés WEEKNUM.


Sencillo, no? Pues bien, no!. Sucede que hay que tener en cuenta varias cuestiones antes de lanzarnos a calcular el número de semana.

El resto de esta entrada está basado en los excelentes artículos de
Chip Pearson y Ron de Bruin sobre el tema.

La primer semana comienza el 1 de enero; pero, cuando comienza la segunda, al 8 de enero o el primer lunes después del 1 de enero? Que día marca el comienzo de la semana, el lunes o el domingo?

Veamos las distintas formas de calcular el número de semana. Un archivo con las distintas fórmulas se puede bajar aquí.

Número de semana absoluto.


De acuerdo este concepto, la primer semana empieza siempre el 1 de enero y concluye el 7 de enero, sin tener en cuenta el día de la semana. De esta manera tendremos 53 semanas al año. La semana 53 tendrá un día o dos, si se trata de un año bisiesto.
Para calcular el número de semana absoluto usamos la fórmula
=TRUNCAR(((A1-FECHA(AÑO(A1),1,0))+6)/7)
Si en la celda A1 tenemos la fecha de hoy (28/06/2006), esta fórmula da el resultado 26.

Número de semana de Excel.


Excel ofrece la función WEEKNUM (o NUM.DE.SEMANA). Para usar esta fórmula debemos instalar previamente el
Analysis Toolpak.
Esta función calcula el número de semana contando desde el domingo o el lunes. Por lo tanto, la primer semana puede tener entre 1 y 7 días.
La sintaxis de esta fórmula es
NUM.DE.SEMANA(núm_de_serie;tipo)
Núm_de_serie es una fecha dentro de la semana. Las fechas deben introducirse mediante la función FECHA o como resultados de otras fórmulas o funciones.
Tipo es un número que determina en qué día comienza la semana. El valor puede ser 1 (domingo) o 2 (lunes).
La función =WEEKNUM(A1,2), donde A1 contiene la fecha 28/06/2006 da el resulta 27. En cambio la función =WEEKNUM(A1,1) da 26.

Número de semana ISO (International Organization for Standardisation )


De acuerdo a la norma ISO, la semana empieza siempre un lunes y termina un domingo. La primer semana del año es la que contiene el primer jueves. Es decir, la primer semana tendrá siempre 4 días por lo menos.
La fórmula para calcular el número de semana de acuerdo al estándar ISO es

=ENTERO((A1-FECHA(AÑO(A1-DIASEM(A1-1)+4),1,3)+DIASEM(FECHA(AÑO(A1-DIASEM(A1-1)+4),1,3))+5)/7)

Si la celda A1 contiene la fecha 28/06/2006, el resultado será 26.

Finalmente, si queremos utilizar fórmulas en lugar de la función WEEKNUM,

Si la semana empieza en domingo:

=1+ENTERO((A1-(FECHA(AÑO(A1),1,2)-DIASEM(FECHA(AÑO(A1),1,1))))/7)

Si la semana empieza en lunes:

=1+ENTERO((A1-(FECHA(AÑO(A1),1,2)-DIASEM(FECHA(AÑO(A1),1,0))))/7)



Categorías: Funciones&Formulas

Technorati Tags:

9 comments:

CARLOKO,  24 noviembre, 2006 20:44  

UN PEQUEÑO TRUCO A ESTE PROBLEMA DEL CALCULO DEL NUMERO DE LA SEMANA:

="SEMANA "&REDONDEAR.MAS((HOY()-38718)/7;0)

ES BASTANTE EFICIENTE, NO TIENE EL PROBLEMA DE AJUSTAR A 53 O 54 SEMANAS.

EL TRUCO ESTA EN QUE 38718 ES EL NUMERO DE DIAS DESDE 01/01/1900, POR LO CUAL SOLO UTILIZAS LOS DIAS DEL PRESENTE AÑO; OBVIAMENTE EL CARTEL DE "SEMANA" ES OPTATIVO

Anónimo,  26 marzo, 2008 14:30  

Hola

Gracias por la info, no consegía que me funcionase la fórmula:

=1+ENTERO((A1-(FECHA(AÑO(A1),1,2)-DIASEM(FECHA(AÑO(A1),1,0))))/7)

A parte de que las "comas" son "puntos y coma", delante de DIASEM tiene que ser un más.

Gracias por el trabajo.

Jorge L. Dunkelman 26 marzo, 2008 18:02  

Hola
he revisado las fórmulas y funcionan bien tal como aparecen en el blog. Fíjate que si aplicas WEEKNUM (o NUM.DE.SEMANA) a la fecha de hoy, recibes como resultado 13, que es la semana corriente. Si cambiamos la fórmula, el resultado será 12. Mucho me temo que tu fórmula está equivocada.
En cuanto a los separadores, éstos dependen de las definiciones del sistema.

Anónimo,  20 agosto, 2008 00:16  

Buen dia:

Gracias por escribir post tan interesantes para todos nosotros.

Em mi empresa por desiciones de producion las semanas comienzan los dias Viernes ( como hago yo por medio de formulas sacarle el numero de semana a una fecha en particualar) .

Agradecere mucho su ayuda.

Saludos Cordiales
Edgard ramos
Edgar.drg@gmail.com

Jorge L. Dunkelman 20 agosto, 2008 21:44  

El primer día de la primera semana del año sería el primer viernes de enero?

Marvin Javier 16 febrero, 2010 17:42  

y para saber el numero de semana del mes que formula puedo utilizar.

Gracias !!!!

javierhn1@gmail.com

Jorge L. Dunkelman 16 febrero, 2010 23:23  

Marvin,
no la chequé pero podés probar con

=ENTERO((DIA(B2)-1)/7)+1

donde en B2 está la fecha en cuestión

Anónimo,  01 mayo, 2011 18:37  

La verdad, la info de este blog, me ayudó muchísimo en un reporte de Consumos y tendencias... Le agradezco infinitamente.

ELF 09 mayo, 2011 17:52  

Un apunte. Si se utiliza la fórmula para calcular la semana ISO de una fecha y queremos hacer agrupados por semana ISO y año no podremos utilizar la función año de Excel, sino que tenemos que calcular el "año ISO" de esa semana. Un ejemplo, según la fórmula el 1-1-2010, viernes, corresponde a la semana 53. En este caso el año no sería 2010 para juntar a la semana, sino el 2009.
AñoISO = AÑO(A2 -DIASEM(A2 - 1) + 4)

Publicar un comentario

Seguidores

Google+ Followers

Google+ Badge

Términos Legales

  © Blogger template On The Road by Ourblogtemplates.com 2009

Back to TOP