【发布时间】:2019-05-17 22:30:15
【问题描述】:
我有一个数组公式,我用了大约。 600 行找到每行中的第一个 -ve,但是它显着减慢了工作表。
有没有办法可以转换为 VBA 函数来帮助加快工作表的速度?
=MATCH((INDEX(AN17:OI17,MATCH(TRUE,AN17:OI17<0,0))),AN17:OI17,0)
理查德
【问题讨论】:
-
也许您可以解释一下您是如何使用它的。好像是一次性输入所有目标单元格的数组公式。
-
试试这个简化的非数组公式:
=MATCH(TRUE,INDEX(AN17:OI17<0,),0)。我在 1000 行上对其进行了测试,它似乎在我的系统上没有减速。 -
是的,要找到一行中第一个负数的列索引似乎需要大量的计算。
-
据我所知,VBA 比公式慢,所以与其用 VBA 函数替换公式,不如尝试处理公式本身。
标签: arrays excel vba indexing match