EXCEL累加各行,直到累加到小于等于某数,返回计算结果及加总到的行数

求问excel大神一个问题,如上图所示,列一有很多数字,现在想要实现的是,在输入值中输入一个数字,例如30,然后excel从列1的第一行开始累加,直到<=输入的值30,然后返回累加值和行数,如本例中,1+2<=30,1+2+42>30,则返回累加值3和行数7 (抱歉,图片上写成5了,错了),谢谢!

公式分别为(都为数组公式)

=LOOKUP(B1,MMULT(N(ROW(1:10)>=TRANSPOSE(ROW(1:10))),B6:B15))

=MATCH(B2,MMULT(N(ROW(1:10)>=TRANSPOSE(ROW(1:10))),B6:B15),)+5

追问

这个好像只能算到15行了啊?修改row(1:10)到更大的数就会报错?

追答

把公式的引用区域改为与实际的相符就可。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-14

B6=IF(SUM($A$6:A6)<=$B$1,1,"")

下拉公式

B2=SUMIF($B$6:$B$23,1,$A$6:$A$23)

B3=SMALL(IF($B$6:$B$21=1,ROW($B$6:$B$21),65536),COUNTIF($B$6:$B$21,1))

同时按CTRL   SHIFT  回车键 

第2个回答  2015-12-14
你好,这个用公式是很难实现的。
如果可以用VBA的话。你加我一下
393787945
帮你弄好