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

Rya*_*n B 3 duplicate sorting conditional-formatting microsoft-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
Run Code Online (Sandbox Code Playgroud)

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

Sco*_*ott 8

设置B2

=IF(A2=A3, 1, -2)
Run Code Online (Sandbox Code Playgroud)

并设置B3

=IF($A2=$A3, B2, IF($A3=$A4, IF(B2>0,3-B2,B2+3), IF(B2>0,-B2,B2)))
Run Code Online (Sandbox Code Playgroud)

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

一步步:

第一排:

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

后续行:

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

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

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

所以现在,很明显,如果 Column 中的值B是 1 并且绿色是 2 ,则您可以使用条件格式将单元格着色为红色。
                                                截屏