Cara Menghitung Selisih Jam di Excel: Absensi & Lembur
Blog/Tutorial Excel & Sheets/Cara Menghitung Selisih Jam di Excel: Absensi & Lembur

Cara Menghitung Selisih Jam di Excel: Absensi & Lembur

BimaBima
·2 Maret 2026·9 menit baca

Penulis

Bima

Bima

Founder & Data Professional

Bagikan

TL;DR

Cara menghitung selisih jam di Excel adalah dengan mengurangkan jam keluar dari jam masuk (=B2-A2), lalu memformat hasilnya sebagai [h]:mm supaya total di atas 24 jam nggak balik ke nol. Untuk shift malam yang lewat tengah malam, pakai =MOD(B2-A2,1) biar hasilnya nggak minus. Kalau mau angka jam desimal untuk hitung lembur, kalikan hasilnya dengan 24.

Menghitung jam di Excel itu pengurangan biasa: jam keluar dikurangi jam masuk. =B2-A2, selesai.

Masalahnya, Excel nyimpen waktu dengan cara yang aneh. Jadi hasilnya sering muncul #####, atau total 26 jam malah tampil jadi 2 jam.

Di sini aku bahas rumus dasarnya, cara nanganin shift malam, dan gimana ngubah jam jadi rupiah lembur — pakai data absensi toko_berkah sebagai contoh.

Gimana cara menghitung selisih jam di Excel?

Kurangkan sel jam keluar dengan sel jam masuk, lalu format hasilnya sebagai [h]:mm. Kalau jam masuk ada di A2 dan jam keluar di B2, rumusnya =B2-A2. Hasilnya durasi kerja dalam jam dan menit. Format kurung siku bikin total di atas 24 jam tetap kebaca bener.

A2 = 08:00   (jam masuk)
B2 = 17:30   (jam keluar)
C2 = =B2-A2  → 09:30

Kenapa bisa langsung dikurangi? Soalnya di balik layar, Excel nyimpen waktu sebagai pecahan dari 1 hari.

Jam 12:00 siang itu 0,5. Jam 06:00 pagi itu 0,25. Jam 18:00 itu 0,75.

Jadi waktu kamu ngurangin dua jam, kamu sebenernya lagi ngurangin dua angka desimal. Excel cuma nampilin hasilnya balik dalam bentuk jam soalnya format selnya diatur begitu.

Kenapa hasil selisih jam saya muncul ##### atau angka aneh?

Ada tiga penyebab yang paling sering aku temuin.

1. Kolomnya kesempitan

Ini yang paling gampang. Excel nggak muat nampilin isinya, jadi dia kasih pagar. Double-click di batas kolom, lebarin, beres.

2. Hasilnya negatif

Excel nggak bisa nampilin waktu negatif pakai format waktu standar. Kalau jam keluar lebih kecil dari jam masuk — misal shift malam masuk 22:00 pulang 06:00 — hasilnya minus dan langsung jadi #####.

Solusinya di section shift malam di bawah.

3. Format selnya salah

Kalau hasilnya keluar angka kayak 0,395833, berarti sel hasilnya format General atau Number. Excel-nya bener kok, tampilannya doang yang belum diatur.

Blok selnya, tekan Ctrl + 1, pilih Custom, ketik [h]:mm.

Apa bedanya format h:mm dan [h]:mm?

Kurung siku bikin Excel berhenti nge-reset jam tiap lewat 24. Tanpa kurung siku, total 26 jam bakal ditampilin sebagai 02:00 — soalnya Excel anggap itu "jam 2 di hari berikutnya", bukan durasi 26 jam.

FormatTotal sebenernyaYang tampilKapan dipakai
h:mm26 jam2:00 ❌Nampilin jam biasa (08:00)
[h]:mm26 jam26:00 ✅Total durasi kerja
[m]26 jam1560Total dalam menit

Aturan gampangnya: kolom durasi selalu pakai kurung siku. Kolom jam masuk/keluar nggak usah.

Ini bug diam-diam yang paling sering bikin rekap absensi salah. Angkanya kelihatan wajar, jadi nggak ada yang curiga sampai gaji cair.

Gimana cara menghitung selisih jam yang lewat tengah malam?

Bungkus pengurangannya pakai MOD. Rumusnya =MOD(B2-A2,1). Kalau hasilnya positif, MOD nggak ngapa-ngapain. Kalau negatif — kayak shift masuk 22:00 pulang 06:00 — MOD nambahin 1 hari penuh, jadi hasilnya balik positif dan bener.

