Excel公式在命名时返回#value
我正在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())))))
虽然我认为有更短的方法,如上所述….