可溢出的 MAXIFS

问题描述 投票:0回答:1

大家早上好

我有以下情况:

col i = 日期(数组公式)
col l = 利润(数组公式)
col k = 总利润(数组公式)
col z = col i 的运行最大值(在 0 和运行最大值之间),当日期更改时停止并重新启动。

像这样:
image

在Excel引入数组公式之前,我已经用以下公式解决了它:

=MAX(0;MAXIFS($V$8:V8;$T$8:T8;I8)) 

用 vba 完成整列。

Excel引入数组公式后,我用以下公式解决了它:

=MAP(i1#;k1#;LAMBDA(DATA;NET;MAX(0;MAXIFS($k$1:NET;$i$1:DATA;DATA))))

这个解决方案有效,它会溢出整个列的结果并且计算是正确的,但是在 10,000 行上它很慢。

我想问任何想要回答的人的问题如下:在Excel公式或VBA中是否有更快的方法来执行此操作?

非常感谢大家,祝大家有美好的一天。

达里奥

附注 我在这个社区中阅读了很多关于 MAXIFS 的答案,但没有关于“溢出”MAXIFS 的答案。再次感谢您

excel vba automation formula maxifs
1个回答
0
投票

=BYROW(K2#,LAMBDA(r,MAX(0,TAKE(K2#,ROW(r)-1))))

应该快一点。

但也许你也应该研究一下 Powerquery。

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