Python(openpyxl)で、エクセルの重複データを削除し合計を合算するコードをご紹介します。
ぜひ、お試しください。
Excelの重複データを削除し合計を合算
以下のコードを実行すると、重複データを削除し合計を合算します。
import openpyxl
wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']
ws2 = wb['Sheet2']
#配列宣言
Chiiki = []
#重複しないリストを抽出
#セルをループ
i = 0
for row in ws.iter_rows():
j = 0
for cell in row:
if cell.col_idx == 1:
i = i + 1
#セル1個目は強制的に配列へ格納
if i == 1:
Chiiki.append(cell.value)
else:
#リストをループ
for list in Chiiki:
#セル値がすでにリストに含まれていたら何もしない
if list == cell.value:
j = j + 1
break
if j == 0:
#セル値がリストに含まれていなければ配列へ追加
if cell.value is not None:
Chiiki.append(cell.value)
#重複しないリストをws2へ書き込み
for i in range(0,len(Chiiki)):
ws2.cell(i+1,1,value = Chiiki[i])
#リストの合計を合算しws2へ書き込み
j = 1
for list in Chiiki:
i = 0
for row in ws.iter_rows():
for cell in row:
if list == cell.value:
i = i + cell.offset(0,1).value
ws2.cell(j,2,value = i)
j = j + 1
#別名で保存
wb.save('C:/Users/xxx/Desktop/test/test重複合算.xlsx')
コード実行後
重複するデータの数値を加算して、別シートに入力します。
・「Sheet1」B列の合計 → 1,571,705
・「Sheet2」B列の合計 → 1,571,705
この記事がお役に立ちますと幸いです。
・【Python】エクセルを自動処理する方法まとめ

【Python】エクセル処理を自動化:超便利55選
...
「PythonでExcel、メール、Webを自動化する本」
準備に時間をかけず、すぐ始められます
実践的な例題で、実務で本当に使えるプログラムを紹介
自分の仕事を効率化したい方の大きな武器になるオススメの1冊です!
リンク