Lompat ke konten utama
←

Otomasi Excel dengan Python

Pelajaran 6 dari 18

Menulis dan memformat

Menulis rumus Excel dari Python

Setelah pelajaran ini kamu bisa menulis rumus per baris dan baris total sebagai teks rumus yang dihitung Excel saat berkas dibuka.

±13 menitDiperiksa 2 Okt 2026

Latihan di pelajaran ini butuh akun gratis. Progres, kode, dan catatanmu hanya tersimpan di browser ini. Masuk untuk menyimpannya

Materi

Rumus ditulis sebagai teks yang diawali tanda sama dengan: ws["D2"] = "=B2*C2". openpyxl menyimpan teks itu apa adanya dan tidak menghitungnya; Excel yang menghitung saat berkas dibuka. Keuntungannya, rumus tetap hidup: bila atasan mengubah satu angka di Excel, subtotal dan total ikut menyesuaikan, sesuatu yang tidak terjadi bila skrip menulis angka hasil hitungan Python.

Rumus per baris dibuat dengan f-string di dalam perulangan nomor baris. Baris total ditulis setelah baris data terakhir, dan nomornya dihitung dari ws.max_row, sehingga skrip yang sama tetap benar bulan depan saat jumlah barisnya berbeda. Bila nomor kolom yang dihitung, get_column_letter(4) dari openpyxl.utils mengubahnya menjadi huruf "D".

ws = load_workbook("lembur.xlsx")["Lembur"]
akhir = ws.max_row                 # 4: tiga pegawai + judul
for r in range(2, akhir + 1):
    ws[f"D{r}"] = f"=B{r}*C{r}"      # jam lembur x tarif per jam
ws[f"A{akhir + 1}"] = "Total"
ws[f"D{akhir + 1}"] = f"=SUM(D2:D{akhir})"

Nama fungsi Inggris, pemisah koma

Excel berbahasa Indonesia menampilkan =JUMLAH(B2;B5), tetapi berkas .xlsx selalu menyimpan nama fungsi bahasa Inggris dengan argumen yang dipisah koma. Dokumentasi openpyxl mewajibkan bentuk itu. Skrip yang menulis =JUMLAH(B2:B5) atau =SUM(B2;B5) tetap tersimpan tanpa error di Python; kesalahannya baru terlihat saat berkas dibuka di Excel. Teks rumus tanpa tanda = di depan disimpan sebagai teks biasa.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

Skrip harus menulis rumus yang menjumlahkan B2 sampai B5 lalu membulatkannya ke ribuan. Teks mana yang benar untuk ditulis ke sel lewat openpyxl?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke

Tampilkan 2 lagi