2016-09-19 6 views
0

В моем листе Excel я хочу рассчитать даты начала/конца 4 недель. У меня есть эта формула для расчета понедельника и воскресенье дат основаны на неделю, введенных в С9, H9 (= C9+1), C23 (=H9+1), H23 (=C23+1):Формула для расчета дат

По понедельникам

=IF(C9<>"",DATE(YEAR(TODAY()),1,-2)-WEEKDAY(DATE(C9,1,3))+C9*7,"") 
=IF(H9<>"",DATE(YEAR(TODAY()),1,-2)-WEEKDAY(DATE(H9,1,3))+H9*7,"") 
=IF(C23<>"",DATE(YEAR(TODAY()),1,-2)-WEEKDAY(DATE(C23,1,3))+C23*7,"") 
=IF(H23<>"",DATE(YEAR(TODAY()),1,-2)-WEEKDAY(DATE(H23,1,3))+H23*7,"") 

По воскресеньям

=IF(C9<>"",DATE(YEAR(TODAY()),1,-2)-WEEKDAY(DATE(C9,1,3))+C9*7+6,"") 
=IF(H9<>"",DATE(YEAR(TODAY()),1,-2)-WEEKDAY(DATE(H9,1,3))+H9*7+6,"") 
=IF(C23<>"",DATE(YEAR(TODAY()),1,-2)-WEEKDAY(DATE(C23,1,3))+C23*7+6,"") 
=IF(H23<>"",DATE(YEAR(TODAY()),1,-2)-WEEKDAY(DATE(H23,1,3))+H23*7+6,"") 

Теперь, если я вхожу 37 в C9, понедельник и воскресенье на неделю 37 рассчитываются правильно, как 12 и 18 сентября, в то время как неделя 38 и следующая неверны (18 сентября и 24 сентября). Где ошибка?

ответ

1

Существует несколько моментов для рассмотрения w.r.t. =IF(C9<>"",DATE(YEAR(TODAY()),1,-2)-WEEKDAY(DATE(C9,1,3))+C9*7,"")

  1. Почему мы извлекаем Weekday, когда мы знаем, его понедельник т.е. 2.
  2. В воскресенье мы знаем его понедельник + 6 дней.

Возможно, вы использовали формулу из site.

=DATE(A2, 1, -2) - WEEKDAY(DATE(A2, 1, 3)) + B2 * 7 ---> Здесь B2 и A2 разные, в то время как вы ссылаетесь на одну и ту же ячейку в своей формуле.

В вашей формуле --- заменить WEEKDAY(DATE(H9,1,3)) на WEEKDAY(DATE(YEAR(TODAY()), 1, 3)). Это будет работать.

+0

Я не понимаю вашу точку зрения. Вы можете перефразировать? Я хочу, чтобы пользователь вводил только номер недели, затем пусть лист вычисляет остальное. –

+0

Это только на 2016 год? Если это так, я создам формулу для вас. –

+1

Отредактированный ответ, пожалуйста, см. –

Смежные вопросы