以下是我尝试使用的公式:
=Sum(J1,concatenate("$j","$",value(4-1)))
。
我想要的是结果:sum(J1,J3)
,但我得到的是一条错误消息。如果我评估公式,倒数第二个结果是:sum($j$1,"$j$3")
。
这些引号从何而来,我该如何去掉它们?
谨致问候,
T. van Ellen,比利时
答案1
答案2
这就是你要找的东西吗?
=SUM(INDIRECT(CONCATENATE("$J$1,$J$",VALUE(4-1))))
它将 Indirect() 函数转换的单元格地址提供给 Sum() 函数。
答案3
我没有解释为什么事情不起作用,这就是我自己发布答案的原因。
该函数SUM
仅计算单元格的总数,并且需要一个单元格或单元格范围作为参数。
该函数Concatenate
返回文本,而不是单元格或单元格范围。
由于原生 Excel 不够小,无法尝试文本是否包含单元格,因此 Excel 引入了一项功能,可以将包含对单元格的引用的文本转换为实际的单元格范围。
该函数被称为indirect
。
该函数indirect
可以将单元格或文本作为输入并返回单元格范围。
你的公式将变成
=SUM($J$1, INDIRECT(CONCATENATE("$J$",VALUE(4-1))))
或者,如果您希望能够将单元格复制到另一个单元格并自动转置公式,它将变成
=SUM(J1, INDIRECT(CONCATENATE("J",VALUE(4-1))))