动态和函数

时间:2013-01-07 09:00:34

标签: excel function dynamic sum

我正在开发一个电子表格,我希望能够自动将一定数量的单元格相加。例如。我在我的参考单元格中输入了120或100,Excel然后在我的收入列中给出了前120或100个单元格的总和。有没有办法做到这一点?我想过简单地命名像“top120revenue”和“top100revenue”等单元格的范围,但除了静态之外,使用27张时也很复杂。如果存在公式,则更容易简单地更改工作表参考而不是重新标记单元格范围。也许答案在于VBA,但我绝不是那里的专家

希望有人可以提供帮助!?

2 个答案:

答案 0 :(得分:3)

您的意思是前n个单元格位置还是n个最高值?如果是前者,我会使用比INDIRECT更强大的INDEX,即

=SUM(A1:INDEX(A:A,B1))

如果你的意思是n个最大值,那么试试

=SUMPRODUCT(LARGE(A:A,ROW(INDIRECT("1:"&B1))))

答案 1 :(得分:0)

我想我找到了问题的答案here。它使用函数INDIRECT()

例如:如果列A包含您的数据,而B1是包含值100的参考单元格,则下面的公式给出了列{的前100个值的总和{1}}。

A

这被解释为:

=SUM(A1:INDIRECT("A"&B1))