引言:本文的练习整理自chandoo.org。多一些练习,想想自己怎么解决问题,看看别人又是怎解决的,能够快速提高Excel公式编写水平。
本次的练习是:在指定条件下,计算一系列数据的累积和。规则如下:如果累计总和等于或超过阈值,则输出自求和开始以来所有值的总和;如果累计和超过阈值,则重新开始求和。示例数据如下图1所示。
图1
由于B2<阈值(7),B3=0。
B2+C2>=阈值,因此C3=B2+C2=5+7=12。
由于B2+C2满足或超过了阈值,累计求和重新开始。
由于D2不大于阈值,D3=0。
D2+E2不大于阈值,因此E3=0。
然而,由于D2+E2+F2>=阈值,所以F3=D2+E2+F2=4+2+3=9。
由于D2+E2+F2>=阈值,累计求和重新开始。
由于G2小于阈值,因此G3=0。
由于G2+H2=12大于阈值,因此H2=G2+H2=1+11=12。
……
假设数据中的列数不固定,阈值是公式的一部分或引用自另一单元格,不得使用任何辅助单元格。
写下你的公式。
解决方案
公式1:
在单元格B3中输入公式:
=IF(SUM(B2:B2)-SUM(A3:A3)>=7,SUM(B2:B2)-SUM(A3:A3),0)
向右拖放复制到数据末尾。
公式2:
在单元格B3中输入公式:
=(SUM(B2:B2)-SUM(A3:A3)>=B6)*(SUM(B2:B2)-SUM(
向右拖放复制到数据末尾。
公式不复杂,有兴趣的朋友可以仔细理解体会。