我想INDIRECT
在类似的公式中使用=INDIRECT(CONCATENATE(A1,"+",A2),0)
;
其中A1 = 7
和A2 = 8
。
#REF
它总是出现错误,但如果我使用INDIRECT
这样的公式:=INDIRECT(B1)
;其中B1
内容是"J5"
,J5
内容是11
,则一切都正常并且间接返回 11。
但据我所知,它在两种情况下都应该可以工作。至少在我的另一台电脑上可以工作。
我在这里做错什么了吗?
答案1
如果您只是想添加,A1
那么A2
会=SUM(A1, A2)
更有意义。
如果您尝试将两个单元格相加,但又希望根据其他条件动态引用单元格(这是您想要的唯一原因INDIRECT
),则需要执行类似=INDIRECT("A1") + INDIRECT("A2")
或 的操作SUM(INDIRECT("A1"), INDIRECT("A2"))
。尽管这样写,但这确实是一种迂回的做事方式。
相反,如果您设置B1
为"A1"
和B2
为"A2"
那么...那么您可以将和=SUM(INDIRECT(B1), INDIRECT(B2))
的值更改为您想要加在一起的任何单元格。B1
B2
编辑后添加:第二个可选参数仅在您要使用R1C1
引用单元格的样式时才是必需的。当您A1
用“+”连接时A2
,结果将A1+A2
不是对任何内容的引用。如果您希望使用R1C1
引用样式,您可以阅读更多有关如何这里
答案2
看起来您引用的单元格是错误的。连接后的 Excel 所采用的=INDIRECT("7+8",0)
不是有效的单元格地址A1
或R1C1
格式。
我建议将您的 CONCATENATE 更改为CONCATENATE("R" & A1 & "C" & A2)
我INDIRECT("R7C8",0)
认为这是您的目标。
我使用了&
而不是+
来清楚地表明我没有做加法,但+
也可以正常工作。