=DATEDIF(A2,B2,"M") menghitung jumlah bulan penuh di antara tanggal awal di A2 dan tanggal akhir di B2. Argumen ketiga, yaitu satuannya, menentukan apa yang dihitung: "Y" tahun, "M" bulan, "D" hari, ditambah tiga satuan yang mengabaikan sebagian dari tanggalnya.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Start | End | Unit | Result | |
| 2 | 2024-04-15 | 2026-09-10 | Y | 2 | |
| 3 | M | 28 | |||
| 4 | D | 878 | |||
| 5 | YM | 4 | |||
| 6 | MD | 26 | |||
| 7 | YD | 148 |
Dari 2024-04-15 sampai 2026-09-10 ada 2 tahun penuh, 28 bulan penuh, dan 878 hari. Ubah tanggal akhir di B2 dan lihat setiap satuan ikut berubah. Satuannya bisa diketik di dalam rumus ("M") atau, seperti di sini, dibaca dari sebuah sel.
Sintaks dan satuan DATEDIF
=DATEDIF(start_date, end_date, unit)
| Satuan | Menghitung | 2024-04-15 sampai 2026-09-10 |
|---|---|---|
"Y" | tahun penuh | 2 |
"M" | bulan penuh | 28 |
"D" | hari | 878 |
"YM" | bulan setelah tahun penuh terakhir | 4 |
"MD" | hari setelah bulan penuh terakhir | 26 |
"YD" | hari setelah tahun penuh terakhir | 148 |
"Penuh" berarti DATEDIF tidak pernah membulatkan ke atas. Dari 31 Januari sampai 28 Februari adalah 0 bulan, karena 28 Februari datang sebelum genap satu bulan. Satuannya tidak membedakan huruf besar kecil ("m" juga bisa), tetapi harus ditulis di dalam tanda kutip atau di sebuah sel.
Kenapa DATEDIF tidak ada di daftar fungsi
DATEDIF masuk ke Excel dari Lotus 1-2-3, dan Microsoft mempertahankannya hanya demi kompatibilitas. Fungsi ini tidak ada di dialog Insert Function, autocomplete rumus tidak menyarankannya, dan tidak ada tooltip yang menampilkan argumennya. Meski begitu, fungsi ini tetap menghitung di semua versi Excel di Windows dan Mac, juga di Google Sheets. Ketik nama lengkapnya beserta kurung buka, =DATEDIF(, lalu tambahkan argumennya sendiri.
Jumlah bulan di antara dua tanggal
Bulan penuh adalah yang dibutuhkan sebagian besar kontrak, langganan, dan laporan masa kerja. Untuk angka desimal, YEARFRAC(A2,B2)*12 menghasilkan jumlah bulan dengan pecahannya (basis bawaannya menghitung setiap bulan sebagai 30 hari).
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Start | End | Full months | Decimal months |
| 2 | 2025-03-10 | 2026-01-05 | 9 | 9.8 |
| 3 | 2024-04-15 | 2026-09-10 | 28 | 28.8 |
| 4 | 2026-01-31 | 2026-02-28 | 0 | 0.9 |
| 5 | 2025-11-01 | 2026-05-01 | 6 | 6.0 |
Langganan pertama berjalan 9 bulan penuh: 5 Januari datang sebelum tanggal 10, jadi bulan kesepuluh tidak dihitung. Baris ketiga menunjukkan kasus 31 Januari, yaitu 0 bulan.
Tahun, bulan dan hari sekaligus
"Y", "YM", dan "MD" memang dibuat untuk dipakai bersama. Masing-masing melanjutkan dari tempat satuan sebelumnya berhenti, jadi ketiganya menjawab "berapa lama, tepatnya": 2 tahun, 4 bulan, dan 26 hari untuk tanggal di atas. Menghitung umur memakai ketiga satuan yang sama untuk tanggal lahir.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Hired | Years | Months | Days | Service | As of |
| 2 | 2019-06-03 | 7 | 3 | 27 | 7y 3m 27d | 2026-09-30 |
| 3 | 2023-11-20 | 2 | 10 | 10 | 2y 10m 10d |
Karyawan pertama sudah bekerja selama 7 tahun, 3 bulan, dan 27 hari pada 2026-09-30.
Kenapa DATEDIF menghasilkan #NUM!
DATEDIF tidak mau menghitung mundur. Kalau tanggal awalnya lebih lambat dari tanggal akhir, hasilnya #NUM!. Kalau urutannya bisa berubah-ubah, berikan tanggal yang lebih awal dengan MIN dan yang lebih lambat dengan MAX.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Start | End | DATEDIF | With MIN and MAX |
| 2 | 2026-03-10 | 2026-01-05 | #NUM! | 64 |
#NUM! Ada angka di luar rentang yang diterima fungsi ini.C2 menampilkan #NUM!; D2 menghasilkan 64. Untuk jumlah hari saja, =ABS(B2-A2) memberikan angka 64 yang sama tanpa DATEDIF. DATEDIF juga menghasilkan #NUM! untuk satuan yang tidak dikenal seperti "W", dan #VALUE! kalau sebuah tanggal berupa teks yang tidak bisa dibaca Excel sebagai tanggal.
Satuan MD bisa salah
Dokumentasi Microsoft sendiri tidak menyarankan "MD": kalau hari dari tanggal awal tidak ada di bulan sebelum tanggal akhir, satuan ini bisa menghasilkan angka negatif.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Start | End | MD | D |
| 2 | 2026-01-31 | 2026-03-01 | -2 | 29 |
Dari 31 Januari sampai 1 Maret, hasil "MD" adalah -2: DATEDIF menghitung dari "31 Februari", yang bergulir menjadi 3 Maret, dua hari setelah tanggal akhir. Hitungan harinya, 29, sudah benar. Kalau tanggal awal bisa jatuh di tanggal 29 sampai 31, tampilkan lamanya dalam hari, atau periksa angka MD secara manual.
Latihan: hitung jumlah bulannya
| A | B | C | |
|---|---|---|---|
| 1 | Start | End | Months |
| 2 | 2025-03-10 | 2026-01-05 |
Giliranmu: Di C2, hitung jumlah bulan penuh di antara tanggal awal di A2 dan tanggal akhir di B2.
| A | B | C | |
|---|---|---|---|
| 1 | Date 1 | Date 2 | Days |
| 2 | 2026-04-18 | 2026-02-01 |
Giliranmu: Di C2, hitung jumlah hari di antara kedua tanggal, tanggal mana pun yang lebih dulu.
Pertanyaan yang sering diajukan
Apa fungsi DATEDIF di Excel?
DATEDIF menghitung tahun, bulan, atau hari penuh di antara dua tanggal: =DATEDIF(A2,B2,"Y") untuk tahun, "M" untuk bulan, "D" untuk hari. Tanggal awalnya harus ditulis lebih dulu.
Kenapa aku tidak bisa menemukan DATEDIF di Excel?
DATEDIF dipertahankan demi kompatibilitas dengan Lotus 1-2-3, jadi Excel tidak menampilkannya di dialog Insert Function maupun di autocomplete rumus. Fungsi ini tetap berfungsi di semua versi: ketik =DATEDIF( secara lengkap dan tambahkan argumennya sendiri.
Kenapa DATEDIF menghasilkan #NUM!?
Tanggal awalnya lebih lambat dari tanggal akhir. Tukar argumennya, atau pakai =DATEDIF(MIN(A2,B2),MAX(A2,B2),"D") kalau kamu tidak tahu tanggal mana yang lebih dulu.
Apa beda YM, MD dan YD di DATEDIF?
Ketiganya mengabaikan sebagian dari tanggalnya: "YM" menghasilkan sisa bulan setelah tahun penuh, "MD" sisa hari setelah bulan penuh, dan "YD" sisa hari setelah tahun penuh. Bersama-sama, "Y", "YM", dan "MD" menghasilkan umur dalam tahun, bulan, dan hari.
Apakah DATEDIF berfungsi di Google Sheets?
Ya, dengan argumen dan satuan yang sama. Google Sheets juga mencantumkannya di bantuan fungsinya, tidak seperti Excel.