Panduan
Rumus Excel menghitung gaji dan lembur karyawan: tabel gaji, upah lembur sesuai PP 35/2021, dan pembulatan Rupiah
Cara menyusun lembar gaji di Excel yang bisa diperiksa: satu baris satu karyawan, tunjangan diambil dari tabel master dengan XLOOKUP, upah lembur hari kerja dihitung dengan IF sesuai PP 35/2021 (upah sejam 1/173 upah sebulan, jam pertama 1,5 kali, jam berikutnya 2 kali), potongan sebagai kolom masukan, pembulatan Rupiah, dan pemeriksaan total sebelum slip dicetak.
Ditulis Redaksi KelasGratis · Terbit 2026-09-26
Untuk siapa: Admin, staf HR, dan pemilik usaha kecil yang menghitung gaji dan lembur karyawan setiap bulan di Excel dan ingin rumusnya benar serta mudah diperiksa.

Lembar gaji adalah berkas Excel yang paling mahal bila salah: kekurangan bayar merusak kepercayaan, kelebihan bayar sulit ditarik kembali. Artikel ini menyusun lembar gaji yang setiap angkanya bisa ditelusuri ke satu rumus dan satu sumber aturan. Bagian lembur mengikuti Peraturan Pemerintah Nomor 35 Tahun 2021; bagian lain adalah struktur Excel yang bisa dipakai kebijakan gaji perusahaan mana pun. Penilaian redaksi di artikel ini berdasarkan sumber yang dicantumkan di bagian akhir.
Susunan tabel: satu baris satu karyawan
| Kolom | Isi | Sumber |
|---|---|---|
| A · NIK | Nomor karyawan, teks | Data karyawan |
| B · Nama | Teks | Data karyawan |
| C · Jabatan | Teks, ejaan sama persis dengan tabel master | Data karyawan |
| D · Gaji pokok | Angka | Kontrak kerja |
| E · Tunjangan jabatan | Rumus XLOOKUP dari tabel master | Kebijakan perusahaan |
| F · Jam lembur hari kerja | Angka jam bulat | Rekap lembur yang disetujui |
| G · Upah lembur | Rumus | PP 35/2021 |
| H · Potongan | Angka | HR: BPJS, PPh 21, pinjaman |
| I · Gaji bersih | Rumus D+E+G−H, dibulatkan | — |
Gaji pokok dan potongan diketik; tunjangan, lembur, dan gaji bersih selalu rumus. Aturan itu sederhana tetapi menentukan: angka yang diketik tangan di kolom hasil berhenti benar pada perubahan pertama, dan tidak ada yang tahu.
Tunjangan dari tabel master dengan XLOOKUP
Simpan besaran tunjangan per jabatan di lembar terpisah, misalnya tabel bernama Tunjangan dengan kolom Jabatan dan Nominal. Kolom E lalu mengambilnya, dan menulis 0 dengan tanda jelas bila jabatan tidak ditemukan, supaya salah ketik jabatan tidak diam-diam menghapus tunjangan seseorang.
=XLOOKUP(C2, Tunjangan[Jabatan], Tunjangan[Nominal], "CEK JABATAN") ' Excel tanpa XLOOKUP: =IFERROR(VLOOKUP(C2, Tunjangan!$A$2:$B$20, 2, FALSE), "CEK JABATAN")
Upah lembur hari kerja sesuai PP 35/2021
PP 35/2021 Pasal 32 ayat (2) menetapkan upah sejam sebesar 1/173 kali upah sebulan. Pasal 31 ayat (1) menetapkan upah lembur pada hari kerja: jam pertama 1,5 kali upah sejam, setiap jam berikutnya 2 kali upah sejam. Pasal 26 ayat (1) membatasi lembur paling lama 4 jam sehari dan 18 jam seminggu. Lembur pada hari istirahat mingguan dan hari libur resmi memakai pengali yang berbeda, diatur di Pasal 31 ayat (2); kalkulator lembur di menu Alat menghitung keempat keadaan itu.
Untuk lembur hari kerja dengan jam bulat, jumlah pengalinya adalah 1,5 untuk jam pertama ditambah 2 untuk setiap jam sesudahnya. Dengan upah sebulan di kolom D dan jam lembur di kolom F:
=IF(F2<=0, 0, (1.5 + (F2-1)*2) * D2/173) ' Contoh: upah sebulan Rp5.200.000, lembur 3 jam ' upah sejam = 5.200.000 / 173 = 30.057,80 ' pengali = 1,5 + 2 + 2 = 5,5 ' upah lembur = 5,5 × 30.057,80 = 165.317,92
Rumus di atas memakai gaji pokok di kolom D sebagai upah sebulan. Komponen upah yang menjadi dasar perhitungan juga diatur di Pasal 32; bila gaji di perusahaanmu terdiri dari beberapa tunjangan, baca pasal itu lengkap dan ganti D2 dengan dasar yang benar. PP 35/2021 juga tidak mengatur cara menghitung pecahan jam, jadi catat jam lembur dalam jam bulat sesuai kebijakan perusahaan yang tertulis.
Gaji bersih dan pembulatan Rupiah
=ROUND(D2 + E2 + G2 - H2, 0)
Bulatkan di kolom hasil akhir, bukan di setiap kolom antara, supaya selisih pembulatan tidak menumpuk. Kalau kebijakan perusahaan membulatkan ke ratusan terdekat, ganti argumen kedua ROUND dengan -2. Format sel menampilkan angka tanpa desimal, tetapi tidak mengubah nilainya; hanya ROUND yang benar-benar membulatkan.
Tiga pemeriksaan sebelum slip dicetak
- Hitung baris bermasalah: =COUNTIF(E2:E200, "CEK JABATAN") harus 0.
- Bandingkan total: =SUM(I2:I200) harus sama dengan =SUM(D2:D200)+SUM(E2:E200)+SUM(G2:G200)−SUM(H2:H200), dengan selisih paling banyak sebesar pembulatan.
- Ambil satu karyawan secara acak dan hitung lemburnya dengan kalkulator lembur. Kalau angkanya berbeda, rumusnya yang diperiksa, bukan kalkulatornya yang disesuaikan.
Fungsi yang dipakai di artikel ini dilatih di empat kelas: SUM dan ROUND di Excel dari Nol, IF dan COUNTIF di Rumus Logika dan Syarat, XLOOKUP di Mencari Data, dan rekap per bulan di Rekap dan Laporan Penjualan. Kelas Rumus Logika juga punya misi rekap absensi dan lembur dengan data latihan.
Pertanyaan yang sering muncul
- Apakah rumus lembur ini berlaku untuk hari libur?
- Tidak. Rumus di artikel ini hanya untuk lembur pada hari kerja biasa sesuai Pasal 31 ayat (1) PP 35/2021. Lembur pada hari istirahat mingguan atau hari libur resmi memakai pengali di Pasal 31 ayat (2), yang dihitung oleh kalkulator lembur di menu Alat.
- Kenapa pembaginya 173?
- PP 35/2021 Pasal 32 ayat (2) menetapkan upah sejam sebesar 1/173 kali upah sebulan. Angka 173 berasal dari peraturan itu, bukan pilihan redaksi, jadi jangan diganti dengan jumlah hari atau jam kerja sebenarnya di bulan tersebut.
- Bagaimana dengan potongan BPJS dan PPh 21?
- Artikel ini memperlakukan potongan sebagai kolom masukan karena tarif dan dasarnya diatur aturan tersendiri dan bisa berubah. Isi dari data HR, atau hitung PPh 21 bulanan dengan kalkulator PPh 21 di menu Alat yang merujuk PP 58/2023.