Я разработал приведенный ниже код vba для расчета совокупного производства до одной даты в столбце «K» путем добавления сумм в столбце «I», соответствующих датам, меньшим, чем в столбце «K»
Option Explicit
Sub Gp()
Dim date2 As Double 'Same p/z production Dates'
Dim Gp As Double 'Cumulative production volumes"
Dim fraction As Double
Dim Daysmonth As Double
Dim Days As Double
Dim i As Integer, j As Integer
Gp = 0
j = 3
For i = 4 To 43
date2 = Cells(i, "K")
Do While (Cells(j, "A") < date2)
Gp = Gp + Cells(j, "I")
j = j + 1
Loop
Daysmonth = Cells(j, "A") - Cells(j - 1, "A")
Days = date2 - Cells(j - 1, "A")
fraction = Cells(j, "I") * Days / Daysmonth
Gp = Gp + fraction
Cells(i, "M") = Gp
Gp = (Gp + Cells(j, "I")) - fraction
j = j + 1
Next i
End Sub
Этот код занимает первую ячейку столбца «K» и просматривает все даты меньше даты в столбце «A». Затем он добавляет все суммы в столбце «I» для соответствующих дат. Затем, если дата в столбце «A» совпадает с месяцем и датой даты в столбце «K», она рассчитает долю суммы, соответствующую этим дням. Все в порядке до 14.08.88 при расчете доли, которую он дает -17 вместо 14 дней для 8.08.14 - 31.08.8. Это дает мне 6304593, и это должно дать мне 6350518.484.
Это картина моих ответов в столбце "M" и правильных ответов в столбце "N". Они очень похожи, но не одинаковы для некоторых дат
Расчетные кумулятивные и правильные ответы рядом с ним