【问题标题】:Predict weekends three weeks ahead of last weekend that had a value, then every other three weeks, with conditional formatting使用条件格式预测上周末前三周的周末,然后每隔三周预测一次
【发布时间】:2018-11-01 12:28:27
【问题描述】:

我需要提前三周预测具有“工作日”(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 函数来完成前三周,但这在预测之后的日期时无济于事。

【问题讨论】:

  • 为什么不能在 B 列中有 DW 的 A 列中设置格式单元格?
  • 这将适用于 B 列中还没有值的未来日期。

标签: excel offset conditional-formatting


【解决方案1】:

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

【讨论】:

  • 谢谢,太好了。我看到的唯一问题是该列是否没有“DW”。我不想突出显示任何日期。
  • 太好了。非常感谢。
猜你喜欢
  • 2011-10-08
  • 1970-01-01
  • 1970-01-01
  • 2016-12-10
  • 2011-10-21
  • 1970-01-01
  • 1970-01-01
  • 2021-08-26
  • 1970-01-01
相关资源
最近更新 更多