条件格式化数据块中的行

时间:2015-08-12 17:24:14

标签: excel excel-2007 conditional-formatting

我希望能够快速将条件格式应用于Excel中一系列表格中的行(当前使用Excel 2007),以选出每行中的最大值和最小值。它很容易一次做一行:只需选择行,点击条件格式,选择上/下规则,选择前10项,将10更改为{{1} } - 然后重复Bottom 1项目的过程。慢。

但如果我试图复制&将特殊格式粘贴到可能是长表的剩余行中,然后选择整个块的顶部和底部 - 而不是所需的。

实际上,我认为我可以找到一种方法来使用VBA宏(因此您可以选择块并通过键盘加速器运行宏)但我不希望将团队成员暴露给VBA出于各种原因。理想情况下,我正在寻找一个"公式"我可以加入"新规则"对话。我认为公式(如果可以设计的话)对于它应用的每个单元格,将测试其值与当前行中所有值的MAX(第二个规则的MIN) - 其中行与它们发生的一样宽为那块数据。

我对INDEX(),INDIRECT(),ROW()的组合感到难以置信,而且我一直在想我几乎得到了它,只是发现我再次难过。< / p>

任何想法,还是不可能?

1 个答案:

答案 0 :(得分:0)

请记住,在对数据块写入条件格式时,您实际上正在为数据块的左上角单元格编写公式中的公式。每个其他单元格都是相同的公式,就像您根据需要将该公式复制并粘贴到右侧一样。这意味着你要查看绝对引用($'s)和相对引用(no $ s)。

例如:

在数据块B2:D10中,我们想要max&amp;突出显示每行的最小值。如果我们打算只为B2编写这个公式,我们会说[请记住,公式是要写的,以便它表示TRUE,意味着条件格式适用,或其他任何东西,然后格式不适用] :

=OR(B2=MIN(B2:D2),B2=MAX(B2:D2))

如果B2等于该行的最小值或最大值,则规则将解析为TRUE,并且格式化将适用。为了推断其他单元格,现在看看你想要“保持不变”,以及你想要“改变”的东西,当你向下复制这个公式时:

=OR(B2=MIN($B2:$D2),B2=MAX($B2:$D2))

在上面,我们总是希望'B2 = M ...'在行和列中更改 - 因为这会将规则单独应用于每个新单元格。我们还希望'$ B'保持不变,因为您要比较的列不会改变[您总是与B列 - D列比较]。但是,我们希望更改选中范围的行,因为在您向下拖动时行会发生变化。