Excel:使用OFFSET计算的动态SUM

问题描述 投票:-2回答:2

我需要从包含在csv文件(> 100k行)中的大数据集中创建动态的数据块总和。计划在PowerBI中显示数据,但我完全不知道DAX编码语言或VBA。所以我希望我可以预先格式化excel中的数据。

区分我想要总结的数据子集的方法是计数行。行以1中的每个新子集开始,但最终的数字> = 1完全是“随机的”。

第一行是countingRow,第二行是dataRow。

> 1    45 
  2    20
  3    20 
  4    10   -> SUM 95 
> 1    30 
  2     5   -> SUM 35 
> 1     X   -> new SUM

我认为可以使用SUM,IF和OFFSET函数。我的计划是检查一个单元格是否包含1。检查两个真值减一个单元格之间的范围,然后计算另一列中的偏移量总和。但是当我以为我找到解决方案时,我意识到我无法将指针指向新的数据子集。

我需要哪个函数来移动我的计算?

甚至可以在excel中计算这个比例吗?

PS:我虽然感谢DAX或VBA教程,它可以带给我一个解决方案。

excel excel-vba excel-formula sum powerbi vba
2个回答
3
投票

没有数组类型公式的略短的公式:

=IF(OR(A3={1,""}),SUM($B$2:B2)-SUM($C$1:C1),"")

enter image description here


4
投票

在以下示例数据图像中,在D2中使用以下公式。

=IF(OR(A3={1,""}), SUM(INDEX(B:B, AGGREGATE(14, 6, ROW($1:2)/(A$1:A2=1), 1)):INDEX(B:B, ROW())), TEXT(,))

填写。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.