预测上一个周末早三周的值,然后按条件格式化每隔三周的值

时间:2018-11-01 12:28:27

标签: excel offset conditional-formatting

我需要在具有“工作日”(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 

由于10月6日和7日是工作日,我想使用条件格式来更改A22和A23的单元格颜色,然后在此之后的三个周末(A43,A44)等等。

我可以使用一个简单的OFFSET函数在之后的前三周进行操作,但这在预测之后的日期时没有帮助。

1 个答案:

答案 0 :(得分:2)

这不是很好,但是“条件格式”中用于A列单元格的此公式应该可以满足您的要求:

=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倍的整数倍,B列中带有“ DW”。

更改999行引用以适合您的实际数据集。

编辑:

仅在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
    )
)