2017-02-15 77 views
0

我有从第三方程序导出的数据。数据总是以范围的形式出现,每次导出时总是一个新鲜的未保存的excel文件。计算重复行之间的更改

数据本质上包含这种类型的格式。

169 31.0 
169 29.0 
12 01.31 
03 22.0 
12 1.09 
03 21.5 

对不起,我是本网站的新用户。基本上一列是与成分相关的代码,第二列是它们的重量。你会看到重复的面包店前后的重量。我想不得不计算每种成分的使用量。所以最终的输出将是一张表格,其中一列中包含独特配料代码列表,另一列中前后的区别。

我试过使用数据透视表,但总结了它们。差异公式需要一个单独的列来比较自己。我不幸的是没有。

有没有更简单的方法来做到这一点?我基本上想要一个数据透视表的相同功能,但有差异而不是总和。

+0

输出提供表格的样品与只有很少的记录和预期的产出。 –

回答

0

假设你的数据在A到B柱,并从第1行开始,你可以试试这个代码:

Sub Main2() 
    Dim cell As Range 

    With CreateObject("Scripting.Dictionary") 
     For Each cell In Range("A1").CurrentRegion.Columns(1).Cells 
      If .Exists(cell.Value) Then 
       .Item(cell.Value) = .Item(cell.Value) - cell.Offset(, 1).Value 
      Else 
       .Item(cell.Value) = cell.Offset(1).Value 
      End If 
     Next cell 
     Range("C1").Resize(.Count).Value = Application.Transpose(.Keys) 
     Range("D1").Resize(.Count).Value = Application.Transpose(.Items) 
    End With 
End Sub 

在列C和d