如何链接和总和列

时间:2015-03-12 20:29:42

标签: excel excel-vba excel-2010 vba

我有一个包含两列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将会更改。

2 个答案:

答案 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”行旁边剪切并粘贴该单元格,它将起作用。如果您有标题行,或者更改了列,则必须调整公式。