我正在尝试对列中的前 N 个元素求和,其中 N 是另一个单元格中的值。我想出了这个:
=sum(B1:indirect(concatenate("B", A10)))
其中 A10 包含 N。但我不想在连接中对列标签进行硬编码,因为我希望它在移动列时继续起作用。我尝试使用该column()
函数,但它返回一个数字,而不是字母。我试过
=char(code("A") + column() - 1)
但是一旦列达到 ,这个方法就会失败AA
,而我已经到AK
了。我可以在其中进行模 26 测试,但我认为必须有一种更简单的方法来获取列字母代码,或者进行变量求和。
我正在使用 Apple Numbers,但 Numbers、Excel、LibreOffice 等中的公式似乎都非常相似,因此如果您有适用于其他电子表格的建议,请不要保留。
答案1
为什么不将 OFFSET 函数与 SUM 结合使用?将偏移量固定在要求和的列的第一行,然后使用您放入另一个单元格的值 N 来设置偏移量返回的范围引用的高度。
例如,假设您要对 AK 列求和,并且您已在单元格 AZ1 中指定要求和的行数。求和的公式如下:
=SUM(OFFSET(AK$1,1,0,AZ1,1))
这是一个数组公式,因此需要使用 CTRL-SHIFT-ENTER 输入。