TL;DR
Rumus TODAY Excel ditulis =TODAY() dan mengembalikan tanggal hari ini tanpa jam, sedangkan =NOW() mengembalikan tanggal sekaligus jam saat ini. Keduanya nggak butuh argumen apa pun dan otomatis ter-update setiap file dibuka atau di-recalculate. Buat laporan harian, TODAY() dipakai untuk header tanggal, hitung umur piutang (=TODAY()-tanggal_faktur), dan countdown deadline; NOW() dipakai kalau kamu butuh jejak jam, misalnya timestamp update dashboard.
Rumus TODAY di Excel ditulis =TODAY() dan hasilnya tanggal hari ini. Tanpa argumen, tanpa setting apa-apa. Besok dibuka lagi, tanggalnya udah ganti sendiri.
Sepupunya, =NOW(), ngasih tanggal plus jam.
Kedengeran sepele. Tapi dua rumus ini yang bikin laporan harian kamu berhenti butuh edit manual tiap pagi. Umur piutang, sisa hari sampai deadline, header tanggal di dashboard, semuanya bisa jalan sendiri.
Di bawah ini aku bahas cara pakainya, kesalahan yang paling sering bikin orang bingung, dan satu jebakan performa yang jarang dibilang tutorial lain.
TODAY adalah fungsi Excel yang mengembalikan tanggal hari ini berdasarkan jam sistem komputer kamu. Sintaksnya =TODAY(), kurung buka, kurung tutup, kosong. Nilainya otomatis ter-update setiap file dibuka atau di-recalculate, jadi kamu nggak perlu ngetik ulang tanggal tiap hari.
=TODAY()
' Hasil (kalau hari ini 26 Feb 2026): 26/02/2026
=NOW()
' Hasil: 26/02/2026 09:41
Di balik layar, Excel nyimpen tanggal sebagai angka serial, jumlah hari sejak 1 Januari 1900. Jadi 26 Februari 2026 itu sebenernya angka 46079.
Makanya =TODAY()+7 langsung ngasih tanggal seminggu lagi. Kamu cuma nambah 7 hari ke angkanya.
NOW() nyimpen jam di bagian desimalnya. Jam 12 siang = 0,5. Jam 6 pagi = 0,25. Gitu terus.
Aturannya gampang: kalau kamu cuma butuh selisih hari, pakai TODAY(). Kalau kamu butuh jejak jam, pakai NOW().
| Kebutuhan | Pakai | Kenapa |
|---|---|---|
| Header tanggal di laporan harian | TODAY() | Jam nggak relevan, cuma bikin berantakan |
| Umur piutang (aging) | TODAY() | Selisihnya dihitung dalam hari bulat |
| Countdown ke deadline | TODAY() | Sisa hari, bukan sisa jam |
| Timestamp "terakhir refresh" | NOW() | Perlu tau jam berapa datanya ditarik |
| Hitung durasi shift kerja | NOW() | Butuh presisi jam-menit |
Satu jebakan yang sering kena: kamu pakai NOW() buat hitung selisih hari, terus hasilnya keluar desimal aneh kayak 12,4583. Itu karena NOW() bawa-bawa jam.
Bungkus pakai INT biar bersih: =INT(NOW()-A2). Atau ganti aja ke TODAY().
Ini kasus paling sering di kerjaan finance. Kamu punya daftar faktur, kamu mau tau tiap faktur udah nunggak berapa hari.
Rumusnya satu baris:
=TODAY()-B2
' B2 = tanggal faktur (misal 10/01/2026)
' Hasil: 47 (hari)
' Format sel hasilnya harus General/Number, bukan Date
Nah, ini yang paling sering bikin orang panik: hasilnya keluar tanggal aneh kayak "16/02/1900", bukan angka 47.
Bukan rumusnya yang salah. Excel cuma nurunin format Date dari sel B2 ke sel hasil. Blok selnya, Ctrl + 1, pilih General. Beres.
Mau langsung dikategorikan? Tumpuk sama IF:
=IF(TODAY()-B2>90;"Macet";
IF(TODAY()-B2>60;"Perhatian";
IF(TODAY()-B2>30;"Lewat Tempo";"Aman")))
Kalau kamu belum akrab sama logika bertingkat gini, aku udah bahas polanya di panduan rumus IF Excel. Referensi argumennya ada di halaman fungsi IF.
Kebalikannya umur piutang. Tanggal targetnya di depan, bukan di belakang.
=C2-TODAY()
' C2 = deadline (misal 15/03/2026)
' Hasil: 17 (sisa hari)
Masalahnya, kalau udah lewat, hasilnya minus. Angka -3 di laporan kelihatan kayak bug, padahal artinya telat 3 hari.
Bikin lebih manusiawi:
=IF(C2<TODAY();"Telat "&TODAY()-C2&" hari";
"Sisa "&C2-TODAY()&" hari")
' Hasil: "Sisa 17 hari" atau "Telat 3 hari"
Tinggal tambah conditional formatting: sel yang mengandung kata "Telat" dikasih background merah. Bos kamu bisa baca statusnya dari jauh tanpa mikir.
Aku ambil dataset toko_berkah, data 1.200 faktur distributor sembako yang aku pakai buat latihan di kelas Ngulik Data.
Setelah kolom umur piutang dihitung pakai =TODAY()-tanggal_faktur dan dikelompokkan pakai IF bertingkat, hasilnya kayak gini:
| Bucket | Jumlah faktur | Nilai (Rp) | % nilai |
|---|---|---|---|
| Aman (0-30 hari) | 742 | 1.480.000.000 | 61% |
| Lewat Tempo (31-60) | 298 | 512.000.000 | 21% |
| Perhatian (61-90) | 121 | 287.000.000 | 12% |
| Macet (>90 hari) | 39 | 145.000.000 | 6% |
Yang menarik: bucket "Macet" cuma 39 faktur dari 1.200, cuma 3% dari jumlah. Tapi nilainya Rp145 juta, alias 6% dari total piutang.
Artinya faktur macet cenderung faktur bernilai besar. Rata-rata faktur macet Rp3,7 juta, hampir dua kali lipat rata-rata faktur aman (Rp1,99 juta).
Insight sekecil itu nggak akan kelihatan kalau umur piutang masih diketik manual dan udah basi tiga hari.
Dan karena rumusnya pakai TODAY(), file ini dibuka minggu depan pun angkanya udah bergeser sendiri.
Ini kesalahan nomor satu. Orang ngetik =NOW() di kolom "Tanggal Input", ngerasa aman, terus besok buka file, semua barisnya berubah jadi tanggal besok.
TODAY() dan NOW() itu selalu update. Nggak ada opsi buat ngunci.
Buat timestamp mati, pakai shortcut:
Dua shortcut ini nulis angka, bukan rumus. Aman selamanya.
Volatile function artinya Excel ngitung ulang selnya setiap ada perubahan apa pun di workbook, walaupun perubahannya di sheet lain dan nggak nyentuh sel itu sama sekali.
Kalau kamu tulis =TODAY()-B2 di 5.000 baris, kamu punya 5.000 volatile function. Ngetik satu huruf di sel kosong bisa bikin Excel mikir sedetik.
Trik hematnya: taruh =TODAY() sekali aja di sel bantu, misalnya $B$1. Terus semua rumus lain merujuk ke situ.
' B1: =TODAY() ← cuma 1 volatile function
' C2: =$B$1-B2 ← rumus biasa, ringan
' C3: =$B$1-B3
' ...
Microsoft sendiri nyebut TODAY dan NOW sebagai volatile di dokumentasi performa kalkulasi Excel.
Rumus =IF(NOW()>A2;"Lewat";"Belum") bakal bilang "Lewat" di hari-H itu sendiri. Soalnya A2 (tanggal polos) dianggap jam 00:00, sementara NOW() udah jam 09:41.
Kalau maksud kamu "lewat hari", pakai TODAY(): =IF(TODAY()>A2;"Lewat";"Belum").
Hasil =TODAY() keluar 46079? Selnya cuma format General. Ctrl + 1, pilih Date.
Hasil =TODAY()-B2 keluar 16/02/1900? Selnya kebawa format Date. Ctrl + 1, pilih General.
Nggak ada yang rusak. Cuma baju selnya salah.
Sama persis. =TODAY() dan =NOW() jalan identik di Google Sheets.
Satu bedanya yang perlu kamu tau: Google Sheets punya setting recalculation sendiri di File > Settings > Calculation. Defaultnya "On change", yang artinya NOW() nggak update terus-terusan kayak jam dinding.
Kalau kamu mau NOW() refresh tiap menit, ganti ke "On change and every minute".
Separator argumennya juga beda: Sheets pakai koma, Excel Indonesia biasanya titik koma. Tapi TODAY() dan NOW() nggak punya argumen, jadi bebas masalah ini.
Begitu kamu punya "hari ini" dalam bentuk angka, banyak hal jadi gampang.
=TODAY()+30 → tanggal jatuh tempo netto 30 hari=YEAR(TODAY()) → tahun berjalan, buat header laporan yang nggak usah diedit tiap Januari=EOMONTH(TODAY();0) → tanggal akhir bulan ini. Detailnya ada di panduan rumus EOMONTH=NETWORKDAYS(A2;TODAY()) → udah berapa hari kerja sejak tanggal A2, Sabtu-Minggu nggak dihitung=DATEDIF(A2;TODAY();"Y") → umur dalam tahun, cocok buat data karyawanIstilah serial date yang jadi dasar semua ini aku jelasin terpisah di glosarium.
TODAY() cuma ngasih tanggal hari ini, misalnya 26/02/2026. NOW() ngasih tanggal plus jam, misalnya 26/02/2026 09:41. Di balik layar keduanya angka serial: TODAY() bilangan bulat, NOW() bilangan desimal. Pilih TODAY() kalau kamu cuma butuh selisih hari, dan NOW() kalau kamu butuh jejak jam.
Biasanya calculation mode file kamu di-set Manual. Cek di Formulas > Calculation Options, balikin ke Automatic, atau tekan F9. Penyebab kedua: hasilnya nggak sengaja di-paste sebagai value, jadi selnya isinya tanggal mati. Klik selnya, lihat formula bar, kalau isinya angka bukan =TODAY(), berarti rumusnya udah kehapus.
Pakai shortcut, bukan rumus. Ctrl + ; buat tanggal hari ini, Ctrl + Shift + ; buat jam sekarang. Dua-duanya nempelin nilai statis yang nggak akan update lagi. Kalau butuh otomatis per baris tiap ada input, kamu perlu iterative calculation atau macro VBA.
Itu angka serial tanggal Excel, jumlah hari sejak 1 Januari 1900. Selnya cuma salah format. Blok selnya, tekan Ctrl + 1, pilih kategori Date. Angka serial ini juga alasan kenapa TODAY() dikurangi tanggal faktur langsung ngasih selisih hari.
Bisa, kalau dipakai di ribuan baris. Dua-duanya volatile function, dihitung ulang tiap ada perubahan apa pun di workbook. Solusinya: taruh =TODAY() sekali di satu sel bantu, lalu semua rumus lain merujuk ke sel itu. Satu volatile function jauh lebih ringan dari 5.000.
Tiga hal yang perlu kamu inget:
=TODAY() buat selisih hari, =NOW() buat jejak jam. Jangan kebalik.Buka file laporan harian kamu sekarang, cari sel tanggal yang tiap pagi kamu ketik ulang, ganti jadi =TODAY(). Satu edit, hemat 30 detik per hari selamanya.
Mau latihan langsung tanpa install apa-apa? Coba rumus DATEDIF berikutnya, pasangan alami TODAY() buat hitung masa kerja dan umur.
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.