我有一个包含两列A,B的工作簿。列A包含不同的名称,列B包含整数。 B列没有链接或合并将单元格相互连接。
它可以如下所示:
Dog 500
Cat 500
Total 1000
Apple 300
Pear 300
Orange 300
Total 900
在A栏中,我们有Dog和Cat两种不同的总和,它们总和。它们没有相互联系。
是否有任何代码可以通过列和每个" Total"它发现它连接总数以上的行?
与代码一样,查找TOTAL,并了解DOG + CAT = TOTAL,因此每当编辑CAT或DOG时,Total将会更改。
答案 0 :(得分:0)
Sub t()
nextGroupStartRow = 1
For i = 1 To Range("A50000").End(xlUp).Row
If Range("A" & i).Value = "Total" Then
Range("B" & i).Formula = "=sum(B" & i - 1 & ":B" & nextGroupStartRow & ")"
nextGroupStartRow = i + 1
End If
Next i
End Sub
答案 1 :(得分:0)
VBAscript的答案很好,但如果您不喜欢编写脚本,可以使用公式来实现:
这看起来很奇怪,你可能不得不把它放到你的工作簿中来证明这一点,但这应该有效。假设您的文件看起来像您所说的,并且第一行“总计”在第3行,请将此公式粘贴到单元格B3中:
=sum(B$2:B1)-sumif(A$1:A3,”Total”,B$1:B3)
然后在每个后续的“Total”行旁边剪切并粘贴该单元格,它将起作用。如果您有标题行,或者更改了列,则必须调整公式。