A2 = 22:00   (masuk shift malam)
B2 = 06:00   (pulang besok pagi)

=B2-A2          → ##### (minus, error)
=MOD(B2-A2,1)   → 08:00 ✅

Cara kerjanya: 06:00 - 22:00 menghasilkan -0,666. MOD bagi angka itu sama 1 dan ambil sisanya, yang hasilnya 0,333 — alias 8 jam.

Aku selalu pakai MOD sebagai default di kolom durasi, bahkan buat shift pagi. Hasilnya sama persis buat shift normal, tapi kamu aman kalau tiba-tiba ada karyawan yang kerja lintas hari.

Detail rumus MOD ada di halaman fungsi MOD, sekalian contoh pemakaian di luar konteks jam.

Gimana cara ubah selisih jam jadi angka buat hitung lembur?

Kalikan 24. Selesai.

Excel nyimpen waktu sebagai pecahan hari, dan 1 hari = 24 jam. Jadi =(B2-A2)*24 ngasih kamu angka jam desimal yang siap dikali tarif.

=(B2-A2)*24              → 9,5   (9 jam 30 menit)
=MOD(B2-A2,1)*24         → 8     (versi aman shift malam)

Penting: sel hasilnya harus format Number, bukan Time. Kalau masih format Time, Excel bakal nampilin 9,5 sebagai jam lagi dan kamu bingung sendiri.

Buat jam lembur, kurangi jam normal dan kunci pakai MAX:

=MAX(0, MOD(B2-A2,1)*24 - 8)

MAX(0, ...) bikin hasilnya nggak pernah minus. Karyawan yang pulang jam 4 sore nggak bakal kecatat punya lembur -1 jam. Detail fungsinya ada di halaman fungsi MAX.

Contoh kasus: rekap absensi toko_berkah

Ini data absensi 5 karyawan toko_berkah selama satu minggu di bulan Maret. Tarif lembur Rp 25.000 per jam, jam kerja normal 8 jam.

NamaMasukKeluarTotal jamLembur (jam)Upah lembur
Siti08:0017:009:001,0Rp 25.000
Budi08:1519:3011:153,25Rp 81.250
Rina22:0006:008:000,0Rp 0
Agus09:0016:007:000,0Rp 0
Dewi21:3007:159:451,75Rp 43.750

Rumus lengkap di kolom upah lembur:

Total jam  : =MOD(C2-B2,1)              format [h]:mm
Lembur     : =MAX(0, MOD(C2-B2,1)*24-8) format Number
Upah       : =E2*25000                  format Rupiah

Yang menarik: baris Rina dan Dewi bakal error ##### kalau rumusnya cuma =C2-B2. Dari 5 baris, 2 di antaranya rusak — 40% data absensi toko_berkah pakai shift malam.

Toko retail, warung 24 jam, minimarket. Shift malam itu normal di Indonesia, dan template absensi yang cuma pakai pengurangan biasa bakal jebol di sana.

Kesalahan umum yang bikin rekap jam berantakan

  1. Jam diketik sebagai teks. Kalau kamu ketik 08.00 pakai titik, Excel baca itu sebagai teks, bukan waktu. Pengurangannya bakal error #VALUE!. Selalu pakai titik dua: 08:00.
  2. Data absensi dari mesin fingerprint punya spasi tersembunyi. Bersihin dulu pakai fungsi TRIM sebelum dihitung.
  3. Nge-SUM kolom durasi tanpa format [h]:mm. Total jam kerja sebulan pasti lewat 24 jam. Tanpa kurung siku, angkanya bakal ke-reset dan totalnya jauh lebih kecil dari yang seharusnya.
  4. Nggak antisipasi sel kosong. Karyawan yang nggak absen bikin selnya kosong, dan MOD bakal ngitung itu sebagai 00:00. Tambahin IF: =IF(OR(B2="",C2=""),"",MOD(C2-B2,1)).
  5. Lupa potong jam istirahat. Kalau ada istirahat 1 jam, kurangi manual: =MOD(C2-B2,1)-TIME(1,0,0).

Buat pemahaman lebih dalam soal gimana Excel nyimpen tanggal dan waktu sebagai angka, dokumentasi resmi Microsoft soal format tanggal dan waktu ngejelasin sistem serial number-nya.

FAQ

