Предсказать выходные на три недели раньше прошлых выходных, которые имели значение, а затем каждые три недели с условным форматированием - PullRequest
0 голосов
/ 01 ноября 2018

Мне нужно спрогнозировать за три недели до выходных, которые имеют значение «Отработанный день» (DW), а затем каждые три выходных после использования условного форматирования.

    A         B
01  06/10/18  DW
02  07/10/18  DW
03  08/10/18  NW
.   .         .
.   .         .
.   .         .
22  27/10/18 
23  28/10/18 

Поскольку 6 и 7 октября были рабочими днями, я бы хотел использовать условное форматирование, чтобы изменить цвет ячейки A22 и A23, а затем три выходных после этого (A43, A44) и т. Д.

Первые три недели я могу сделать с помощью простой функции OFFSET, но это не помогает при прогнозировании дат после этого.

1 Ответ

0 голосов
/ 01 ноября 2018

Это нехорошо, но эта формула в условном форматировании для ячеек в столбце А должна делать то, что вы хотите:

=OR(
    MOD((A1-MAX($A$1:$A$999*($B$1:$B$999="DW")*(WEEKDAY($A$1:$A$999,2)=6))),21)=0,
    MOD((A1-MAX($A$1:$A$999*($B$1:$B$999="DW")*(WEEKDAY($A$1:$A$999,2)=7))),21)=0
)

Здесь будут выделены субботы или воскресенья, кратные целым числам от 3 недель до последней субботы или воскресенья с "DW" в столбце B.

Измените ссылки на строки 999 в соответствии с вашим фактическим набором данных.

EDIT:

Это будет выделено, только если в столбце B есть хотя бы одна суббота / воскресенье с "DW";

=OR(
    AND(
        MAX(($B$1:$B$999="DW")*(WEEKDAY($A$1:$A$999,2)=6)),
        MOD((A1-MAX($A$1:$A$999*($B$1:$B$999="DW")*(WEEKDAY($A$1:$A$999,2)=6))),21)=0
    ),
    AND(
        MAX(($B$1:$B$999="DW")*(WEEKDAY($A$1:$A$999,2)=7)),
        MOD((A1-MAX($A$1:$A$999*($B$1:$B$999="DW")*(WEEKDAY($A$1:$A$999,2)=7))),21)=0
    )
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...