Excel 中重复数据的交替行颜色

Excel 中重复数据的交替行颜色

我正在处理 Excel 中的一个数据集,其中包含重复值和非重复值(数字)。如果可能的话,我希望每个重复值组都通过条件格式交替显示阴影。我尝试创建一个“辅助”单元格来为每个重复组增加值,但似乎无法找到方法。

这是数据集的一部分(位于 A2 行至 A30 行)

1
1
1
2
3
6
8
9
10
11
12
15
15
17
18
18
19
20
20
20
20
20
21
21
24
25
25
25
25

预期结果是 1 为红色,15 为绿色,18 为红色,20 为绿色,21 为红色,25 为绿色,等等......

答案1

设置B2

=IF(A2=A3, 1, -2)

并设置B3

=IF($A2=$A3, B2, IF($A3=$A4, IF(B2>0,3-B2,B2+3), IF(B2>0,-B2,B2)))

并将其拖到B30 (或包含数据的最后一行,无论它是什么)。如果此行是重复值组的一部分,则计算结果为正数,如果不是(即,如果 ColumnA包含唯一值),则计算结果为负值。在第一个重复值组中,ColumnB将为 1;在第二个重复值组中,Column 将为 2;在第三个重复值组中,Column 将再次为 1,依此类推(交替)。在具有唯一值的行上,ColumnB将包含最近重复值组的值的负数。

一步步:

第一排:

  • 如果A2=A3,则行23属于同一重复值组,因此B应为 1,因为我们希望第一个组编号为 1。否则(如果A2A3),行2不是重复值组的一部分(我们还不知道 Row 3),所以它应该有一个负值。我们将其设为 -2,这样第一个重复值组(当我们找到它时)将被编号为 1。

后续行:

  • 如果A2=A3,那么这一行和前一行是同一个重复值组的一部分,因此B应该与前一行相同。
  • 否则(若A2A3),如果A3=A4,则该行和下一行是新的重复值组的前两行,B因此IF(B2>0,3-B2,B2+3)
    • 如果B2>0,则前一行是另一个重复值组的最后一行。因此,我们希望在 1 和 2 之间交替值 — 如果前一行是 1,我们希望这一行是 2,反之亦然。表达式3-B2实现了这种交替行为: 3-1是 2 并且3-2是 1。
    • 否则(如果B20),则前一行在 Column 中具有唯一值A,并且 ColumnB具有最新组的值的负值B。同样,我们希望在 1 和 2 之间交替值 — 如果前一行是 -1,我们希望这一行是 2,反之亦然。我们用 得到这个B2+3-1+3是 2 并且-2+3是 1。
  • 否则(如果A3A4),则此行是一个唯一值行,因此B也是IF(B2>0,-B2,B2)

    • 如果B2>0,那么前一行是不同重复值组的最后一行,我们希望这一行的B值是该值的负数。
    • 否则(如果B20),前一行也是唯一值行,因此我们希望保留相同的B值。

    我想我可以-ABS(B2)在这里说。

所以现在,显然,如果列中的值为 1,则使用条件格式将单元格颜色设为红色,如果列中的值为B2,则将单元格颜色设为绿色。
                                                截屏

相关内容