【Python】ExcelのSUMIFS関数作成
PythonでExcelのSUMIFS関数を作成しました。
左の表から、曜日と部が一致する行の来場者数を合計します。
その結果を右の表に出力します。
プログラムはこちらです。
# ライブラリ設定
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を入力してください。
実行すると
右の表に、集計値が正しく出力されました。
Pythonがよく分からない人はこちらの本がおすすめです。