0

我需要知道如何将 Excel 宏写入重复行的 SUM 值:

输入:

red     2
red     3
.
.
blue    4
blue    5
blue    6

我需要的输出:

red     2     5
red     3
.
.
blue    4     15
blue    5
blue    6

我需要一个新列显示重复记录组的相同第一行上的 SUM(在此示例中为 5、15...)。

我试过这段代码(来自互联网):

Sub count()
'
' count Macro
'
' Keyboard Shortcut: Ctrl+a
'

    Dim ColumnsCount As Integer

    ColumnsCount = ActiveSheet.UsedRange.Columns.count

    ActiveSheet.UsedRange.Activate


    Do While ActiveCell.Row  &lt=   ActiveSheet.UsedRange.Rows.count
        If ActiveCell.Value = ActiveCell.Offset(1, 0).Value Then
            For i = 1 To ColumnsCount - 1
                ActiveCell.Offset(0, i).Value = ActiveCell.Offset(0, i).Value + ActiveCell.Offset(1, i).Value
            Next
            ActiveCell.Offset(1, 0).EntireRow.Delete shift:=xlShiftUp
        Else
            ActiveCell.Offset(1, 0).Select
        End If
    Loop


    Range("C9").Select
End Sub

但输出结果如下:

red     5
blue    15

我不想合并/合并重复的记录。非常感谢。

4

1 回答 1

1

你可以使用这样的东西:

=IF(B3<>B4,SUMIF($B$4:$C$13,$B4,$C$4:$C$13),"")

IF()语句检查B列中两个垂直相邻的单元格以查看它们是否相同。这决定了结果是否可见。因此,如果当前行有blue并且上面的行有red,那么该值将显示。否则不会。

SUMIF()B使列中的值与该行的列值匹配的所有单元格的总和响起B

显然命名范围将是一个改进......

=IF(B3<>B4,SUMIF(LabelsAndValues,$B4,ValuesOnly),"")
于 2013-07-02T18:47:48.080 回答