2016-11-29 2 views
0

У меня есть вопрос здесь, у меня есть 3 столбца в excel, A1 - дата календаря; столбец B1 имеет значение financial_quarter_start_date; и financial_quarter_end_date в столбце C1.Как рассчитать количество недель между двумя диапазонами дат в excel

Я пытаюсь найти количество недель, падающих между A2 и A3. Здесь я должен рассмотреть первое воскресенье как первую неделю квартала. Мой финансовый год начинается в феврале каждого месяца.

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

=ROUNDUP(MOD(IF(A13>=IF(DATE(YEAR($A13),2,1)=1,DATE(YEAR($A13),2,1),DATE(YEAR(A13),2,7-WEEKDAY(DATE(YEAR(A13),2,1),1)+2)),ROUNDUP((A13-IF(WEEKDAY(DATE(YEAR(A13),2,1),1)=1,DATE(YEAR($A13),2,1),DATE(YEAR($A13),2,7-WEEKDAY(DATE(YEAR($A13),2,1),1)+2))+1)/7,0),ROUNDUP((A13-IF(DATE(YEAR($A13)-1,2,1)=1,DATE(YEAR($A13)-1,2,1),DATE(YEAR($A13)-1,2,7-WEEKDAY(DATE(YEAR($A13)-1,2,1),1)+2))+1)/7,0)),13.01),0) 

приведенная выше формула у меня есть полностью. Однако округление с 13 не является жизнеспособным решением, поскольку не обязательно, чтобы у него всегда было 13 недель.

Например: 5/1/16 должно быть 1-й неделей. Поскольку это попрошайничество q2 и 5/1/16 - это начало в воскресенье. В этом случае с использованием выше результата формулы в течение недели составляет 13

Пожалуйста, помогите мне ..

+0

Если кварталы каждого финансового года не кажутся 13 воскресеньями, то каковы даты для них? –

+0

@Glitch_Doctor Это нормально, если у вас есть номер недели 13, если они действительно попадают под него. – Sandra

+0

Да, я получил это, в конце, в первое воскресенье каждые 3 месяца .... См. Мой ответ, проверенный и работающий. –

ответ

0

Вы можете использовать WEEKNUM, чтобы получить номер недели.

Однако вы сказали, что ваша неделя обыкновение заканчиваться в субботу, но в воскресенье, так что вы должны сделать =WEEKNUM(<insert here where the date is>,2)

0
=WEEKNUM (serial_num, [return_type]) 
  • serial_num - Действительная дата Excel в формате серийного номера.
  • return_type - [необязательно] День недели начинается. Значение по умолчанию 1.

возвращаемый_тип может быть либо 1 или 2:

  • 1 - Неделя начинается в воскресенье
  • 2 - Неделя начинается в понедельник

или ... далее это here для подсчета недель между 2 датами.

  1. Введите эту формулу =(A2-A1)/7 в пустую ячейку (A2 указывает дату окончания и A1 является дата начала)
  2. Если вы просто хотите, чтобы получить целые недели, пожалуйста, применить эту INT функцию: =INT((A2-A1)/7)

Попробуйте here, on sheet "week"

Надеются, что это поможет.

0

Предполагая, что четверть даты начала и окончания в A3:A6 соответственно, то:

=IF(AND(C1>=$A3,C1<$A4),WEEKNUM(C1)-WEEKNUM($A3)+1,IF(AND(C1>=$A4,C1<$A5),WEEKNUM(C1)-WEEKNUM($A4)+1,IF(AND(C1>=$A5,C1<$A6),WEEKNUM(C1)-WEEKNUM($A5)+1,WEEKNUM(C1)-WEEKNUM($A6)+(IF(AND(C1>=DATE(YEAR(C1),1,1),C1<DATE(YEAR(C1),MONTH($A6),DAY($A6))),53,1))))) 

Это проверяет, является ли дата в ячейке выше (C1) между датами начала и окончания квартала, и проверка разница в неделях от даты начала. Чтобы покрыть аномолию для Q4, продолжающуюся до следующего года, оператор IF в конце добавляет 53 вместо 1 для затронутых дат.

Edit # 1

=WEEKNUM(A1)-WEEKNUM(B1)+IF(AND(A1>=DATE(YEAR(A1),1,1),A1<DATE(YEAR(A1),MONTH(B1),DAY(B1))),53,1) 

Это работает для формата A1:C1 вы упомянули в своем комментарии. Очевидно, что это зависит от B1 и C1, обновляемых вручную.

Edit # 2

=WEEKNUM(C1)-WEEKNUM(B1) 

Если вы рассчитываете 05/01/2016 в качестве 1-й недели, то добавить 1 к результату. Снимите самый высокий номер недели (по умолчанию - с воскресенья, или вы можете изменить его на (C1,1), если хотите его точно определить) с самого низкого номера недели. Результат равен 13, который соответствует ручному расчету.

Вы должны посмотреть предыдущее изменение для примера формулы if, которая вам понадобится, когда четверть закончится через год. чтобы отменить отрицательную цифру, ей нужно будет добавить 52, когда дата находится в начале следующего года, и 0, когда это не так.

+0

мой плохой я ввел имена столбцов неправильно. A1 имеет календарную дату, B1 имеет дату начала квартала, а C1 имеет дату окончания. – Sandra

+0

Итак, вы работаете только с текущей датой и текущим кварталом? Вы хотите, чтобы результат был как номер недели? –

+0

Да, я в основном пытаюсь найти недели, падающие в четверть, начиная с первого воскресенья :( – Sandra

-1

Вы можете использовать "скрытые" функции DATEDIF:

Например, в A1 мы пишем дату (01/05/2016), в B1 начать - дата окончания (31/07/2016) и C1 = DATEDIF (A1, B1, «d»)/7 результат будет равен 13

+0

Разверните свой ответ, это имеет мало смысла. – Takarii