Создать дату начала, дату окончания и номера недели относятся к заданной дате начала и окончания - PullRequest
0 голосов
/ 16 апреля 2020

Я хочу сгенерировать неделю без списка, а также дату начала и окончания для конкретной недели, указав некоторый диапазон дат, и я сделал это, используя форму ниже. Но я хочу, чтобы все даты после принадлежности к 52-й неделе работали с формулами 1-й недели. если даты начала и окончания принадлежат одному и тому же году. Но если я выберу дату начала после 26-го числа c, как мои формулы не работают. Пожалуйста, помогите. Я считаю понедельник-воскресенье. -Дата начала (это дает сборщик каландров) B1-Дата окончания ((это дает сборщик каландров)

A3 =IF(A1="","",YEAR(A1))

B3 =IF($A$1-WEEKDAY($A$1,3) +((ROW()-3)*7) <= $B$1-WEEKDAY($B$1,3), ISOWEEKNUM($A$1-WEEKDAY($A$1,3)+((ROW()-3)*7)), "")

C3 =IF(DATE(YEAR(B1),MONTH(B1),DAY(B1))>=DATE(YEAR(A1),MONTH(A1),DAY(A1)),IF(A1<>"",A1,""),"CHECK DATE RANGE")

D3=IF(DATE(YEAR(B1),MONTH(B1),DAY(B1))>=DATE(YEAR(A1),MONTH(A1),DAY(A1)),IF(B1<>"",MIN(DATE(A3+1,1,2),(DATE(A3,1,1)-WEEKDAY(DATE(A3,1,1),2)+B3*7)),""),"CHECK DATE RANGE")

image

Хочу результат как показано ниже

Image 2

1 Ответ

0 голосов
/ 16 апреля 2020

Эти формулы будут работать в строке 3:

A3  =IF(ISNUMBER($A$1),YEAR(A1),"")
B3  =IF(ISNUMBER($A$1),WEEKNUM($A$1,2),"")
C3  =IF(ISNUMBER($A$1),$A$1-WEEKDAY($A$1,2)+1,"")
D3  =IF(ISNUMBER($A$1),$A$1+6-WEEKDAY($A$1,2)+1,"")

Начиная со строки 4, введите эти формулы, затем используйте курсор автозаполнения (выберите ячейки A4: D4, затем нажмите и удерживайте нижнюю - правый угловой значок поля выбора), чтобы скопировать и заполнить столько строк, сколько вам нужно.

A4  =IF(ISNUMBER($D3),IF(($D3+1)<$B$1,YEAR($D3),""),"")
B4  =IF(ISNUMBER($D3),IF(($D3+1)<$B$1,WEEKNUM($D3,2),""),"")
C4  =IF(ISNUMBER($D3), IF( ($D3+1)<$B$1,  $D3+1,""),"")
D4  =IF(ISNUMBER($C4),$C4+6,"")

Кстати, вы упомянули в своем посте, что хотите, чтобы понедельник стал началом недели. Поэтому я использовал значение 2 в WEEKNUM и WEEKDAY. При необходимости используйте другое значение для других дней.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...