Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 预测周末比上周末提前三周,然后每隔三周使用条件格式_Excel_Offset_Conditional Formatting - Fatal编程技术网

Excel 预测周末比上周末提前三周,然后每隔三周使用条件格式

Excel 预测周末比上周末提前三周,然后每隔三周使用条件格式,excel,offset,conditional-formatting,Excel,Offset,Conditional Formatting,我需要在有“Day Worked”(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、

我需要在有“Day Worked”(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),依此类推


我可以使用一个简单的偏移函数来完成后的前三周,但这对预测之后的日期没有帮助。

这不太好,但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
    )
)

这不太好,但列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
    )
)

为什么不能在列B中有DW的情况下对列A中的单元格进行格式化处理?这将用于列B中还没有值的未来日期。为什么不能在列B中有DW的情况下对列A中的单元格进行格式化处理?这将用于列B中还没有值的未来日期。谢谢,这太棒了。我看到的唯一问题是,如果列没有“DW”。我不想突出任何日期,太好了。非常感谢。谢谢。这太好了。我看到的唯一问题是,如果列没有“DW”。我不想突出任何日期,太好了。非常感谢。