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