Sub лагран2()
Const n = 6, xx = 1.6
Dim x(n) As Double, y(n) As Double, i As Integer, j As Integer, dx(n) As Double, k As Integer, П1 As Double, П2 As Double, dxz((n + 2) * (n + 1) / 2) As Double, yy As Double
For i = 0 To n: x(i) = Cells(i + 1, 1): y(i) = Cells(i + 1, 2)
dx(i) = xx - x(i): Next i
For i = 0 To n
П1 = 1: П2 = 1: k = i
For j = 0 To i - 1
П1 = П1 * dx(j): k = k + (n - j) * Sgn(j)
П2 = -П2 * dxz(k)
Next j
For j = i + 1 To n
П1 = П1 * dx(j): k = i * n + j - i * (i + 1) / 2
dxz(k) = x(i) - x(j): П2 = П2 * dxz(k)
Next j
yy = yy + y(i) * П1 / П2
Next i
Debug.Print yy
End Sub