TL;DR
Slip gaji di Excel dibikin dari dua sheet: satu database karyawan berisi gaji pokok, tunjangan, dan potongan, satu lagi template slip yang narik data pakai VLOOKUP. Gaji bersih dihitung dari total pendapatan dikurangi total potongan: =SUM(tunjangan)-SUM(potongan). Potongan BPJS Kesehatan karyawan 1% dan JHT 2% dari gaji pokok.
Slip gaji di Excel paling gampang dibikin pakai dua sheet: satu berisi database karyawan, satu lagi template slip yang narik datanya pakai VLOOKUP.
Ganti satu sel NIK, seluruh slip berubah. Print. Ganti lagi. Print.
Buat tim 24 orang, proses ini selesai dalam 15 menit. Dibanding sejam lebih kalau ngetik ulang satu-satu.
Sheet 1: DATA. Satu baris per karyawan.
| A (NIK) | B (nama) | C (jabatan) | D (gaji pokok) | E (t. jabatan) | F (t. transport) |
|---|---|---|---|---|---|
| K001 | Rina Astuti | Kasir | 3.200.000 | 0 | 400.000 |
| K002 | Budi Santoso | Supervisor | 5.500.000 | 1.000.000 | 600.000 |
| K003 | Sari Dewi | Admin | 3.800.000 | 0 | 400.000 |
Sheet 2: SLIP. Template yang nariknya.
Kenapa dipisah? Karena data karyawan berubah tiap beberapa bulan, sementara layout slip nggak. Campur dua-duanya di satu sheet = mimpi buruk waktu ada karyawan baru.
Taruh NIK di sel B2 sheet SLIP. Semua sel lain nunjuk ke situ.
' Nama karyawan
=VLOOKUP($B$2; DATA!$A$2:$F$25; 2; FALSE)
' Jabatan
=VLOOKUP($B$2; DATA!$A$2:$F$25; 3; FALSE)
' Gaji pokok
=VLOOKUP($B$2; DATA!$A$2:$F$25; 4; FALSE)
Angka terakhir FALSE artinya exact match. NIK harus persis sama. Jangan pernah pakai TRUE di sini.
Tanda dolar ngunci range-nya biar nggak kegeser waktu rumusnya di-copy. Kalau kamu belum familiar sama argumen VLOOKUP, ada penjelasan lengkapnya di halaman fungsi VLOOKUP.
Bungkus pakai IFERROR biar slipnya nggak keluar tulisan #N/A waktu diprint:
=IFERROR(VLOOKUP($B$2; DATA!$A$2:$F$25; 2; FALSE); "")
Yang muncul di slip cuma bagian yang dipotong dari karyawan. Bagian perusahaan nggak masuk slip.
| Jenis | Potongan karyawan | Ditanggung perusahaan |
|---|---|---|
| BPJS Kesehatan | 1% | 4% |
| JHT (Jaminan Hari Tua) | 2% | 3,7% |
| JP (Jaminan Pensiun) | 1% | 2% |
Total yang dipotong dari karyawan: 4% dari gaji pokok.
Di sheet SLIP, taruh tarifnya di sel terpisah (misalnya $H$1 = 1%, $H$2 = 2%, $H$3 = 1%), lalu:
' BPJS Kesehatan (D5 = gaji pokok)
=ROUND(D5*$H$1; 0)
' JHT
=ROUND(D5*$H$2; 0)
' JP
=ROUND(D5*$H$3; 0)
Jangan ketik 1% langsung di dalam rumus. Tarif iuran berubah tiap beberapa tahun. Kamu nggak mau ngedit 24 file satu-satu.
Aturan tarif iuran terbaru bisa dicek di situs resmi BPJS Ketenagakerjaan.
Upah lembur per jam = gaji bulanan dibagi 173.
Angka 173 itu rata-rata jam kerja sebulan menurut aturan ketenagakerjaan. Bukan angka karangan.
Jam pertama dibayar 1,5×, jam berikutnya 2×.
' D5 = gaji bulanan, G5 = jumlah jam lembur
=ROUND((D5/173) * (1,5*MIN(G5;1) + 2*MAX(G5-1;0)); 0)
MIN(G5;1) ngambil maksimal 1 jam buat tarif 1,5×. MAX(G5-1;0) ngambil sisanya buat tarif 2×, dan nggak akan negatif kalau lemburnya cuma 1 jam.
Karyawan gaji 5.000.000 lembur 3 jam:
Susun slipnya jadi dua blok: pendapatan di kiri, potongan di kanan.
' Total pendapatan (D5:D9)
=SUM(D5:D9)
' Total potongan (F5:F9)
=SUM(F5:F9)
' Gaji bersih
=SUM(D5:D9) - SUM(F5:F9)
Blok pendapatan isinya: gaji pokok, tunjangan jabatan, tunjangan transport, lembur.
Blok potongan: BPJS Kesehatan, JHT, JP, pinjaman karyawan.
Kalau kamu masih baru sama fungsi SUM, mampir dulu ke artikel rumus penjumlahan Excel.
Aku bantu rapiin payroll toko_berkah, UMKM sembako Yogyakarta dengan 24 karyawan di 3 cabang.
Sebelumnya: satu file Excel per karyawan, 24 file, semua diketik manual tiap bulan. Waktu yang kehabis 3,5 jam.
Setelah dirapiin jadi 2 sheet plus VLOOKUP: 18 menit. Termasuk print.
Ringkasan payroll Maret 2026:
| Komponen | Total |
|---|---|
| Gaji pokok | 94.400.000 |
| Tunjangan | 13.200.000 |
| Lembur | 4.180.000 |
| Potongan karyawan (4%) | −3.776.000 |
| Total dibayar | 108.004.000 |
Angka yang bikin pemiliknya mikir ulang: lembur nyumbang 4,18 juta, dan 71% dari itu datang dari satu cabang doang, yaitu Gejayan.
Setelah dicek, ternyata Gejayan cuma punya 6 orang sementara volume transaksinya 57% dari total. Nambah 1 kasir di situ biayanya 3,6 juta sebulan, lebih murah dari lembur 2,97 juta plus risiko kelelahan.
Rekap payroll itu yang nunjukin masalahnya. Bukan feeling.
Cara manual: ganti NIK di B2, Ctrl+P, ulangi 24 kali. Butuh 10 menit. Masih masuk akal.
Kalau karyawannya 100+, pakai Mail Merge lewat Word:
Semua slip keluar sekali jalan.
VLOOKUP hasilnya #N/A. Hampir selalu karena NIK-nya teks di satu sheet dan angka di sheet lain. Cek pakai =ISTEXT(A2). Atau ada spasi tersembunyi. Bersihin pakai TRIM.
Range VLOOKUP nggak dikunci. Tanpa dolar, range-nya geser waktu rumusnya di-copy. Baris paling bawah bakal error.
Tarif BPJS diketik hardcode. Waktu tarifnya berubah, kamu harus bongkar semua rumus.
Potongan perusahaan ikut masuk slip. Yang dipotong dari karyawan cuma 4%. Sisanya beban perusahaan, nggak boleh nongol di slip.
Nggak ada ROUND. BPJS 1% dari 3.200.000 pas 32.000. Tapi 1% dari 3.217.500 = 32.175. Tanpa ROUND, Excel nyimpen pecahannya. Total kolom jadi meleset.
Lembur dihitung dari gaji pokok plus tunjangan. Dasar perhitungan lembur adalah gaji pokok plus tunjangan tetap, bukan tunjangan transport yang sifatnya nggak tetap. Cek lagi komponen mana yang masuk.
Bikin dua sheet. Sheet DATA berisi satu baris per karyawan: NIK, nama, jabatan, gaji pokok, tunjangan, potongan. Sheet SLIP berisi template yang narik data pakai VLOOKUP berdasarkan NIK. Ganti NIK di satu sel, seluruh slip ikut berubah, tinggal print.
Gaji bersih adalah total pendapatan dikurangi total potongan: =SUM(D5:D9)-SUM(F5:F9). Pendapatan mencakup gaji pokok, tunjangan jabatan, tunjangan transport, dan lembur. Potongan mencakup BPJS, JHT, JP, dan pinjaman karyawan kalau ada.
BPJS Kesehatan motong 1% dari karyawan, perusahaan nanggung 4%. JHT motong 2% dari karyawan dan 3,7% dari perusahaan. JP motong 1% dari karyawan. Yang muncul di slip cuma bagian karyawan. Totalnya sekitar 4% dari gaji pokok.
Upah lembur per jam dihitung dari 1/173 gaji bulanan. Jam pertama dibayar 1,5 kali, jam berikutnya 2 kali. Rumusnya: =(gaji/173)*(1,5*MIN(jam;1)+2*MAX(jam-1;0)). Lembur 3 jam berarti 1,5 kali satu jam ditambah 2 kali dua jam.
Paling sering karena NIK-nya ketik sebagai teks di satu sheet dan angka di sheet lain. Cek pakai =ISTEXT(A2). Penyebab kedua: ada spasi tersembunyi di ujung NIK. Bersihin pakai TRIM. Bungkus rumusnya pakai IFERROR biar slipnya bersih waktu diprint.
Yang perlu kamu siapin:
Bikin template-nya sekali, pakai tiap bulan sampai bertahun-tahun. Latihan VLOOKUP-nya bisa kamu mulai di halaman fungsi VLOOKUP, dan cara pembulatan rupiah ada di halaman fungsi ROUND.
Lanjut baca: cara menghitung PPN 12% di Excel.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Cara pakai rumus FV dan PV Excel buat hitung nilai uang di masa depan dan sekarang. Lengkap dengan contoh tabungan dan target modal UMKM.
Investasi kelihatan untung di atas kertas, tapi nilai uang berubah tiap tahun. NPV dan IRR Excel bantu kamu nilai apakah proyek beneran layak, bukan cuma kelihatan untung.
Sebelum ambil pinjaman, kamu bisa hitung sendiri cicilan bulanannya pakai satu rumus. Ini cara PMT Excel bekerja, lengkap dengan contoh modal usaha dan jebakan bunga tahunan.