Excel条件格式化时删除列创build#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(…)函数或者返回参数的行号,或者返回没有参数的行。 在你的情况下,只需要在第1,2行CFR被评估时的数字1,在第2行评估CFR时的第2行等等。