我在连续行中有数据,但是它们在名称列中排序,即(现在是' A'现在但可能会更改)
> A B C
> Name1 123 rdt
> Name1 256 efh
> Name1 456 ikj
> Name2 123 rfa
> Name3 654 xxd
> Name3 846 olp
> Name6 841 yuf
我想在每组名称之后插入一行(或两行,任意数量的行),即和总和' B'
A B C
Name1 123 rdt
Name1 256 efh
Name1 456 ikj
=sum(above number of Name1s)
Name2 123 rfa
=sum(above number of Name2s)
Name3 654 xxd
Name3 846 olp
=sum(above number of Name3s)
Name6 841 yuf
我对这个问题有类似的问题 AWK:在每组数据后插入一行 AWK: Insert a row after each group of data,但使用Excel。
另外,是否可以使用openpyxl在Python中执行此操作,如果是这样的话?请!
谢谢
答案 0 :(得分:0)
快速而肮脏
Option Explicit
Sub main()
Dim i As Long
Dim sum As Double
With Range("A1").CurrentRegion
i = 1
Do
If .Cells(i + 1, 1) = .Cells(i, 1) Then
sum = sum + .Cells(i, 2)
i = i + 1
Else
sum = sum + .Cells(i, 2)
i = i + 1
.Rows(i).Insert xlDown
.Cells(i, 2).Value = sum
i = i + 1
sum = 0
End If
Loop While i <= .Rows.Count
End With
End Sub