我写了一个UDF,只需要花很多时间来计算。该公式实际上计算了多个值,因此用户需要输入的参数之一是哪个值应该公式输出。
所以我的问题是" UDF是否有可能记住它在另一个小区中计算时所做的计算?"我想这与Static
变量的行为类似。
这是我公式的伪代码:
Public Function UDF(repeat as integer, return as integer) as Integer
Dim array(1 To 2) as Integer
array(1) = 2 * repeat
array(2) = 3 * repeat
UDF = array(return)
End
这是一个补充这个公式的样本表
A | B
1 "Repeats" | 2,000,000
2 "UDF #1" | =UDF(B1,1)
3 "UDF #2" | =UDF(B1,2)
正如您在本示例中所看到的,两个UDFs
仅随返回类型而变化,一旦第一个计算出第二个"可能"使用该计算而不是从头开始重新计算。