Excel:相对和绝对引用如何确定哪些行被格式化?

Excel:相对和绝对引用如何确定哪些行被格式化?

如下图所示,为什么所有 K 列值都被格式化,只有 J 列值才正确?

我读过关于绝对引用与相对引用的文章,不明白为什么我的两个表上的行为不同。图片是 Microsoft Excel 365 Bible 中示例的编辑

列格式示例

答案1

事实上,这个解释有点不正确。

在第二条规则中,所有内容均按预期工作,$E部分的意思是,当 Excel 考虑 D 列的单元格时,它会$B$3按预期将行的 E 列值与完全绝对值进行比较,然后在考虑 E 列单元格时(因为Applies to范围是两列),它仍然将行的 E 列值与完全绝对值进行比较$B$3

两者之间的区别在于,第一条规则$在“K”之前缺失,这意味着当范围Applies to再次为两列时,第一次比较将按预期进行:它使用 K 列值将其与完全绝对值进行比较$H$3,就像左表一样。

但随后它就出错了,因为当它向右移动一列来考虑 K 列的单元格进行着色时,它向右移动一列,以便单元格与完全绝对值进行比较$H$3:在对 K 列着色时,它不再将该行的 K 列值与 $H$3 进行比较,而是将右侧一列(L 列)与 $H$3 进行比较。因此,K 列的比较是=L3<$H$3,由于 L 列中的所有单元格都未使用,因此值为 0,它们在测试中全部成功,并且 K 列的所有单元格都将被着色。

由于地址是相对的,向右移动一列时比较的内容会发生变化,而最终的测试列(L 列)为空,这导致测试产生不幸的结果。

请注意,如果填充了 L 列,您可能会得到截然不同的结果,在某些情况下,也许在很多情况下,问题可能不会引起您的注意。当然,这里可能会出现这种情况,因为颜色可能与 J 列不匹配,但在其他情况下……

第一条规则中缺少比较单元格的绝对引用是导致问题的原因,对此毫无疑问或有争议。只是给出的解释与实际发生的情况并不相符。这一点很重要,因为,尤其是条件格式(尤其是!),但对于大多数其他事情也是如此,细微的事情往往是 Excel 中出现问题的原因,而确切地知道每个小事情的作用(不是一般意义上而是确切意义上)通常是找出问题的关键。

在这种情况下,模式匹配也会让人更容易解决问题。我们应该永远记住,虽然细节非常重要,但注意到细节中的错误可以从你的任何一般的解决问题的技能中受益。Excel 也是一样,虽然你确实需要知识来了解问题背后的原因,但你并不总是需要知识来修复问题。确保你修复了它,是的,但不只是为了修复它。例如,注意比较中的差异,缺少前导$,你可以编辑它以有一个,然后看到它全部正常工作。你仍然想知道为什么以确保这是一个真正的修复,但它实际上会修复它,你就可以继续了。稍后了解原因,或者在这种情况下,只要很高兴你发现了一个错字并修复了它。

答案2

第一个公式K3<$H$3K3相对于列和行。对于您的范围($J$3:$K$14)来说,这意味着结果适用于列和行,在您的情况下是所有单元格。当条件为真时,将条件格式应用于整个范围。这就是为什么 K 列的单元格也会突出显示的原因。

第二个公式$E3<$B$3$E3相对于列是绝对的,相对于行是相对的。这意味着结果仅适用于行而不适用于列。当条件为真时,仅将条件格式应用于满足条件的行。这就是为什么只有一些行被突出显示的原因。

相关内容