请问在EXCEL表格中,数字累加的公式如何写?(请参考说明和图释)

来源:百度知道 编辑:UC知道 时间:2024/05/20 06:16:43
因为本身不是专业人士,所以阐述的可能比较累赘,望多多包含。

如所示:在第一行C1、E1和F1的值分别是12、10和12。而所需要的公式所要达到的效果是一个累加过程,具体如下:
1、从A到C一共三个单元格,将12除3并形成依次累加,从A2到C2得到的结果是4、8、12.
2、接下来从D到E一共两个单元格,所以将10除以2对于5,并将5从D2到E2依次从12开始累加,得到的结果是17(12+5)、22(17+5)。
3、F只有一个单元格,所以12不用除,直接加上E2的值对于34(22+12)。
4、单元格F1后没有插入值了,所以从G2开始,后面单元格的值与F2相等,都是34.

希望有哪位高手能够提供相应的公式和解决方案(VBA)也可,不胜感激!

Sub ocean_cheng()
Dim iStar As Integer
Dim MaxCol As Integer
iStar = 1
MaxCol = ThisWorkbook.ActiveSheet.Range("IV1").End(xlToLeft).Column
For Col_i = 1 To MaxCol
Col1 = ThisWorkbook.ActiveSheet.Cells(1, Col_i).Value
If Col1 <> "" Then
If Col1 <> "" Then
For j = iStar To Col_i
If j = 1 Then
ThisWorkbook.ActiveSheet.Cells(2, j).Value = Col1 / Col_i
Else: ThisWorkbook.ActiveSheet.Cells(2, j).Value = _
(Col1 / (Col_i - iStar + 1)) + ThisWorkbook.ActiveSheet.Cells(2, j - 1).Value
End If
Next j
iStar = Col_i + 1
End If
End If
Next Col_i
ThisWorkbook.ActiveSheet.Cells(2, j).Value = ThisWorkbook.ActiveSheet.Cells(2, j - 1).Value
End Sub
我只能用VBA写了,如何把代码放到宏里应该知道吧(Alt+F11)

第一行的数据个数和位置是固