/ / Inserindo linhas após cada grupo e somando um conteúdo específico de uma coluna com base no grupo - excel, vba, excel-vba, openpyxl

Inserindo linhas após cada grupo e soma um conteúdo particular de uma coluna com base no grupo - excel, vba, excel-vba, openpyxl

Eu tenho dados em linhas consistentes, no entanto, eles são classificados na coluna de nome, ou seja, (que é "A" por enquanto, mas pode mudar)

>    A      B   C
>     Name1 123 rdt
>     Name1 256 efh
>     Name1 456 ikj
>     Name2 123 rfa
>     Name3 654 xxd
>     Name3 846 olp
>     Name6 841 yuf

Quero inserir uma linha (ou duas, qualquer número de linhas) após cada grupo de nomes, ou seja, e somar a coluna "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

Eu tenho um problema semelhante à pergunta aqui AWK: insira uma linha após cada grupo de dados AWK: insira uma linha após cada grupo de dados mas com o Excel.

Além disso, é possível fazer isso em Python com openpyxl, se sim, como? Por favor!

Obrigado

Respostas:

0 para resposta № 1

rapido e sujo

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