基于前 X 个单元格的条件格式

时间:2021-03-25 15:29:42

标签: excel conditional-formatting

我正在尝试设置条件格式,以便在列中的前 4 个单元格为空时格式生效。我需要条件格式公式内的范围在应用于其下方的单元格时移动,例如:

Store Sales

如果我按商店跟踪销售情况,如果某个商店在 4 周内没有记录任何销售,我希望这 4 周自动突出显示。

我现在的公式是选择单元格B5:B11,输入公式=SUM(B2:B5)=0触发单元格高亮。

我的问题是,当我查看单元格 B6 时,它寻找空白的范围仍然是 B2:B5,而我需要它是 B3:B6。

有没有办法设置它,以便范围在向下移动一列时会发生变化?

3 个答案:

答案 0 :(得分:1)

这个让我思考了一下,这是我的解决方案。

我的解决方案需要使用四种条件格式,即在每个单元格中设置四种条件格式,然后使用格式刷将条件格式应用于所有单元格。

假设您的周表在 A1:D20 范围内,并且假设您要突出显示单元格,前提是至少(不仅)有四个连续的空白单元格。

Week Table

突出显示单元格 B2,然后使用以下四个公式设置条件格式:

=SUM(OFFSET($B2,0,0,4,1))=0

=SUM(OFFSET($B2,-1,0,4,1))=0

=SUM(OFFSET($B2,-2,0,4,1))=0

=SUM(OFFSET($B2,-3,0,4,1))=0

然后在检查条件格式窗口时应该有类似以下内容:

CF in Cell B2

最后,突出显示单元格 B2,使用 Home 选项卡下的 Format Painter 函数,然后将格式应用于周表中的其余单元格。那么你应该有类似以下内容:

CF Result

很容易找到四个连续空白单元格中的第一个空白单元格,但使用一个公式很难识别第二个、第三个和第四个空白单元格。解决方法使用四个不同的公式来标识四个空白单元格中的每一个(我希望这是有道理的)。请注意,以下仅查看我示例的 B 列,而不是所有列:

Logic

答案 1 :(得分:0)

不漂亮,但很管用。这将突出显示商店至少连续 4 周提供甜甜圈的所有场合。

B:D 列 = 原始数据

列 E:G = 辅助集 1

列 H:J = 辅助集 2

可能有一种方法可以只获取一个辅助集,但这种方法有效且易于验证。首先,我在第 1 周上方添加了 3 个空行。

在单元格 E4、E5 和 E6 中放置一个 0。您不必这样做,您也可以将它们留空。

单元格E5公式,即计算连续空格数:

=IF(ISBLANK(B5),E4+1,0)

将其拖到 G 列并向下拖。

单元格 H5 公式,这是在 4 周后查看是否在辅助集 1 中发现连续空白:

=IF(E8>=4,"Yes","No")

将其拖到 J 列并向下拖。此外,在其上方的行中,重复第 1 周的值。

最后,选择您的原始数据范围 (B5:D14) 并创建此条件格式公式:

=(OR(H5="Yes",H4="Yes",H3="Yes",H2="Yes"))

enter image description here

满意后,您可以隐藏 2:4 行,也可以隐藏辅助列。

答案 2 :(得分:0)

将以下条件应用于各个范围:

范围:B2:D2

=SUM(B2:B5)=0

范围:B3:D3

=OR(SUM(B2:B5)=0, SUM(B3:B6)=0)

范围:B4:D4

=OR(SUM(B2:B5)=0, SUM(B3:B6)=0, SUM(B4:B7)=0)

范围:B4:D8

=OR(SUM(B2:B5)=0, SUM(B3:B6)=0, SUM(B4:B7)=0, SUM(B5:B8)=0)

样本数据的结果:

enter image description here

相关问题