excel - Excel在相邻单元格中填充单元格颜色
问题描述
我在excel中有一个网格,里面有数字。例如:
网格比示例大得多,示例的数字是任意的。
我想比较奇数列中的数字,即 Col1 和 Col3,与它们相邻的列,即 Col2 和 Col4。我想看看 Col1 单元格中的值是否超过 Col2 中相邻单元格值的 2 倍,以及 Col2 值是否超过 Col1 中相邻单元格值的 2 倍。相同的标准适用于 Col3 和 Col4。如果值超出方差,我想将两个单元格的颜色更改为浅红色。
我想对网格中的所有单元格应用相同的算法,或者有两种算法,一种用于奇数列,另一种用于偶数列。
我尝试使用“条件格式”。使用 =((B6 * 2) <= C6) 比较 Col1 和 Col2 可以正常工作,但是使用 =((C6 * 2) <= B6) 比较 Col2 和 Col1 不会产生预期的结果。事实上,它看起来实际上是在将 Col2 与它的右手邻居 Col3 进行比较,这并不好。
问题:有没有办法使用“条件格式”来比较右手单元格与其左手邻居?
有没有更好的方法,也许使用 VBA 宏或类似的东西?
解决方案
这可以通过条件格式来完成。
从上下文来看,您标记为“Col 1”的列是 B 列,而您的第一行数据是第 2 行
- 选择数据范围:示例中的 B2:E4
- 输入 CF 规则公式(这将为 Col 1、Col 3 等着色)
=AND(ISEVEN(COLUMN()),OR(B2>C2*2,C2>B2*2))
- 输入另一条规则(这将为 Col 2、Col 4 等着色)
=AND(ISODD(COLUMN()),OR(A2>B2*2,B2>A2*2))
笔记:
- 公式假定数据范围从 B2 开始。如果您从其他地方开始,请相应地调整参考。
- 公式假设您的数据从偶数列开始。如果它实际上是从奇数列开始,交换
ISEVEN
和ISODD
函数 - 我使用了两种不同的颜色来展示这两条规则的效果。您当然可以为两者使用相同的颜色
- 我使用了两条规则,因为我认为这更清楚。如果需要,您可以将它们组合成一个规则
=OR(AND(ISEVEN(COLUMN()),OR(B2>C2*2,C2>B2*2)),AND(ISODD(COLUMN()),OR(A2>B2*2,B2>A2*2)))