Excel - 根据值的更改着色整行

McV*_*Vey 40 excel

我想根据一个单元格的值在Excel中对整行进行着色.例如,说我有下面的行:

**File No**
1122
1122
1144
1155
1155
1155
1166
Run Code Online (Sandbox Code Playgroud)

我希望前两行(文件#的值是1122)用颜色1加阴影,下一行(文件#的值是1144)用彩色2加阴影,接下来的3行(文件#的值为1155)为阴影颜色1,下一行(文件#的值为1166)为阴影颜色2

小智 65

您可以执行的操作是在电子表格的右侧创建一个新列,您可以使用该列来计算可以基于阴影的值.

假设您的新列是D列,您要查看的值位于从第2行开始的A列中.

在单元格D2中:= MOD(IF(ROW()= 2,0,IF(A2 = A1,D1,D1 + 1)),2)

根据需要填写,然后(如果需要,隐藏列).

现在突出显示您的整个数据集 - 这些单元格选择将在下一步中被遮挡.

在" 主页"选项卡中,单击" 条件格式",然后单击" 新建规则".

选择" 使用公式"确定要格式化的单元格.

在"此公式为真的格式值"中,put = $ D2 = 1

单击" 格式"按钮,单击" 填充"选项卡,然后选择要用其着色的颜色.

这里的例子:

  • 这很棒.在Excel for Mac版本15.27中,我必须在选择新规则后选择Style = Classic .... (2认同)
  • 组交替行格式效果很好,只是它总是隔一行,因此在格式公式中我使用 =$D1=1 并为我纠正了它。 (2认同)

Pet*_*dam 5

我在Pearson Software Consulting处找到了一种按内容分类的简单解决方案:假设标题从A1到B1,表数据从A2到B5,控制单元在A列中

  1. 新建一个列C
  2. 首先,对第一行进行着色的公式使C2单元格中的公式= true
  3. 在第二行中,使公式= IF(A3 = A2,C2,NOT(C2))
  4. 将该列填充到最后一行
  5. 选择数据范围
  6. 选择条件格式,选择“ 使用公式...”,然后将= $ C2作为公式


小智 5

这个问题困扰了我多年。不喜欢创建一个额外的(不相关的)行/列来计算格式的想法。最后得出以下规则:

=INDIRECT("A"&ROW())<>INDIRECT("A"&(ROW()-1))
Run Code Online (Sandbox Code Playgroud)

这将创建A2<>A1第 2 行、A3<>A2第 3 行等的参考。将字母“A”调整为要比较的列

  • 这似乎只突出显示值的变化,而不是在组之间交替颜色。 (3认同)

小智 5

我讨厌使用这些单元内公式,并且不得不填写新的专栏,最后我了解到足够多的知识,可以通过自己的VBA宏来实现此效果。

从逻辑上来说,这可能与其他答案没有什么不同,但是我认为代码看起来要好得多:

Dim Switch As Boolean
For Each Cell In Range("B2:B" & ActiveSheet.UsedRange.Rows.Count)
    If Not Cell.Value = Cell.Offset(-1, 0).Value Then Switch = Not (Switch)
    If Switch Then Range("A" & Cell.Row & ":" & Chr(ActiveSheet.UsedRange.Columns.Count + 64) & Cell.Row).Interior.Pattern = xlNone
    If Not Switch Then Range("A" & Cell.Row & ":" & Chr(ActiveSheet.UsedRange.Columns.Count + 64) & Cell.Row).Interior.Color = 14869218
Next
Run Code Online (Sandbox Code Playgroud)

我的代码在B列中进行,它假设有一个标题行,所以它从2开始,并且我使用Chr(x + 64)方法获取列字母(它将无法通过Z列;我还没有找到了一种足够简单的方法来解决这个问题)。

首先,布尔变量将在值更改为新值时交替使用(使用“偏移量”检查上面的单元格),并且对于每个遍,都将检查该行的True或False并相应地为其着色。


Phi*_*lar 4

如果您使用的是 MS Excel 2007,您可以使用选项卡conditional formatting上的Home,如下面的屏幕截图所示。您可以color scales像我在这里所做的那样使用默认选项,也可以继续new rule根据您的数据集创建一个。 条件格式