Excel表中根据另一列的值进行滚动求和

4nkexdtk  于 8个月前  发布在  其他
关注(0)|答案(3)|浏览(118)

我期待着执行一个滚动总和的基础上一列的值为Excel表。
我只想得到当前行的总和(而不是具有相同值的所有行的总和)

我举了一个简单的例子来解释:

我想在公式中使用表引用来获取下表中前两列的项目滚动总和。“Item”和“Value”已知;要计算“Item_Wise_Rolling_Sum”
| 项目|值|物料滚动总和|
| --|--|--|
| 一| 1 | 1 |
| 一| 2 | 3 |
| B| 10 | 10 |
| B| 5 | 15 |
| B| 2 | 17 |
| C| 6 | 6 |
我试着使用下面的公式,但无济于事:

=SUMIFS(MyTable[[#Headers],[Value]]:[@Value], [Item], [@Item])

字符串
这个想法是只计算当前行的总和,而不是下面所有行的总和。
先谢谢你了。

v9tzhpje

v9tzhpje1#

对于旧版本,请尝试使用SUMIFS()


的数据

=SUMIFS(B$2:B2,A$2:A2,A2)

字符串
或者,在MS365中尝试使用MAP()


=MAP(A2:A7,B2:B7,LAMBDA(x,y,SUM((A2:x=x)*B2:y)))


或者,将SUMIF()与Structured References一起使用


=SUMIF(MyTable[[#Headers],[Item]]:[@Item],[@Item],MyTable[[#Headers],[Value]]:[@Value])


使用SUMIFS()需要根据参数正确更改范围,

=SUMIFS(MyTable[[#Headers],[Value]]:[@Value],MyTable[[#Headers],[Item]]:[@Item],[@Item])


另一种锚定和使用SUMIFS()在Excel表格中运行总计的替代方法:(相对较短的方法)


=SUMIFS(INDEX([Value],1):[@Value],INDEX([Item],1):[@Item],[@Item])


正如**JvdV**先生所评论的那样,如果将来你不想使用Structured References,那么试试下面的方法。

=MAP(A2:A7,B2:B7,LAMBDA(x,y,SUMIF(A2:x,x,B2:y)))

vltsax25

vltsax252#

使用表引用:=SUMIF(MyTable[[#Headers],[Item]]:[@Item],[@Item],MyTable[[#Headers],[Value]]:[@Value])


的数据

5tmbdcev

5tmbdcev3#

我不确定是否需要另一个答案,但您也可以使用当前行:

=SUM([Value]*(ROW()>=ROW([Value]))*([Item]=[@Item]))

字符串


的数据

相关问题