Gunakan Library yang dibutuhkan

In [19]:
from openpyxl import load_workbook

Load file Excel

Ubah lokasi file dari /home/aan/basangdata_excel/python_menjumlahkan_baris/contoh_output_formula.xlsx menjadi lokasi yang sesuai, misal d:\latihan_excel_python\contoh_output_formula.xlsx

In [20]:
wb = load_workbook('/home/aan/basangdata_excel/python_menjumlahkan_baris/contoh_output_formula.xlsx', data_only = True)

Buka semua Sheet selain Total

Di tiap sheet, baca semua baris pada kolom B, jika menemukan kata Jumlah Periode Ini simpan nama sheet dan nomor baris ke dalam variable row_numbers

In [21]:
row_numbers = {}
for ws in wb.worksheets:
    if 'Total' not in ws.title:
        max_row_b = ws.max_row + 1
    
        for row_b in range(2, max_row_b):
            if ws['B' + str(row_b)].value == 'Jumlah Periode Ini':
                row_numbers[ws.title] = row_b

Buat formula

Variable ws_total adalah worksheet Total

In [22]:
ws_total = wb['Total']
formula = '='

Tambahkan formula

berdasarkan semua nama sheet dan baris dimana ditemukan teks Jumlah Periode Ini

In [23]:
for rn in row_numbers:
    formula = formula + rn + '!H' + str(row_numbers[rn]) + '+'

Tulis formula

di sheet Total sel B2 dengan teks seperti variable formula namun dikurangi 1 karakter terakhir (tanda +)

In [24]:
ws_total['B2'].value = formula[:-1]

Simpan file Excel

Dengan nama contoh_output_formula_hasil.xlsx, silahkan ubah lokasi file agar sesuai

In [25]:
wb.save('/home/aan/basangdata_excel/python_menjumlahkan_baris/contoh_output_formula_hasil.xlsx')