数年来增加利润

时间:2017-07-08 14:50:11

标签: excel vba excel-vba excel-formula

我想算一家公司从现在开始增加利润多少年。因此,如果前一年的利润低于今年,那么它就算为1,并且在过去的一年中回过头来计算,直到有一年的利润高于之后的一年。因此,它必须是今年(2017年)的持续趋势,因此它将计算年数。

See here

(增加的年数应该是5而不是4,抱歉!)

在图片中,它必须计算到2011年,因为有一年(2012年)没有增加相对去年(2011年)的利润。

所以也许甚至可以使用Excel函数。否则VBA可能就是这样做的。

编辑:是否有可能计算多年的稳定利润?就像2015 = 5和2016 = 5那么这不应该停止连胜。

4 个答案:

答案 0 :(得分:2)

如果您要从当前年份开始寻找“增加/相同利润”的条纹,请尝试以下2 nd 行中的以下公式:
- 在单元格K2中:=IF(B2>=A2,1,0)
- 在单元格S2中:=IF(K2=1,A4+K2,K2)
- 在单元格J2中:=Z2
然后将单元格K2复制到范围L2:R2,将单元格S2复制到范围T2:Z2,然后将范围J2:Z2复制到所有适用的行如下图所示。

enter image description here

注意:而不是填写第3行和第3行中的公式。 4,确保它可以通过Excel array直接在单元格J2中完成,但为了简单起见,此方法更为可取。

编辑:上述帖子已根据后续与@technotoast的讨论进行了更新,以进行以下调整:
- 名单中有很多公司 - 不仅仅是“Apple”
- 连续性也会持续相同的利润水平 - 而不仅仅是增加利润

答案 1 :(得分:1)

我无法看到一种简单的方法来做到这一点,而不是通过使用最后一个偏移量为0,-1,-2等的年份向后工作并搜索利润的第一个实例晚年的利润不高于前一年的利润。如果没有这样的例子,那么所有年份都会增加利润。

=IFERROR(MATCH(FALSE,N(OFFSET($I2,0,COLUMN($B2)-COLUMN($B2:$H2),1,1))>N(OFFSET($H2,0,COLUMN($B2)-COLUMN($B2:$H2),1,1)),0)-1,"All in profit")

必须使用 Ctrl Shift 输入

作为数组公式输入

enter image description here

答案 2 :(得分:1)

如果您正在寻找从当前年度开始增加利润的时间,您可以使用以下数组公式。输入以下公式,然后按Shift + Control + Enter。最后的-1是将它与你的答案对齐。如果你想要5而不是4,你可以删除-1。

=COUNT(B2:H2)-MAX(IF(C2:I2<B2:H2,COLUMN(C2:I2)-COLUMN(B2)))

通过使用它,只用一个公式就可以达到你想要的效果。

答案 3 :(得分:1)

修改:评论中更好解释要求的公式(请参阅历史记录中的先前版本):

=COLUMN(I2) - MAX(($C2:I2 < $B2:H2) * COLUMN($C2:I2), COLUMN($B2))