Excel 删除列时的条件格式创建#Ref

Excel Conditional Formating when deleting columns creates #Ref

我有以下使用工作簿中命名范围的条件格式。

=INDEX(CalculatedMonth1,ROW($A1))<INDEX(ForecastMonth2, ROW($A1))

=INDEX(CalculatedMonth1,ROW($A1))>INDEX(ForecastMonth2, ROW($A1))+INDEX(ForecastMonth3, ROW($A1))+INDEX(ForecastMonth4, ROW($A1))

它们工作得很好,除非有人删除了一列然后条件格式公式更改为:

=INDEX(CalculatedMonth1,ROW(#REF!))<INDEX(ForecastMonth2, ROW(#REF!))

=INDEX(CalculatedMonth1,ROW(#REF!))>INDEX(ForecastMonth2, ROW(#REF!))+INDEX(ForecastMonth3, ROW(#REF!))+INDEX(ForecastMonth4, ROW(#REF!))

有什么方法可以防止 $A1 转换为 #REF!或者我可以在我的条件格式中使用另一个不会给我带来麻烦的公式吗?我的唯一条件是它必须使用那些命名范围。

如果您的 CFR 从第 1 行开始,那么为什么不使用 ROW() 而不是 ROW($A1) 呢?如果它从第 2 行开始,则使用 ROW()-1.

=INDEX(CalculatedMonth1,ROW())<INDEX(ForecastMonth2, ROW())

=INDEX(CalculatedMonth1,ROW())>INDEX(ForecastMonth2, ROW())+INDEX(ForecastMonth3, ROW())+INDEX(ForecastMonth4, ROW())

ROW(...) 函数 returns 参数的行号或如果未提供参数则它所在的任何行。在您的情况下,当在第 1 行评估 CFR 时,您只需要数字 1;当在第 2 行评估 CFR 时,您只需要数字 2,等等。