/ / Вставка рядків після кожної групи та сума певного вмісту стовпця на основі групи - excel, vba, excel-vba, openpyxl

Вставка рядків після кожної групи та сума певного вмісту стовпця на основі групи - excel, vba, excel-vba, openpyxl

У мене є дані в консивітних рядках, однак вони сортуються в стовпці імені (тобто "А", як зараз, але можуть змінюватися).

>    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: Вставте рядок після кожної групи даних але з Excel.

Крім того, чи можна це зробити в Python за допомогою openpyxl, якщо так, як? Будь ласка!

Дякую

Відповіді:

0 для відповіді № 1

швидкий і брудний

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