Frage

Auf der tägliche Dosis von Excel Webseite, von dem verstorbenen Frank Kabel geschrieben, gibt es einige Formeln, die für die ATP-Funktionen stehen in können. Nicht einen Excel-Guru zu sein, ich bin zu kämpfen mit einer Umwandlung (bisher!) Zu VB6. (Warum ich dies tun, ich beziehen kann, wenn die NDA abläuft.)

Das Problem Ich bin mit dem Code steht in für SERIESSUM, nämlich

=SUMPRODUCT(coefficients,x^(n+m*(ROW(INDIRECT("1:"&ROWS(coefficients)))-1)))

Nun ist die SUMPRODUCT und ROWS Funktionen Ich habe in der Lage ziemlich einfach mit machen

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

Was ich nicht 'get' noch ist

  • , wie x^(n+m*(ROW(INDIRECT("1:"&ROWS(coefficients)))-1)) wertet auf ein Array
  • und was das Array enthält möglicherweise

Jede Excel-Gurus da draußen?

War es hilfreich?

Lösung

ROW (INDIREKT ( "1:" & ROWS (Koeffizienten))) - 1

Wenn Koeffizienten 5 Zeilen hat, wird dies die Array zurück {1,2,3,4,5}. Der Rest der Progression ist

{1m, 2m, 3m, 4m, 5m)

{n + 1 m, n + 2m, n + 3 m, n + 4 m, n + 5m)

{x ^ n + 1 M, x ^ n + 2m, x ^ n + 3 M, x ^ n + 4m, x ^ n + 5m)

Das Array resultierende bekommt 'Serie summiert' gegen coeffecients.

Sie können die Progression in Excel-Formel Leiste von Strg + = auf markierten Teile der Formeln. Es gibt eine Grenze, wie viele Zeichen, die Sie in der Bearbeitungsleiste angezeigt werden können, so dass, wenn Koeffizienten viele Zeilen hat, können Sie die Fehlermeldung „Formel zu lang“

erhalten

In der Bearbeitungsleiste, wählen Sie ROW (INDIREKT ( "1:" & ROWS (Koeffizienten))) - 1 und drücken Sie Strg + =. Dann wählen Sie einen anderen Teil Ihrer Formel, dafür, dass Sie übereinstimmen Öffnen und Schließen Klammern und Strg Hit + =. Sie können dies wiederholen, bis Sie die ganze Formel berechnet haben. Wenn Sie fertig sind, sollten Sie aus der Zelle ESCAPE, so dass Sie Ihre ursprüngliche Formel nicht verlieren.

Siehe auch Folge 474 hier .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top