Excel公式在命名时返回#value

我正在Excel中使用下面的表格:

Excel图像

直接进入单元格时,通常会评估以下公式:

=DATE(YEAR(DATEVALUE($A$1)),MONTH(DATEVALUE($A$1)),DAY(INDIRECT(ADDRESS(2,COLUMN())))) 

然而,当我尝试放置在命名的functiontest和调用另一个单元格=test它将返回一个#VALUE! 错误。 我研究过的最好的答案是命名公式和indirect函数并不总是相容的。

如果任何人都可以解释一下我做错了什么,或者为什么我不能在一个命名的范围内进行indirect调用,我将不胜感激!

是的,我不相信“间接”会使用一个命名的范围 – 你不应该真的需要这样一个复杂的公式 – 试试

=(C$2&$A$1)+0

格式为date

编辑 :根据下面的评论,INDIRECT是好的,但我不认为在命名的范围内喜欢COLUMN()。 ROW和COLUMN函数有时performance不好,因为即使是单个值,它们也会返回“数组”,所以需要像MAX或SUM这样的另一个函数将{2}转换为2,例如

=DATE(YEAR(DATEVALUE($A$1)),MONTH(DATEVALUE($A$1)),DAY(INDIRECT(ADDRESS(2,MAX(COLUMN())))))

虽然我认为有更短的方法,如上所述….