连接列字母和单元格值并将其用作公式的引用

连接列字母和单元格值并将其用作公式的引用

我有一个 SUM 公式=SUM(F1:F10),如何通过引用单元格值使“10”动态化?例如,单元格D2的值为 10,因此我的目标是将“F”与单元格的值连接起来D2。如果我将单元格值从 10 更改D2为 20,则公式应该更新。

我正在考虑这样的事情: =SUM(F7:INDIRECT("F" & TEXT($D$2,"0")))

但我需要INDIRECT("F")动态,因为它的公式也需要应用于 G 列。

抱歉,这个问题很简单,但我已经忘记它是如何工作的了。

答案1

另一种方法是使用=OFFSET()函数来定义被加数。

例如,定义一个 1 列宽的范围,从单元格右侧的列OFFSET(F1,0,add_col,rows_to_sum,1)开始,向下延伸行,因此add_colF1row_to_sum

OFFSET(F1,0,0,10,1)相当于F1:F10
OFFSET(F1,0,0,20,1)相当于F1:F20
OFFSET(F1,0,1,10,1)相当于G1:G10
OFFSET(F1,0,1,20,1)相当于G1:G20

add_col并且rows_to_sum可以是合适的单元格引用A1,例如D2等等。

只需将其包装OFFSET()在 a 内=SUM()即可获得类似=SUM(OFFSET(F1,0,A1,D2,1))使用相对/绝对单元格引用($ 符号)的适当内容。

如果您不总是希望从工作表的第一行开始求和,则请将 0 以外的值用作函数的第二个参数OFFSET()。例如:

OFFSET(F1,6,0,14,1)相当于F7:F20

并且单元格引用可以再次用于第二个参数。

类似地,如果要使求和涵盖多列,则对函数的第五个参数使用 1 以外的值OFFSET()。例如:

OFFSET(F1,6,0,14,2)相当于F7:G20

并且单元格引用可以再次用于第五个参数。

https://support.microsoft.com/en-us/office/offset-function-c8de19ae-dd79-4b9b-a14e-b4d906d11b66有关工作表函数的详细信息=OFFSET()

答案2

SUBSTITUTE(ADDRESS(1,F7,4),"1","")将返回单元格的列字母F7。这将有助于获取列,您可以使用以下方法将其合并到公式中:

=SUM(F1:INDIRECT(SUBSTITUTE(ADDRESS(1,F7,4),"1","") & TEXT($D$2,"0")))

相关内容