就是利用本列公式已计算的结果进行倒推的算法

今天一位同学提了一个问题,如果用一般的解题思路还真的有些麻烦 。不过使用Excel的“倒减法”却可以轻松解决 。
【例】如下图所示 。要求在B列计算连续的符合条件(>3)的数字个数 。
分析:
根据条件计算,我们用countif可以轻松解决,如:
=Countif(a:a,”>3″)
但本题的难点在于要分段统计,本段的区域大小很难确定 。
=Countif(?,”>3″)
本题借用lookup也可以计算出来,但比较麻烦
B2公式:
=IF(OR(A2<=3,A3>3),””,IFERROR(ROW()-LOOKUP(1,0/(A$2:A2<3),ROW(A$2:A2)),ROW()-1))
如果用倒减法,公式将变得简单很多:
=IF(OR(A2<=3,A3>3),””,COUNTIF(A$2:A2,”>3″)-SUM(B$1:B1))
公式说明:
IF(OR(A2<=3,A3>3),””:如果A列当前行<=3或下一行大于3,则公式返回空 。
COUNTIF(A$2:A2,”>3″)-SUM(B$1:B2):利用COUNTIF函数统计A列当前行以前共有多少个大于3的数字,然后减去B列已有结果 。这里一定要注意区域的引用方式 。
【就是利用本列公式已计算的结果进行倒推的算法】补充:所谓倒减法,就是利用本列公式已计算的结果进行倒推的算法 。是excel公式设置时很常用的一种公式算法,希望同学们能熟练掌握 。

    推荐阅读