故 Frank Kabel によって書かれたDaily Dose of Excel Web サイトには、ATP 関数の代わりになる式がいくつかあります。Excel の第一人者ではないので、(これまでのところ!) VB6 に変換するのに苦労しています。(なぜ私がこれを行っているのかは、NDA が切れたら関係するかもしれません。)
私が抱えている問題は、SERIESSUM の代わりになるコード、つまり、
=SUMPRODUCT(coefficients,x^(n+m*(ROW(INDIRECT("1:"&ROWS(coefficients)))-1)))
これで、SUMPRODUCT および ROWS 関数をかなり簡単にレンダリングできるようになりました。
Public Function SUMPRODUCT(a1 As Variant, a2 As Variant) As Double
Dim dRes As Double
Dim dVal As Double
Dim i As Long
If LBound(a1) = LBound(a2) And UBound(a1) = UBound(a2) Then
For i = LBound(a1) To UBound(a1)
dVal = a1(i) * a2(i)
dRes = dRes + dVal
Next
End If
SUMPRODUCT = dRes
End Function
Public Function ROWS(a1 As Variant)
ROWS = UBound(a1) - LBound(a1) + 1
End Function
私がまだ「得ていない」のは
x^(n+m*(ROW(INDIRECT("1:"&ROWS(coefficients)))-1))
配列への評価方法- そして、その配列に含まれる可能性のあるもの
そこにExcelの達人はいますか?