在公式中使用单元格中的值作为单元格引用?

40
我想知道如何从另一个单元格的值中提取单元格引用并将它们插入到公式中。举个简单的例子,在A1单元格中,我有这个公式:“COUNT(B4:H4)”。我不想在设置公式时选择范围,而是希望该范围基于其他单元格中的值是动态的。所以我想在“B4”单元格中输入单元格引用:“C5”,并在“H4”中输入“C8”。如何设置公式以查找“B4”和“H4”单元格中的内容,并返回由这些单元格中的值定义的范围(在本例中为“C5:C8”)...因此最终,A1单元格将返回“C5:C8”的计数。我希望这样说起来有意义。这似乎是一件很简单的事情,但我无法找到相关信息。

我不确定我理解了,您是指您想在单元格B4中获得C5:C8的总和吗?当您说“然后返回由这些单元格中的值定义的范围”时,我有点迷失。您想让一个单元格返回一个范围吗? - just eric
抱歉,我刚刚编辑了一下以澄清。我想要在单元格A1中计算C5:C8的数量。我的公式应该指向单元格B4H4,这些单元格实际上将包含文本“C5”和“C8”。 - KrazyKiddo8
2个回答

56

使用INDIRECT()函数

=SUM(INDIRECT(<start cell here> & ":" & <end cell here>))

5
如果公式包含来自不同工作表的单元格,并且您需要从另一个单元格中的值中获取工作表,则应如何操作? - kkoolpatz
1
kkoolpatz的答案是:=SUM(INDIRECT(A2&"!A1")),其中A2包含工作表名称。在gnumeric中,您需要添加'(引号),并用双引号括起来。例如:=max(indirect("'"&A2&"'"&"!K:K"))以查找单元格A2中所述工作表中列K的最大值。 - MastroGeppetto

0

有一种使用INDEX和MAKEARRAY的非易失性方法,类似于:

=COUNT( INDEX(C:C, MAKEARRAY(B4-H4+1, 1, LAMBDA(r,c,B4+r-1))) )

除此之外,现在B4和H4只需要包含开始和结束的行号,例如你的示例中的'5'和'8'。如果您始终只处理单个列,则这很简单 - 可以使用多个行和列范围,但公式可能不太友好!

无论如何,只有在电子表格中要频繁进行此操作时才相关,因为INDIRECT会导致速度变慢,因为它总是重新计算。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接