![将条件格式应用于多行](https://linux22.com/image/1437762/%E5%B0%86%E6%9D%A1%E4%BB%B6%E6%A0%BC%E5%BC%8F%E5%BA%94%E7%94%A8%E4%BA%8E%E5%A4%9A%E8%A1%8C.png)
在 Excel 2013 中使用条件格式时,我似乎无法将一条规则应用于多行。我在多行中使用了不相关的数据。例如,行 A 包含价格,行 B 包含成本,行 C 包含股价。
我使用以下规则“仅格式化高于或低于平均值的值”,因为我想突出显示比平均值低一个标准差或高于平均值一个标准差的单元格。如果我使用格式刷将为 A 行建立的规则应用于 B 行,它将不起作用(因为它使用在 A 行中计算的平均值)。如果我尝试编辑公式 ($A$2:$A$20 --> A$2:A$22),Excel 将不会应用更改并继续将其更改回 ($A$2:$A$20)。
有人知道我该如何解决这个问题吗?
答案1
“秘诀”是使用“相对引用”来制作公式,因此,如果您的公式如下所示:=$B$2>$A$2
然后删除行号前的 $ 符号,这样它看起来就像这样:=$B2>$A2
这样,您实际上就不需要复制条件格式了。您可以在应用之前选择整个范围,然后插入公式,就像您只选择了顶部的第一个单元格一样。Excel 将知道将正确的公式应用于范围内的所有其他单元格(假设范围是一列)。或者您可以将此公式应用于第一行,然后使用格式刷复制它。
希望这对您有帮助。
答案2
您不能使用内置的 Excel“格式化最高值”或“格式化最低值”或任何预设。如果您从中移除美元,Excel 就会将它们放回原位。
您需要选择“使用公式确定要格式化的单元格”
假设您的第一行是 A1 到 J1。进入 A1,使用公式添加条件格式规则,并突出显示行的最低值,在公式框中输入:=A1=MIN($A1:$J1)
然后使用格式刷或复制/粘贴特殊格式将条件格式复制到行的其余部分,然后将其余单元格复制到:一次性对整个范围按行进行条件格式设置。
答案3
A理解 Excel 条件格式的关键点就是知道
The formula you create for Conditional Formatting is based on the cell that is currently active. The cells affected (to be colored) are those in the Selection Range.
因此,在尝试不同的公式之前,请注意光标(活动单元格)的位置。
(通常,如果您将光标留在范围的左上角并为第一行定义公式,Excel 将正确猜测您对“适用于”范围的其余部分的意思。)
答案4
Excel 的基本功能无法实现这一点。经过大量搜索、尝试推荐的解决方案以及反复试验后,我必须同意宏是唯一的解决方案;出于某种原因,当用户尝试复制条件格式时,Excel 不会调整单元格引用(就像复制单元格公式时一样)。(我想微软会将此称为“功能”。)
有趣的是,我能够使用免费软件 Kingsoft Spreadsheets(我与它没有任何关系)获得所需的功能;在我为其定义条件后,它确实正确地复制了条件格式,调整了相对单元格引用。(也许 Kingsoft 在其产品中包含的代码方面更具辨别力。);-)
不幸的是,这并不能解决 OP 的问题。以 .xlsx 格式保存(来自金山)并在 Microsoft Excel 中重新打开失败;(复制的)条件格式已损坏。但如果需要大量条件格式并且不一定需要使用 Excel,这可能会很有用。