見出し画像

【Python】ExcelのSUMIFS関数作成

PythonでExcelのSUMIFS関数を作成しました。

画像1

左の表から、曜日と部が一致する行の来場者数を合計します。
その結果を右の表に出力します。

プログラムはこちらです。

# ライブラリ設定
import openpyxl as px
import pathlib

# ファイルの指定
filepath = pathlib.Path(r'C:\Users\taeka\Desktop\blog\Python_SUMIFS.xlsx')

# 対象のExcelを読み込む
wb = px.load_workbook(filepath)
ws1 = wb['Sheet1']

# 最終行の取得
max = ws1.max_row

# G列の値を取得
for i in range(3, max + 1):
   youbi_g = ws1['G' + str(i)].value
   # G列のセルに値がある時に処理
   if not youbi_g is None:
       # H2,I2の値を取得
       for j in range(2):
           yoko = ws1['H2'].offset(0, j).value
           # 合計をリセット
           goukei = 0
           # C列,D列,E列の値を取得
           for k in range(3, max + 1):
               youbi_c = ws1['C' + str(k)].value
               bu_d = ws1['D' + str(k)].value
               ninzu_e = ws1['E' + str(k)].value
               # 2条件でマッチング
               if youbi_g == youbi_c and yoko == bu_d:
                   goukei += ninzu_e
           # H列,I列に人数を出力
           ws1['H' + str(i)].offset(0, j).value = goukei

# Excelを上書き保存
wb.save(filepath)

ファイルの指定はあなたが作成したExcelのPathを入力してください。

実行すると

画像2

右の表に、集計値が正しく出力されました。


Pythonがよく分からない人はこちらの本がおすすめです。







この記事が気に入ったらサポートをしてみませんか?