Вычислите номер недели из даты на основе финансового года, определенного нами в Excel. Неделя считается с воскресенья по субботу - PullRequest
0 голосов
/ 22 марта 2020

Мой финансовый год начинается с 1 февраля:

Date
02/01/2019
02/02/2019
02/05/2019
02/14/2019

Я хочу, чтобы номер недели извлекался (в год и в непрерывные недели) в Excel, начиная с этой даты, и моя неделя начинается с формы (с воскресенья по Суббота)

Итак, мой вывод выглядит так:

Date        Week_year_wise   Week_continuous
02/01/2019  1                1
02/02/2019  1                1
02/05/2019  2                2
02/14/2019  3                3
...         ..               ..
...         ..               ..
02/1/2020   1                54
02/7/2020   2                55
02/14/2020  3                56

1 Ответ

1 голос
/ 22 марта 2020
  • , если 02/01/2019 в ячейке A2
  • в формуле B2: = A2- $ A $ 2 + WEEKDAY ($ A $ 2; 1) -1
  • в C2 формула: = (B2-MOD (B2; 7)) / 7 + 1

В C2 вы увидите фискальный номер недели.

DATE                FISCWEEK
vr 01-02-2019   5   1
za 02-02-2019   6   1
zo 03-02-2019   7   2
ma 04-02-2019   8   2
di 05-02-2019   9   2
wo 06-02-2019   10  2
do 07-02-2019   11  2
vr 08-02-2019   12  2
za 09-02-2019   13  2
zo 19-01-2020   357 52
ma 20-01-2020   358 52
di 21-01-2020   359 52
wo 22-01-2020   360 52
do 23-01-2020   361 52
vr 24-01-2020   362 52
za 25-01-2020   363 52
zo 26-01-2020   364 53
ma 27-01-2020   365 53
di 28-01-2020   366 53
wo 29-01-2020   367 53
do 30-01-2020   368 53
vr 31-01-2020   369 53
za 01-02-2020   370 53
zo 02-02-2020   371 54
ma 03-02-2020   372 54
di 04-02-2020   373 54
wo 05-02-2020   374 54

КСТАТИ: названия дней - голландские, формат даты - ДД-ММ-ГГГГ

РЕДАКТИРОВАТЬ: чтобы начать с первой недели в начале года, необходимо изменить формулу в ячейке B2.

Текущая формула : =A2-$A$2+WEEKDAY($A$2;1)-1 В этой формуле $A$2 указывает на первый день года.

Если это значение изменить на DATE(YEAR(A2);2;1), тогда конец года пройдет нормально, но возникнут проблемы с выходными днями в январь, поэтому изменение этой формулы на =A2-DATE(YEAR(A2);2;1)+WEEKDAY(DATE(YEAR(A2);2;1);1)-1 является лишь частью решения.

Поскольку ошибка возникает только в январе, это можно решить следующим образом (без объяснения здесь ... ?, попробуйте выяснить, что это делает, и учиться):

=A2-DATE(YEAR(A2)-IF(MONTH(A2)=1;1;0);2;1)+WEEKDAY(DATE(YEAR(A2)-IF(MONTH(A2)=1;1;0);2;1);1)-1

Теперь я только надеюсь, что я не сделал никакой ошибки перевода в именах функций, потому что у меня есть голландская версия Excel, en Microsoft недостаточно умен, чтобы понимать, что имена функций НИКОГДА не должны переводиться! Кстати, они сделали, наконец! (https://support.office.com/en-us/article/language-accessory-pack-for-office-82ee1236-0f9a-45ee-9c72-05b026ee809f#ID0EAADAAA = Office_2013 ), теперь я могу использовать имена функций Engli sh ?)

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