У вашій формулі немає нічого поганого, але, можливо, це не та формула, яку ви хочете використовувати. Є ще одна формула Excel:
=WEEKNUM(serial_num, [return_type])
Це поверне результати, які ви очікуєте отримати. Однак спершу слід перевірити, який тип тижня більше відповідає вашій заявці.
Дозвольте пояснити далі:
Функція ISOWEEKNUM (дата) працює на основі того, що тиждень завжди починається в понеділок і закінчується в неділю, а потім встановлює стандарт, що перший тиждень року - це тиждень, який містить перший четвер року в тиждень. Це означає, що останні кілька днів попереднього року можна позначити як тиждень 1 наступного року.
Функція WEEKNUM (дата, start_day) починає рахувати тиждень, який містить 1 січня. Отже, 01 січня - перший день тижня 1. За замовчуванням нові неділі починаються в неділю, тому тиждень 2 починається в першу неділю після 01 січня. Ви можете змінити день початку, використовуючи другий параметр функції. Іншими словами, перший тиждень може мати 1 день, якщо 01 січня - субота і використовується початковий день за замовчуванням. <- це ключове розуміння функції WEEKNUM ().
Я створив невелику електронну таблицю, яка містить значення вашої дати та додає ще кілька, щоб продемонструвати різницю:
Зауважте, що це не лише 2018 рік, коли останній день у році - перший тиждень наступного року. Функція ISOWEEKNUM () працює чудово, вона просто має іншу інтерпретацію, коли починається перший тиждень.
Ще один спосіб бачити це - дивлячись на дві функції протягом періоду дня, який проходить перше січня:
У 2015 році перше січня - четвер. Отже, функція тижня ISOWEEKNUM () включає останні 3 дні в грудні, тоді як функція WEEKNUM () запускається тиждень першого січня, але в перший тиждень для початкового дня неділі буде лише 3 дні.
Сподіваюся, це пояснює різницю.