当公式评估发现无时,Excelvalidation列表公式会生成错误

所以我一直试图在数据validation中使用dynamic下拉列表,而且我已经取得了很多成功,但由于某种原因,这个特定的公式正在踢我的屁股:

=IF(ISERROR(INDEX(INDIRECT(A2&"SL1"),1,1)),A1,INDIRECT(A2&"SL"&INDEX(LevelO, V2, MATCH(A2, LevelO[#Headers]))))

我以前使用过的所有组件都没有问题。 但是,最后一个INDEX导致问题。 如果我删除并硬编码列号,所以它看起来像这样:

=IF(ISERROR(INDEX(INDIRECT(A2&"SL1"),1,1)),A1,INDIRECT(A2&"SL"&9))

然后它工作正常。 为什么我不能在INDIRECT函数中使用INDEX函数呢? 顺便说一下,所有适用的表和范围都存在,这不是问题。 当我把第一个公式放到一个单元格中时,它会评估所有命名的范围(使用公式评估)。 这是用Excel 2007。

首先,您可以在名称pipe理器的“ 公式”选项卡中创build一个名称 ,然后为您的新名称添加一个名称 ,并将您的公式放在引用中 。 完成后,您可以在数据validation中使用相同的名称,而不是将您的公式放在引用框中,插入您创build的名称。 它应该工作。