No hay nada malo con su fórmula, pero tal vez no sea la fórmula que desea usar. Hay otra fórmula de Excel:
=WEEKNUM(serial_num, [return_type])
Eso devolverá los resultados que espera obtener. Sin embargo, primero debe verificar qué tipo de número de semana es más apropiado para su aplicación.
Déjame explicarte más:
La función ISOWEEKNUM (fecha) funciona sobre la base de que una semana siempre comienza un lunes y termina un domingo y luego establece el estándar de que la primera semana del año es esa semana que contiene el primer jueves del año en la semana. Esto significa que los últimos días del año anterior pueden etiquetarse como la semana 1 del año siguiente.
La función WEEKNUM (fecha, día_inicio) comienza a contar en la semana que contiene el 1 de enero. Por lo tanto, el 1 de enero es el primer día de la semana 1. Por defecto, las nuevas semanas comienzan el domingo, por lo que la semana 2 comienza el primer domingo después del 1 de enero. Puede cambiar el día de inicio utilizando el segundo parámetro en la función. En otras palabras, la primera semana puede tener 1 día si el 1 de enero es un sábado y se usa el día de inicio predeterminado. <- esta es la comprensión clave detrás de la función WEEKNUM ().
Creé una pequeña hoja de cálculo que contiene sus valores de fecha y agrega algunos más para demostrar la diferencia:
Tenga en cuenta que no es solo 2018 donde el último día del año es la primera semana del próximo año. La función ISOWEEKNUM () funciona bien, solo tiene una interpretación diferente de cuándo comienza la primera semana.
Otra forma de ver esto es mirando las 2 funciones durante un período de un día que se extiende entre el 1 de enero:
En 2015, el primero de enero es un jueves. Por lo tanto, la función de semana ISOWEEKNUM () incluye los últimos 3 días en diciembre, mientras que la función WEEKNUM () comienza la semana el primero de enero, pero solo habrá 3 días en la primera semana para el día de inicio predeterminado del domingo.
Espero que esto explique la diferencia.