Isz*_*szi 27 conditional-formatting microsoft-excel microsoft-excel-2010
我发现当您在电子表格中复制、删除或移动数据时,条件格式公式和范围会自动调整。虽然这是个好主意,但它往往会以一些相当奇怪的方式破坏我的想法。
为了避免这种情况,我尝试编写适用于整个电子表格的规则,并关闭列标题以突出显示我想要检查的数据。
示例:=AND(A$1="Check This Column For Blanks),ISBLANK(A1))应用于=$1:$1048576
然而,即使规则明确应用于整个工作表,当我在工作表中工作时,它仍然会自动调整(并以奇怪的方式打破)。
我怎样才能避免这种情况?
当我需要一个在任何情况下都不应该改变的范围时,包括移动、插入和删除单元格,我使用了一个命名范围和INDIRECT函数。
例如,如果我希望一个范围始终适用于单元格A1:A50,我通过名称管理器定义了一个命名范围:

在名称管理器中,添加一个新范围(单击新建),然后在引用:字段中,使用 INDIRECT 函数指定所需的单元格范围,例如=INDIRECT("A1:A50")或=INDIRECT("Sheet!A1:A50")。因为范围在技术上只是一个文本参数,所以重新排列单元格不会导致 Excel 更新它。
此外,这至少适用于 Excel 2010 和 Excel 2013。虽然我的屏幕截图来自 2013 年,但我过去曾在 2010 年使用过这种技术。
请记住,这种不变性也会绊倒您。例如,如果您更改工作表的名称,命名范围将中断。
我注意到在大量单元格上使用此策略时性能会受到轻微影响。我在工作中使用的模型使用这种技术,命名范围跨越数千个不同的单元格范围,当我更新这些范围中的单元格时,Excel 感觉有点迟钝。这可能是我的想象,也可能是因为 Excel 正在对 INDIRECT 进行额外的函数调用。