Panduan
Cara membuat rekap absensi karyawan di Excel dengan COUNTIF, COUNTIFS, dan NETWORKDAYS
Langkah membuat rekap absensi karyawan bulanan di Excel: menyusun data absensi satu baris satu hari per karyawan, membatasi isian kode dengan validasi data, menghitung hadir, izin, sakit, dan alpa dengan COUNTIFS, menghitung hari kerja efektif dengan NETWORKDAYS dan daftar libur, lalu menghitung persentase kehadiran dan memeriksa rekapnya sebelum diserahkan.
Ditulis Redaksi KelasGratis · Terbit 2026-09-26
Untuk siapa: Admin kantor, staf HR, dan koordinator lapangan yang merekap kehadiran karyawan atau peserta setiap bulan dan masih menghitungnya dengan tangan.

Rekap absensi yang dihitung dengan tangan hampir selalu dikerjakan dengan cara yang sama: satu lembar berisi nama di baris dan tanggal di kolom, lalu jumlah hadir dihitung dengan mata. Artikel ini menyusun ulang lembar itu supaya jumlah hadir, izin, sakit, dan alpa keluar dari rumus, dan persentase kehadiran dihitung terhadap hari kerja yang benar. Penilaian redaksi di artikel ini berdasarkan sumber yang dicantumkan di bagian akhir.
Dua bentuk data, dan mana yang dipakai
Bentuk matriks, nama di baris dan tanggal di kolom, enak diisi setiap hari dan cukup untuk rekap satu bulan dengan COUNTIF per baris. Bentuk daftar, satu baris untuk satu karyawan pada satu tanggal, lebih cocok bila datanya diekspor dari mesin absensi atau perlu direkap per bulan, per bagian, atau per tahun. Keduanya dibahas; bila datamu berasal dari mesin absensi, pakai bentuk daftar.
Bentuk matriks: satu kode per sel, dibatasi validasi data
Pakai kode satu huruf yang disepakati, misalnya H untuk hadir, I untuk izin, S untuk sakit, A untuk alpa, dan C untuk cuti. Batasi isian sel dengan Validasi Data (Data Validation) jenis Daftar (List) berisi H,I,S,A,C, supaya tidak ada yang mengetik hadir, Hdr, atau h kecil yang tidak terhitung. Satu kesalahan ketik di rekap manual hanya salah satu angka; di rekap rumus, ia membuat satu hari hilang tanpa pesan apa pun.
' Data di C2:AG2 (tanggal 1–31), kode H/I/S/A/C =COUNTIF($C2:$AG2, "H") ' hadir =COUNTIF($C2:$AG2, "I") ' izin =COUNTIF($C2:$AG2, "S") ' sakit =COUNTIF($C2:$AG2, "A") ' alpa ' Lebih ringkas: tulis kode di judul kolom rekap (AI1:AL1), lalu salin ke kanan dan ke bawah =COUNTIF($C2:$AG2, AI$1)
Perhatikan tanda $ pada rumus terakhir: kolom data dikunci supaya tidak bergeser saat disalin ke kanan, dan baris judul dikunci supaya tidak bergeser saat disalin ke bawah. Itu referensi campuran, dan itulah yang membuat satu rumus cukup untuk seluruh tabel rekap.
Bentuk daftar: COUNTIFS per karyawan per bulan
Dengan data berbentuk daftar berkolom Tanggal, NIK, dan Status, rekap per karyawan untuk satu bulan memakai COUNTIFS dengan tiga syarat: NIK-nya, statusnya, dan rentang tanggalnya. Tanggal awal dan akhir bulan ditulis sekali di sel tersendiri, sehingga rekap bulan berikutnya cukup mengganti satu sel.
' H1 = tanggal awal bulan (mis. 1/8/2026), H2 = =EOMONTH(H1, 0) =COUNTIFS(Absen[NIK], $A5, Absen[Status], "H", Absen[Tanggal], ">="&$H$1, Absen[Tanggal], "<="&$H$2)
Hari kerja efektif dengan NETWORKDAYS
Persentase kehadiran perlu penyebut yang benar: jumlah hari kerja di bulan itu, bukan 30 atau 31. NETWORKDAYS menghitung hari Senin sampai Jumat di antara dua tanggal, termasuk kedua tanggal itu, dan mengurangkan tanggal di daftar libur. Simpan daftar libur nasional dan cuti bersama tahun berjalan di satu lembar, sebagai tanggal sungguhan, lalu rujuk rentangnya. Untuk pola kerja enam hari atau hari libur mingguan yang bukan Sabtu-Minggu, pakai NETWORKDAYS.INTL.
=NETWORKDAYS($H$1, $H$2, Libur!$A$2:$A$30) ' Persentase kehadiran (format sel sebagai persen) =IFERROR(B5 / $H$3, 0) ' B5 = jumlah hadir, H3 = hari kerja efektif
Pemeriksaan sebelum rekap diserahkan
- Untuk tiap karyawan, H + I + S + A + C harus sama dengan jumlah hari kerja efektif. Tambahkan kolom selisih; yang tidak nol berarti ada hari yang belum diisi atau diisi kode yang tidak dikenal.
- Hitung sel kosong di rentang hari kerja dengan COUNTBLANK; angkanya harus 0 sebelum rekap dikunci.
- Sorot persentase kehadiran di bawah ambang kebijakan perusahaan dengan format bersyarat, supaya yang perlu ditindaklanjuti terlihat tanpa membaca seluruh tabel.
COUNTIF, COUNTIFS, dan misi rekap absensi dan lembur dilatih di kelas Rumus Logika dan Syarat. NETWORKDAYS, WORKDAY, dan daftar libur dilatih di Mengolah Teks dan Tanggal, validasi data dan format bersyarat di Format dan Tampilan Laporan Excel, dan memeriksa tanggal teks di Menata Data di Spreadsheet.
Pertanyaan yang sering muncul
- Bagaimana menghitung setengah hari atau datang terlambat?
- Pakai kode sendiri, misalnya T untuk terlambat, lalu hitung dengan COUNTIF seperti kode lain. Cara memperlakukannya dalam persentase kehadiran adalah kebijakan perusahaan, jadi tulis aturannya di lembar yang sama supaya rekap bisa diperiksa orang lain.
- Apakah Google Sheets bisa memakai rumus yang sama?
- Bisa. COUNTIF, COUNTIFS, NETWORKDAYS, dan EOMONTH ada di Google Sheets dengan nama dan urutan argumen yang sama. Bila pengaturan lokalnya Indonesia, pemisah argumennya titik koma, bukan koma.
- Kenapa NETWORKDAYS tidak mengurangi hari libur yang saya tulis?
- Biasanya karena daftar liburnya berisi teks, bukan tanggal. Periksa satu sel dengan ISNUMBER; kalau hasilnya FALSE, ketik ulang tanggalnya atau konversi dengan DATEVALUE, lalu pastikan rentang yang dirujuk mencakup seluruh daftar.
Lanjut dari sini
Sumber
- Microsoft Support — Fungsi COUNTIF
- Microsoft Support — Fungsi COUNTIFS
- Microsoft Support — Fungsi NETWORKDAYS
- Microsoft Support — Fungsi EOMONTH
- Microsoft Support — Fungsi COUNTBLANK
- Microsoft Support — Beralih antara referensi relatif, absolut, dan campuran
- Google Docs Editors Help — Fungsi COUNTIFS di Google Sheets