Kenapa hasil selisih jam di Excel muncul tanda pagar (#####)?

Ada dua penyebab. Pertama, kolomnya kesempitan — tinggal lebarin kolomnya, beres. Kedua, hasil pengurangannya minus, dan Excel nggak bisa nampilin waktu negatif di format waktu standar. Ini biasanya kejadian di shift malam, jam keluar 06:00 dikurangi jam masuk 22:00 jadi negatif. Ganti rumusnya jadi =MOD(B2-A2,1) dan tanda pagarnya hilang.

Gimana cara ubah selisih jam jadi angka desimal di Excel?

Kalikan hasilnya dengan 24. Excel nyimpen waktu sebagai pecahan hari, jadi 08:30 itu sebenernya 0,354166. Rumus =(B2-A2)*24 ngasih 8,5 — angka yang siap dikali tarif per jam. Jangan lupa ganti format selnya jadi Number, bukan Time, kalau nggak hasilnya bakal ditampilin sebagai jam lagi.

Apa bedanya format h:mm dan [h]:mm di Excel?

Format h:mm balik ke nol tiap lewat 24 jam. Jadi total 26 jam kerja bakal ditampilin sebagai 2:00 — salah, dan gampang kelewat. Kurung siku di [h]:mm bilang ke Excel biar jamnya terus dihitung tanpa reset, jadi 26 jam tetap tampil 26:00. Buat kolom total jam kerja bulanan, selalu pakai [h]:mm.

Rumus apa yang dipakai buat hitung jam lembur di Excel?

Pakai MAX supaya jam lembur nggak pernah minus. Rumusnya =MAX(0,(B2-A2)*24-8) — total jam kerja dikurangi 8 jam normal, dan kalau hasilnya di bawah nol, MAX bikin jadi 0. Habis itu tinggal dikali tarif lembur per jam untuk dapat rupiahnya. Kalau nggak pakai MAX, karyawan yang pulang cepat malah kelihatan punya lembur negatif.

Penutup

Tiga hal yang perlu kamu inget:

  • Pengurangan jam itu =B2-A2, tapi pakai =MOD(B2-A2,1) sebagai default biar shift malam aman.
  • Kolom durasi selalu format [h]:mm, kalau nggak total di atas 24 jam bakal ke-reset diam-diam.
  • Kalikan 24 buat dapet angka jam desimal yang bisa dikali tarif lembur.

Coba praktekin langsung di file absensi kamu sendiri. Ganti rumus pengurangan biasa jadi MOD, terus cek kolom totalnya — kalau angkanya berubah, berarti selama ini ada jam yang hilang.

Lanjut belajar: rumus DATEDIF buat hitung selisih tanggal dan SUMIF buat nge-total jam per karyawan.

Coba Langsung

Mau praktek langsung? Mulai latihan SQL gratis

Latihan interaktif, langsung di browser.

Buka NgulikSQL →
Bagikan:
Bima
Ditulis oleh

Bima

Founder & Data Professional

Founder Ngulik Data. Passionate about making data analysis accessible for everyone.

Artikel Terkait

Template Laporan Penjualan Excel: Struktur yang Dipakai Analis
Tutorial Excel & Sheets
11 Juli 2026•10 menit baca

Template Laporan Penjualan Excel: Struktur yang Dipakai Analis

Template laporan penjualan yang bener cuma butuh 3 sheet. Yang bikin laporan orang rusak biasanya karena data mentah dan hasil dicampur di satu tempat.

BimaBima
Cara Menghubungkan Google Sheets ke Looker Studio
Tutorial Excel & Sheets
8 Juli 2026•10 menit baca

Cara Menghubungkan Google Sheets ke Looker Studio

Nyambungin Google Sheets ke Looker Studio cuma butuh 5 menit. Yang bikin lama itu datanya belum rapi. Ini urutan yang bener.

BimaBima
Cara Share Google Sheets dengan Aman: Permission & Protected Range
Tutorial Excel & Sheets
5 Juli 2026•9 menit baca

Cara Share Google Sheets dengan Aman: Permission & Protected Range

Panduan step by step share Google Sheets tanpa bikin rumus kehapus atau data gaji bocor — dari level permission, protected range, sampai audit siapa yang buka.

BimaBima
Kembali ke Blog
Ngulik Data logoNgulik Data

Platform edukasi data lengkap untuk professionals Indonesia. Belajar SQL, Data Analysis, dan lebih banyak lagi dengan praktek langsung dan feedback real-time.

Copyright © 2026 - All rights reserved

LINKS
SupportPricingDatasetBlogAffiliates
LEGAL
Terms of servicesPrivacy policy
Ngulik Data
DatasetLeaderboardBlogStore