我有一张装满发票的工作簿,格式化打印,我需要总计所有295张发票的总到期金额。第一个总到期时间为H22,下一个数量低于H71中的50个单元格(不包括H22。)H列的其余部分包含构成总到期数和各种文本的单个金额。像这样:
Charges
10
20
30
Amount Due:
$60.00
如果总结构成总数的范围会更容易,那也是有效的。
每个范围是10行,H11:H20。那么在H60:69以下50以下。
编辑:单元格H22,而不是H32
答案 0 :(得分:3)
使用此数组公式:
=SUM(IF(MOD(ROW($H$1:INDEX($H:$H,MATCH(1E+99,$H:$H)))-1,50)=21,$H$1:INDEX($H:$H,MATCH(1E+99,$H:$H))))
作为数组公式,必须在退出编辑模式时使用Ctrl-Shift-Enter而不是Enter确认。如果操作正确,那么Excel会将{}
放在公式周围。
答案 1 :(得分:0)
您可以使用VBA。创建一个新模块,然后粘贴:
Option Explicit
Public Function sum_with_gaps(r As Range, gapSize As Integer, dataSize As Integer) As Double
Dim ret As Double, i%
ret = 0
i = 1
Do While i + dataSize - 1 <= r.Count
ret = ret + WorksheetFunction.Sum(r.Range(r.Cells(i - 1, 1), r.Cells(i + dataSize - 1, 1)))
i = i + dataSize + gapSize
Loop
sum_with_gaps = ret
End Function
测试数据:
a
5.1
5.2
5.3
5.4
b
b
6.1
6.2
6.3
6.4
c
c
7.1
7.2
7.3
7.4
d
=sum_with_gaps(A2:A17,2,4)