Разница в неделях ISO на конец прошлого года

#google-sheets-formula

Вопрос:

Мне нужна помощь с отчетом, в котором мне нужно продолжить номер недели после 52 (или 53). Например, 30-20 декабря-53-я неделя. Я использовал формулу ISOWEEKNUM здесь. Это неделя № 53 до 3 января 2021 года.

Как только наступит 4-21 января, формула ISOWEEKNUM покажет 1 в качестве номера недели. Технически это правильно. Но для моего отчета мне нужно, чтобы 4-21 января было пронумеровано 54, и это продолжается до 10-21 января. Как только следующая дата начнется 11 января 2021 года, мне нужно, чтобы номер недели показывал 55, и это продолжается.

Заранее спасибо.

Ответ №1:

Предполагая, что вас интересуют только даты после окончания года, мы можем воспользоваться тем фактом, что недели ISO всегда начинаются в понедельник. Весь фокус в том, чтобы определить, в какой понедельник.

Входные:

  • A1 : Начальный год, например. 2020
  • A2 : Дата, о которой идет речь, например. 1/4/2021

Расчеты:

  • B1 : Это просто предварительный расчет 1 января входного года.
     =DATE(A1,1,1)
     
  • B2 : Получите понедельник недели, содержащий 1 января, или следующую неделю, в зависимости от того, имеет ли 1 января номер недели ISO 1.
     =IF(ISOWEEKNUM(B1)=1,0,7) B1-WEEKDAY(B1,2) 1
     

Результат:

  • Возьмите разницу в днях и разделите на 7, чтобы получить количество полных недель.
  • Добавление 1 дает 1-индекс
  • INT это сокращение FLOOR для положительных чисел.
 =INT(1 DATEDIF(B2,A2,"D")/7)