En Excel, hay 2 funciones para devolver el número de semana de una fecha.
- La función WEEKNUM: Esta función existe desde el comienzo de Excel, pero utiliza el método estadounidense, lo que puede dar lugar a errores de interpretación.
- La función ISOWEEKNUM: Esta función está disponible desde Excel 2013 y devuelve el número de semana determinado en Europa.
Diferentes reglas entre Estados Unidos y Europa
En Europa, los números de semana se calculan según la norma ISO 8601Esta norma especifica que La primera semana del año Debe tener al menos 4 días.
- En otras palabras, si la primera semana del año comienza en viernes, sábado o domingo, esos días no se cuentan como parte de la primera semana del año.
- Sin embargo, en América del Norte esta regla no existe. Los números de las semanas se calculan a partir del 1 de enero, incluso si el 1 de enero cae en domingo.
Impacto en Excel
Para entender el impacto de estas dos fórmulas en los cálculos del número de semana, analicemos esta situación.
Cálculo con 1 de enero
El siguiente documento enumera todas las fechas del 1 de enero de 2018 a 2030.
- El Función WEEKNUM siempre devuelve 1 independientemente del primer día del año.
- con NÚMERO DE SEMANA ISO, si el primer día del año es un Viernes, sábado o domingo, la función considera el 1 de enero pertenecer a la semana del año anterior.
Número de semana con 4 de enero
El siguiente documento enumera todas las fechas del 4 de enero de 2018 a 2030.
Notas:
- El El cambio de semana se produce el domingo con la función WEEKNUM.
- Para cambiar la semana a lunes, agregue 2 como segundo parámetro en la función
=WEEKNUM(date,2).
Número de semana en VBA
En VBA, el enfoque más simple es utilizar las funciones de cálculo de Excel para devolver el número de semana.
Sub Week_Number()
'Week number in European format
Cells(1, 1) = Application.WorksheetFunction.IsoWeekNum(Date)
'Week number in US format
Cells(1, 1) = Application.WorksheetFunction.WeekNum(Date)
End Sub
