Rumus DATEDIF Excel: Hitung Selisih Tanggal, Umur, dan Masa Kerja
TL;DR
Rumus DATEDIF Excel ngitung selisih dua tanggal dalam satuan tahun, bulan, atau hari, dengan sintaks =DATEDIF(tanggal_awal, tanggal_akhir, "unit"). Unit yang paling sering dipakai adalah "Y" buat tahun penuh, "YM" buat sisa bulan, dan "MD" buat sisa hari. DATEDIF gak muncul di autocomplete Excel karena warisan dari Lotus 1-2-3, tapi tetap jalan di semua versi Excel kalau kamu ketik manual.
DATEDIF ngitung selisih dua tanggal dalam satuan tahun, bulan, atau hari. Sintaksnya =DATEDIF(tanggal_awal, tanggal_akhir, "unit").
Yang bikin rumus ini aneh: dia gak muncul di autocomplete. Ketik =DATE di Excel dan kamu bakal lihat DATE, DATEVALUE, DAY — tapi gak ada DATEDIF.
Bukan bug. DATEDIF itu warisan dari Lotus 1-2-3, spreadsheet era 80-an. Microsoft nyimpen buat kompatibilitas tapi gak pernah masukin ke dokumentasi utama.
Tetap jalan kok, di semua versi Excel sampai 365. Tinggal ketik lengkap.
Gimana cara pakai rumus DATEDIF?
Tiga argumen, semuanya wajib:
=DATEDIF(tanggal_awal, tanggal_akhir, "unit")
Contoh paling dasar — hitung umur:
=DATEDIF(B2, TODAY(), "Y")
B2 itu tanggal lahir. Hasilnya umur dalam tahun penuh, bukan dibulatkan.
Orang yang lahir 20 Maret 1994 dan hari ini 25 Februari 2026 masih dihitung 31 tahun. Bukan 32. DATEDIF nunggu tanggal ulang tahunnya lewat dulu.
Itu bedanya sama =(TODAY()-B2)/365 yang bisa salah karena tahun kabisat.
6 unit DATEDIF dan artinya
| Unit | Balikin apa | Contoh (20 Mar 1994 → 25 Feb 2026) |
|---|---|---|
"Y" | Tahun penuh | 31 |
"M" | Bulan penuh | 383 |
"D" | Total hari | 11.665 |
"YM" | Sisa bulan setelah tahun penuh | 11 |
"MD" | Sisa hari setelah bulan penuh | 5 |
"YD" | Selisih hari, tahun diabaikan | 342 |
Tiga unit pertama gampang. Tiga sisanya (YM, MD, YD) khusus buat mecah sisa — dan cuma masuk akal kalau dipakai bareng.
Unitnya wajib dalam tanda kutip. =DATEDIF(A2,B2,Y) tanpa kutip bakal error.
Gimana cara nampilin umur lengkap?
Gabung tiga unit pakai penyambung teks:
=DATEDIF(B2,TODAY(),"Y") & " tahun " &
DATEDIF(B2,TODAY(),"YM") & " bulan " &
DATEDIF(B2,TODAY(),"MD") & " hari"
Hasilnya: 31 tahun 11 bulan 5 hari.
Ini pola yang paling sering aku pakai. Gak ada rumus lain di Excel yang bisa ngasih format ini seringkas itu.
Kalau mau lebih rapi, pakai TEXTJOIN di Excel 365. Tapi jujur, versi & di atas udah cukup dan jalan di semua versi.
Contoh kasus: masa kerja karyawan UMKM
Aku pakai data HR dari dataset ngulikdata: 24 karyawan toko_berkah dan cabangnya, dengan kolom nama, tanggal_masuk, dan tanggal_keluar (kosong kalau masih aktif).
Langkah 1 — masa kerja karyawan aktif
=DATEDIF(C2, TODAY(), "Y") & " thn " & DATEDIF(C2, TODAY(), "YM") & " bln"
C2 itu tanggal masuk. Hasilnya masa kerja sampai hari ini.
Langkah 2 — tangani karyawan yang udah keluar
Kalau kolom tanggal keluar kosong, pakai TODAY. Kalau terisi, pakai tanggal itu:
=DATEDIF(C2, IF(D2="", TODAY(), D2), "Y")
Satu rumus buat semua baris. Gak perlu misahin sheet karyawan aktif dan resign.
Langkah 3 — hitung eligibility cuti tahunan
Aturan umumnya karyawan berhak cuti tahunan setelah 12 bulan kerja:
=IF(DATEDIF(C2, TODAY(), "M") >= 12, "Berhak", "Belum")
Hasil dari 24 karyawan: 17 orang berhak, 7 orang belum. Rata-rata masa kerja 2 tahun 3 bulan.
Angka yang lebih menarik: 5 dari 7 yang belum berhak itu masuk di 6 bulan terakhir. Artinya turnover di posisi kasir cukup tinggi — dan itu baru ketahuan setelah masa kerja dihitung satu-satu.
Kombinasi DATEDIF sama rumus IF gini yang bikin sheet HR sederhana jadi berguna.
Kesalahan umum waktu pakai DATEDIF
1. Error #NUM! karena tanggal kebalik
=DATEDIF(TODAY(), B2, "Y") -- salah, hasilnya #NUM!
=DATEDIF(B2, TODAY(), "Y") -- bener
DATEDIF gak bisa ngitung mundur. Tanggal awal harus lebih kecil dari tanggal akhir.
Kalau datamu campur aduk, tandai barisnya:
=IF(A2>B2, "cek tanggal", DATEDIF(A2, B2, "Y"))
2. Error #VALUE! karena tanggalnya teks
Data export dari sistem HR sering bikin tanggal jadi teks. Cek pakai =ISNUMBER(B2). Kalau FALSE, ubah dulu pakai Text to Columns atau DATEVALUE.
3. Unit lupa dikutip
=DATEDIF(A2, B2, Y) -- error
=DATEDIF(A2, B2, "Y") -- bener
4. Ngandelin unit MD buat hitungan penting
Microsoft sendiri ngakuin "MD" bisa ngasih hasil negatif di kasus ekstrem — misalnya tanggal akhir jatuh di awal bulan dan tanggal awal di akhir bulan.
Buat nampilin umur di form biodata, aman. Buat hitungan payroll atau denda kontrak, hitung selisih harinya pakai pengurangan biasa lalu konversi sendiri.
5. Ngira DATEDIF ngebulatin
DATEDIF selalu motong ke bawah. Masa kerja 11 bulan 29 hari tetap dihitung 0 tahun. Ini benar secara logika — tapi bikin kaget kalau kamu ngarepin pembulatan.
Alternatif DATEDIF di Excel modern
Kalau kamu risih pakai rumus yang gak didokumentasikan, ada penggantinya.
Selisih tahun
=INT(YEARFRAC(B2, TODAY()))
YEARFRAC didokumentasikan resmi dan muncul di autocomplete. Hasilnya mirip DATEDIF "Y", tapi hati-hati sama argumen basis-nya.
Selisih bulan
=(YEAR(B2)-YEAR(A2))*12 + MONTH(B2) - MONTH(A2)
Panjang, tapi transparan. Gampang di-audit sama orang lain.
Selisih hari
=B2-A2
Gak butuh DATEDIF sama sekali. Tanggal itu angka, jadi tinggal dikurangin.
Buat nampilin umur dalam format tahun-bulan-hari sekaligus, DATEDIF tetap paling ringkas. Belum ada penggantinya yang sependek itu.
Referensi resmi fungsi tanggal Excel ada di halaman DATEDIF Microsoft — satu dari sedikit halaman yang bahas rumus ini secara resmi.
FAQ
Kenapa DATEDIF gak muncul di autocomplete?
Sengaja disembunyiin Microsoft. Warisan dari Lotus 1-2-3, dipertahankan cuma buat kompatibilitas. Ketik manual, tetap jalan.
Apa aja unit DATEDIF?
Enam: Y, M, D, YM, MD, YD. Yang paling sering kepakai Y, YM, dan MD.
Kenapa DATEDIF saya error #NUM!?
Tanggal awal lebih besar dari tanggal akhir. DATEDIF gak bisa ngitung mundur.
Unit MD akurat gak?
Buat umur biasa, aman. Buat payroll, jangan — hasilnya bisa negatif di kasus ekstrem.
Ada alternatif DATEDIF?
YEARFRAC buat tahun, dan pengurangan biasa buat hari. Tapi buat format tahun-bulan-hari lengkap, DATEDIF paling ringkas.
Yang perlu kamu bawa pulang
DATEDIF itu rumus tersembunyi yang tetap layak dipakai. Tiga unit yang paling sering kepakai: Y buat tahun, YM buat sisa bulan, MD buat sisa hari.
Urutan argumennya gak boleh kebalik — itu penyebab #NUM! nomor satu.
Coba sekarang: buka sheet karyawan atau data pelanggan kamu, tambahin satu kolom pakai =DATEDIF(tanggal_masuk, TODAY(), "M"), lalu urutkan dari kecil ke besar. Kamu bakal lihat pola yang selama ini kelewat.
Lanjut: 12 rumus tanggal Excel buat lengkapin toolkit-mu, atau referensi fungsi DATEDIF buat sintaks lengkap semua unitnya.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Artikel Terkait
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.
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.
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.