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

删除列时Excel条件格式创建#Ref,excel,excel-formula,conditional-formatting,named-ranges,Excel,Excel Formula,Conditional Formatting,Named Ranges,我有以下在工作簿中使用命名范围的条件格式 =INDEX(CalculatedMonth1,ROW($A1))<INDEX(ForecastMonth2, ROW($A1)) =INDEX(CalculatedMonth1,ROW($A1))>INDEX(ForecastMonth2, ROW($A1))+INDEX(ForecastMonth3, ROW($A1))+INDEX(ForecastMonth4, ROW($A1)) =索引(计算月1,行($A1))索引(预测月2,行

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

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

=INDEX(CalculatedMonth1,ROW($A1))>INDEX(ForecastMonth2, ROW($A1))+INDEX(ForecastMonth3, ROW($A1))+INDEX(ForecastMonth4, ROW($A1))
=索引(计算月1,行($A1))索引(预测月2,行($A1))+索引(预测月3,行($A1))+索引(预测月4,行($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!))
=索引(计算月1,行(#REF!))索引(预测月2,行(#REF!))+索引(预测月3,行(#REF!))+索引(预测月4,行(#REF!))

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

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

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

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

ROW(…)函数要么返回参数的行号,要么返回它所在的任何行(如果未提供参数)。在您的情况下,当CFR在第1行进行评估时,您只需要数字1,当CFR在第2行进行评估时,需要数字2,等等。

如果您的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())
=索引(CalculatedMonth1,ROW())索引(ForecastMonth2,ROW())+索引(ForecastMonth3,ROW())+索引(ForecastMonth4,ROW())

ROW(…)函数要么返回参数的行号,要么返回它所在的任何行(如果未提供参数)。在您的情况下,当CFR在第1行进行评估时,您只需要数字1,当CFR在第2行进行评估时,需要数字2,等等。

如果您的CFR在第1行开始,那么为什么不使用
行()
而不是
行($A1)
?如果它从第2行开始,然后使用
row()-1
@jeeped,我不知道它默认为$A1。这应该可以解决我的问题。如果您的CFR从第1行开始,那么为什么不使用
行()
而不是
行($A1)
?如果它从第2行开始,然后使用
row()-1
@jeeped,我不知道它默认为$A1。这应该可以解决我的问题。Jeeped,我认为这解决了我的问题,但当我从等式中取出$A1时,条件格式化会产生不同的结果。如前所述,这取决于你应用于:范围是什么。以上仅适用于从第1行开始的应用于。如果从第2行开始,则
row()
应为
row()-1
。当CFR在第一行计算时,或者在后面的行中应用到:时,您只需要一个1,然后在第1行中使用2、3、4等。即使是第1行也会出现不同的结果。应用到:范围是什么?我计算出来了-这是因为我的命名范围从第3行开始。非常感谢。它现在是固定的。Jeeped,我认为这解决了我的问题,但当我从等式中取出$A1时,条件格式化会产生不同的结果。如前所述,这取决于你应用于:范围是什么。以上仅适用于从第1行开始的应用于。如果从第2行开始,则
row()
应为
row()-1
。当CFR在第一行计算时,或者在后面的行中应用到:时,您只需要一个1,然后在第1行中使用2、3、4等。即使是第1行也会出现不同的结果。应用到:范围是什么?我计算出来了-这是因为我的命名范围从第3行开始。非常感谢。现在修好了。