基于单个单元格突出显示多行,条件格式触发器之间有空格?

Highlight multiple rows based on a single cell with blanks in between conditional formatting triggers?

https://docs.google.com/spreadsheets/d/17CRAqPp_1FXQJAN7KtWMnLvmp54_jvBbrB1rES-yBbM/edit#gid=1220119768

第一个 sheet 是我想要的例子,第二个 sheet 是新鲜的,未着色的 sheet。

我正在尝试根据第一行中的第一个单元格是否包含某个值来突出显示 3 行。

在这个具体案例中,我在一行中有锻炼程序类型(上半身、下半身等)和程序名称。接下来的两行是休息信息。我希望其余部分用例程 name/routine 类型突出显示。

由于例程类型是旋转的,如示例 sheet 所示,类型后的第二个和第三个单元格实际上是空白的。

我认为最接近的解决方案可能是 ,但这是一个应用程序脚本,我更喜欢条件格式。当我在这里等待答案时,我将尝试使用 OR 语句,例如

OR($A1="Upper",$A1 - 1= "Upper", $A1 - 2 = "Upper").

奖励:如果可能的话,我也希望这条规则只适用于两行,但这不是必需的。如果您查看示例 sheet,“静态保持”只有两行。

编辑:这接近我想要的。除了,它只突出显示行中的第一个单元格而不是整行。有谁知道如何重新配置​​它以在整行中工作?

=IFS($A1="Upper",1,INDIRECT(ADDRESS(ROW()-1, COLUMN()))="Upper",1,INDIRECT(ADDRESS(ROW()-2, COLUMN()))="Upper",1)

你可以用 3 条规则偏移一行来做到这一点:

尝试范围 A1:F:

=(INDEX(IFNA(VLOOKUP(ROW(A1), IF($A:$A<>"", {ROW(A:A), $A:$A}), 2, 1)))="upper")*($B1<>"")

=(INDEX(IFNA(VLOOKUP(ROW(A1), IF($A:$A<>"", {ROW(A:A), $A:$A}), 2, 1)))="lower")*($B1<>"")

=(INDEX(IFNA(VLOOKUP(ROW(A1), IF($A:$A<>"", {ROW(A:A), $A:$A}), 2, 1)))="back")*($B1<>"")