Excel汇总和分组到位?

时间:2013-04-01 15:34:13

标签: excel excel-vba sum excel-2007 vba

基本上我喜欢使用Pivote Table,但它无法正确显示。

说我有

    +---------+---+-----+
    |    A    | B |  C  |
  +-+---------+---+-----+
  |1|   Date  |Qty|Title|
  +-+---------+---+-----+
  |2|4/01/2013|10 |Foo  |
  +-+---------+---+-----+
  |3|4/01/2013|20 |Foo  |
  +-+---------+---+-----+
  |4|4/01/2013|5  |Bar  |
  +-+---------+---+-----+
  |5|4/01/2013|5  |Test1|
  +-+---------+---+-----+
  |6|4/01/2013|15 |Test2|
  +-+---------+---+-----+

我需要实现:

    +---------+---+-----+
    |    A    | B |  C  |
  +-+---------+---+-----+
  |1|   Date  |Qty|Title|
  +-+---------+---+-----+
  |2|4/01/2013|30 |Foo  |
  +-+---------+---+-----+
  |3|4/01/2013|5  |Bar  |
  +-+---------+---+-----+
  |4|4/01/2013|5  |Test1|
  +-+---------+---+-----+
  |5|4/01/2013|15 |Test2|
  +-+---------+---+-----+

数据透视表的问题在于我似乎无法解决它看起来像这样的事实:

    +---------+---+-----+
    |    A    | B |  C  |
  +-+---------+---+-----+
  |1|   Date  |Qty|Title|
  +-+---------+---+-----+
  |2|4/01/2013|30 |Foo  |
  +-+---------+---+-----+
  |3|         |5  |Bar  |
  +-+---------+---+-----+
  |4|         |   |Test1|
  +-+---------+---+-----+
  |5|         |15 |Test2|
  +-+---------+---+-----+

因为这被导入到一个脚本中,我无法控制,因为各种原因使用每一行我需要所有行来获取所有信息。

2 个答案:

答案 0 :(得分:0)

Pivot设置中应该有一个选项Repeat Item labels

从Excel 2010(我没有2007,也不能确定它在那里)

enter image description here

答案 1 :(得分:0)

我想出了这个

    Sub Sum_And_Group()

    For Each Title In Range("C2:C20")
        If Title <> 0 Then
            Do While Title.Offset(1, 0) = Title
                Title.Offset(0, -1) = Title.Offset(0, -1) + Title.Offset(1, -1)
                Title.Offset(1, 0).EntireRow.Delete
            Loop
        End If
    Next

    End Sub

它有效,但似乎不安全和肮脏。谁有更好的东西?