ikuti Saluran WhatsApp Rumahdisolo.com. Klik WhatsApp

Ambil Tahun, Bulan, Hari Dengan Rumus Praktis

Pelajari cara mudah ambil tahun, bulan, dan hari dari tanggal di Excel dengan rumus praktis. Tingkatkan efisiensi kerja Anda sekarang!

Mau ambil tahun, bulan, atau hari dari tanggal di spreadsheet tapi belum ngerti rumusnya? Tenang — gampang banget kalau udah paham trick-nya.

Di artikel ini aku kupas tuntas semua cara praktis buat ekstrak tahun, bulan, dan hari dari berbagai format tanggal di Excel maupun Google Sheets. Mulai dari fungsi dasar (`YEAR`, `MONTH`, `DAY`), pakai `TEXT()` biar tampilannya cakep, sampai parsing tanggal yang berupa teks (mis. `20251006`, `06-10-2025`, atau `October 6, 2025`).

Semua lengkap dengan tabel contoh, rumus siap copy-paste, dan trik agar aman buat pemula.

Gaya santai, cocok buat pelajar atau kamu yang malas baca manual panjang — langsung praktek aja!


Ringkasan cepat (buat yang pengen langsung praktek)

  • `=YEAR(tanggal)` → ambil tahun (mis. 2025)
  • `=MONTH(tanggal)` → ambil angka bulan (1–12)
  • `=DAY(tanggal)` → ambil angka hari (1–31)
  • `=TEXT(tanggal,"mmmm")` → nama bulan penuh (Oktober)
  • `=TEXT(tanggal,"mmm")` → nama bulan singkat (Okt)
  • Untuk tanggal dalam format teks `YYYYMMDD` → `=DATE(LEFT(A2,4), MID(A2,5,2), RIGHT(A2,2))`
  • Untuk validasi tanggal teks gunakan `ISNUMBER(DATEVALUE(...))` atau `IFERROR(...)`

Kalau mau langsung server-ready: salin contoh tabel di bawah, lalu coba rumusnya satu-satu.


Kenapa ngerti ini penting?

Karena banyak kasus di dunia nyata:

  • Kamu mau buat ringkasan per tahun / per bulan (laporan penjualan).
  • Filter data berdasarkan bulan (mis. transaksi September).
  • Hitung umur berdasarkan tanggal lahir.
  • Tampilkan label “Oktober 2025” di dashboard.

Jadi mengetahui fungsi-fungsi sederhana ini bikin kerja spreadsheet jadi jauh lebih cepat.


1. Fungsi dasar: YEAR, MONTH, DAY — syntax & contoh sederhana

Syntax

  • `=YEAR(serial_date)`
  • `=MONTH(serial_date)`
  • `=DAY(serial_date)`

`serial_date` artinya sel yang berisi tanggal (bisa hasil rumus, hasil konversi, atau literal date).

Contoh tabel dasar

Salin tabel ini ke sheet:

  
A (Tanggal) B (Year) C (Month) D (Day) Keterangan
2025-10-06 =YEAR(A2) =MONTH(A2) =DAY(A2) Format tanggal internasional (YYYY-MM-DD) → Terbaca benar
06/10/2025 =YEAR(A3) =MONTH(A3) =DAY(A3) Format Indonesia (DD/MM/YYYY) → Terbaca benar jika regional setting Indonesia
10/06/2025 =YEAR(A4) =MONTH(A4) =DAY(A4) Format AS (MM/DD/YYYY) → Bulan dan hari bisa tertukar tergantung pengaturan regional
  • Jika A2 berisi `2025-10-06`, `YEAR(A2)` → 2025
  • `MONTH(A2)` → 10
  • `DAY(A2)` → 6
Catatan: Excel/Sheets menyimpan tanggal sebagai angka (serial). Fungsi-fungsi ini ambil komponen dari nilai itu.

2. Menampilkan nama bulan & nama hari (human-friendly)

Kadang kita pengen label “Oktober” atau “Senin”. Gunakan `TEXT()`.

Contoh rumus:

  • Nama bulan panjang: `=TEXT(A2, "mmmm")` → Oktober
  • Nama bulan singkat: `=TEXT(A2, "mmm")` → Okt
  • Nama hari: `=TEXT(A2, "dddd")` → Senin
  • Nama hari singkat: `=TEXT(A2, "ddd")` → Sen

Tabel contoh

A (Tanggal) E (Bulan Panjang) F (Hari)
2025-10-06 =TEXT(A2,"mmmm") → Oktober =TEXT(A2,"dddd") → Senin
Tips UX: Kalau butuh data sebagai teks (mis. label chart), `TEXT()` cocok. Kalau mau angka untuk filter/aggregate, tetap pakai `MONTH()`/`WEEKDAY()`.

3. Ambil bulan dengan leading zero (01, 02, …)

Kadang butuh format `01` untuk Januari. Cara gampang:

=TEXT(A2, "mm")

atau

=RIGHT("0"&MONTH(A2),2)

`TEXT()` langsung rapi. `RIGHT()` berguna kalau mau tetap numeric? (perlu konversi lagi). Biasanya `TEXT()` lebih simpel.


4. Ambil tahun dari tanggal yang berupa teks (various formats)

Masalah nyata: data impor sering kasih tanggal sebagai teks — contoh `20251006` atau `06-10-2025` — yang tidak dikenali sebagai tanggal. Kita bahas cara konversi dulu, lalu extract.

Format `YYYYMMDD` (contoh: `20251006`)

Gunakan:

=DATE(LEFT(A2,4), MID(A2,5,2), RIGHT(A2,2))

Penjelasan:

  • `LEFT(A2,4)` → tahun `2025`
  • `MID(A2,5,2)` → bulan `10`
  • `RIGHT(A2,2)` → hari `06`
  • `DATE()` gabung jadi tanggal valid.

Setelah jadi tanggal, gunakan `=YEAR(...)`, `=MONTH(...)`, `=DAY(...)`.

Format `DD-MM-YYYY` atau `DD/MM/YYYY`

Jika sheet kamu pakai locale dd/mm/yyyy, `DATEVALUE()` sering bisa konversi:

=DATEVALUE(A2)

Tapi kalau `DATEVALUE()` susah karena locale, parse manual:

=DATE(RIGHT(A2,4), MID(A2,4,2), LEFT(A2,2))

(Asumsi `DD-MM-YYYY`, separator `-`)

Format textual: `October 6, 2025`

`DATEVALUE("October 6, 2025")` biasanya bekerja (bergantung locale). Tapi aman pakai:

=DATEVALUE(A2)

Jika error, extract words `MONTH` via `MONTH(DATEVALUE("1 "&LEFT(A2,FIND(" ",A2,1)-1)))` — rumit, tapi jarang perlu.

Contoh tabel parsing

A (Tanggal teks) B (Tanggal valid) C (Tahun)
20251006 =DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2)) =YEAR(B2) → 2025
06-10-2025 =DATE(RIGHT(A3,4), MID(A3,4,2), LEFT(A3,2)) =YEAR(B3) → 2025
October 6, 2025 =DATEVALUE(A4) =YEAR(B4)
Catatan: selalu cek `ISNUMBER()` setelah konversi buat validasi.

5. Validasi & amanin konversi (cek apakah berhasil)

Sebelum pakai hasil parsing, pastikan nilainya memang tanggal (angka). Gunakan:

=ISNUMBER(B2)   // TRUE kalau tanggal valid (karena tanggal adalah angka)

Atau:

=IFERROR(DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2)), "Format salah")

Contoh:

  • `=IF(ISNUMBER(DATEVALUE(A2)), "OK", "Bukan tanggal")`

Di Google Sheets: `VALUE()` juga sering dipakai.


6. Menangani tanggal dengan format ambigue (DD/MM vs MM/DD)

Ini pemicu bug paling sering. Kalau impor dari negara lain, format `MM/DD/YYYY` bisa salah terbaca sebagai `DD/MM/YYYY`. Triknya:

  • Cek Locale spreadsheet. Di Google Sheets: File → Spreadsheet settings → Locale. Di Excel: cek regional settings OS.
  • Jika teks, parse manual (lihat contoh parsing `DD-MM-YYYY`).
  • Jika angka sudah di parse tapi salah, gunakan fungsi `DATE(YEAR,DAY,MONTH)` swap bulan & hari.

Contoh koreksi swap:

=IF(MONTH(A2)>12, DATE(YEAR(A2), DAY(A2), MONTH(A2)), A2)

Ini asumsi: jika `MONTH(A2)` lebih dari 12 berarti Excel salah baca (kemungkinan parsing), lalu swap.

Lebih aman: pasang validasi visual untuk semua tanggal yang jatuh invalid (misal day>31, month>12).


7. Ambil bagian waktu (jam/menit/detik) — bonus kecil

Walau fokus kita tahun/bulan/hari, sering perlu jam.

  • `=HOUR(datetime)` → jam
  • `=MINUTE(datetime)` → menit
  • `=SECOND(datetime)` → detik

Contoh:

=HOUR(NOW())   // jam saat ini

8. Ekstrak kuartal dan fiscal year (kasus bisnis)

Sering kita perlu group per kuartal atau fiscal year yang dimulai bukan Januari.

Kuartal

=INT((MONTH(A2)-1)/3)+1

Contoh: bulan 10 → kuartal 4.

Fiscal year (mis. FY mulai April)

Jika FY mulai April: FY tahun = IF(MONTH(A2)>=4, YEAR(A2), YEAR(A2)-1)

=IF(MONTH(A2)>=4, YEAR(A2), YEAR(A2)-1)

Contoh: tanggal 2025-02-10 → FY = 2024 (jika FY mulai April 2024–Mar 2025).


9. Extract tahun/bulan/hari dari timestamp (tanggal + jam)

Jika sel berisi `2025-10-06 14:23:10` tetap pakai `YEAR/MONTH/DAY` karena fungsi otomatis ambil bagian tanggal.

Contoh:

=YEAR(A2), =MONTH(A2), =DAY(A2)

Kalau mau hanya tanggal tanpa jam:

=INT(A2)   // buang pecahan jam/detil

10. Ekstrak dari Excel serial number (angka)

Kadang sheet punya angka `45218.10`. Itu serial date+time. `YEAR` dll tetap jalan. Tapi jika mau convert manual:

=DATE(1899,12,30) + serial

Biasanya nggak perlu karena `YEAR(serial)` sudah benar.


11. Konversi batch — array & drag-down

Kalau punya banyak baris tanggal teks dan mau konversi sekaligus:

  • Excel modern / Google Sheets: tarik rumus ke bawah (drag).
  • Google Sheets: gunakan arrayformula:
=ARRAYFORMULA(IF(A2:A="", "", YEAR(DATE(LEFT(A2:A,4), MID(A2:A,5,2), RIGHT(A2:A,2)))))

Ini bantu kalau data besar.


12. Contoh kasus nyata lengkap — laporan per bulan & per tahun

Misal tabel penjualan (salin ke sheet):

No Tanggal Total
1 2025-09-30 120000
2 2025-10-01 45000
3 2024-10-06 30000
4 2025-10-06 10:30 60000

Kita mau ringkasan:

  • Total per tahun (2025)
  • Total per bulan (Oktober 2025)

Rumus bantu:

  • Tahun (kolom baru): `=YEAR(B2)`
  • Bulan (angka): `=MONTH(B2)`
  • Bulan (nama): `=TEXT(B2,"mmmm")`

Total per tahun (PivotTable) atau rumus:

=SUMIFS(C2:C100, YEAR(B2:B100), 2025)  // TIDAK bisa langsung YEAR di SUMIFS

Karena SUMIFS tidak terima fungsi di range kriteria, solusi:

  • Buat helper column `Tahun` = `YEAR(B2)` lalu:
  • =SUMIFS(C2:C100, D2:D100, 2025)  // D2:D100 = helper tahun

    Total per bulan (helper column `MonthYear`):

    =TEXT(B2,"yyyy-mm")  // menghasilkan "2025-10"

    Lalu:

    =SUMIFS(C2:C100, E2:E100, "2025-10")

Atau pakai PivotTable langsung group by Year/Month — lebih mudah.


13. Ekstrak dari format khusus: "YYYY-MM-DDTHH:MM:SS" (ISO 8601)

Terkadang data API ngasih format: `2025-10-06T14:23:10`. Untuk ambil tanggal:

=LEFT(A2,10)  // "2025-10-06"
=DATEVALUE(LEFT(A2,10))  // jadi tanggal

Lalu `YEAR()` dsb.


14. Fungsi bantu lain yang berguna

  • `DATE(year, month, day)` — bangun tanggal dari angka
  • `DATEVALUE(text)` — konversi teks ke tanggal (locale dependent)
  • `VALUE(text)` — konversi teks ke angka (termasuk tanggal jika format cocok)
  • `TEXT()` — format tampilan nama bulan, dll
  • `EOMONTH(start, months)` — akhir bulan, berguna buat report per bulan
  • `WEEKDAY(date, return_type)` — hari ke-berapa dalam minggu (1=Senin atau Sunday tergantung setting)

15. Edge cases & jebakan yang sering bikin pusing (dan solusinya)

  1. Tanggal tampak benar tapi tidak dianggap tanggal → gunakan `ISNUMBER()` untuk cek. Solusi: `DATEVALUE()` atau parsing manual.
  2. Format dd/mm vs mm/dd → cek locale & parse manual.
  3. Nilai kosong/NULL → wrap `IF(A2="", "", YEAR(A2))` supaya tidak muncul error.
  4. Rumus menghasilkan teks, bukan angka → waspadai `TEXT()` karena output string; kalau butuh angka lagi, konversi pakai `VALUE()`.
  5. Tanggal yang lebih kecil dari 1900 di Excel → Excel tidak mendukung tanggal sebelum 1900 (default). Hindari jika perlu sejarah panjang.
  6. Seri ISO + timezone (Z) → jika ada timezone, `DATEVALUE()` mungkin error; ekstrak bagian tanggal sebelum `T` dulu.

16. Tips UX & best practice saat pakai YEAR/MONTH/DAY

  • Selalu buat helper column (Tahun, Bulan, Bulan-Tahun) agar rumus ringkas dan Pivot friendly.
  • Gunakan format `yyyy-mm` untuk group month-year karena mudah di-sort.
  • Untuk dashboard, simpan month name via `TEXT()` tapi gunakan helper numeric Month untuk sorting. (Contoh: col F = `MONTH(A2)`; col G = `TEXT(A2,"mmmm")` — lalu sort by F).
  • Jangan gunakan `TEXT()` bila kamu butuh angka untuk fungsi matematik.
  • Gunakan Data Validation (dropdown) untuk filter tahun agar user nggak typo.

17. Contoh latihan & jawaban (biar ngena)

Salin tabel kecil berikut ke sheet lalu coba jawab soal:

Tabel latihan (A1:B6)

No Tanggal
1 20251006
2 06-10-2025
3 October 6, 2025
4 2025/10/06 14:00
5 06/10/25
Soal:
  1. Konversi semua ke format tanggal valid.
  2. Ambil tahun, bulan, hari masing-masing.
  3. Tampilkan nama bulan penuh untuk tiap baris.
Jawaban contoh:
  1. Konversi:
    • A2 `20251006` → `=DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2))`
    • A3 `06-10-2025` → `=DATE(RIGHT(A3,4), MID(A3,4,2), LEFT(A3,2))`
    • A4 `October 6, 2025` → `=DATEVALUE(A4)` (cek locale)
    • A5 `2025/10/06 14:00` → `=INT(VALUE(A5))` atau `=DATEVALUE(LEFT(A5,10))`
    • A6 `06/10/25` → `=DATEVALUE(A6)` kalau locale dd/mm/yy
  2. Tahun/Bulan/Hari:
    • `=YEAR(B2)`, `=MONTH(B2)`, `=DAY(B2)`
  3. Nama bulan:
    • `=TEXT(B2,"mmmm")`

18. Troubleshooting cepat

  • `#VALUE!` saat pakai `DATEVALUE()` → format teks tidak dikenali. Gunakan parsing manual.
  • `0` atau angka random muncul → probable date is text; coba `VALUE()` atau ubah format.
  • Sorting bulan tidak sesuai (Januari, April, Agustus...) → gunakan helper `MONTH()` untuk sort.

19. Performance (jika data besar)

  • Rumus `LEFT/MID/RIGHT` relatif ringan. `DATEVALUE()` di ribuan baris juga OK.
  • Hindari array formula yang berat jika belum perlu; gunakan helper column.
  • Gunakan PivotTable untuk agregasi besar.

20. Contoh formula cheat-sheet (siap copy-paste)

Dari tanggal valid (A2):
=YEAR(A2)
=MONTH(A2)
=DAY(A2)
=TEXT(A2,"mmmm")    // nama bulan
=TEXT(A2,"mmm")     // nama bulan singkat
=TEXT(A2,"dddd")    // nama hari
=INT(A2)            // ambil bagian tanggal saja
Dari teks `YYYYMMDD` di A2:
=DATE(LEFT(A2,4), MID(A2,5,2), RIGHT(A2,2))
=YEAR(DATE(LEFT(A2,4), MID(A2,5,2), RIGHT(A2,2)))
Dari teks `DD-MM-YYYY`:
=DATE(RIGHT(A2,4), MID(A2,4,2), LEFT(A2,2))
Bulan dengan leading zero:
=TEXT(A2,"mm")
Kuartal:
=INT((MONTH(A2)-1)/3)+1
Fiscal Year (mulai April):
=IF(MONTH(A2)>=4, YEAR(A2), YEAR(A2)-1)

21. Penutup & saran latihan

Sekarang kamu udah pegang semua teknik penting buat ambil tahun, bulan, dan hari dari berbagai tipe tanggal. Saran latihan cepat:

  1. Buat tabel impor dengan 20 baris tanggal acak (format campur teks/ISO/serial).
  2. Buat helper column `TanggalValid`, `Tahun`, `Bulan`, `NamaBulan`.
  3. Buat pivot: total per `NamaBulan` dan per `Tahun`.
  4. Tambahkan validasi: highlight baris yang gagal konversi.

Kalau masih bingung, coba kirim potongan data yang bikin masalah (contoh: `20251006`, `10/06/25`, `06-Oct-25`) dan praktekkan rumus parsing sesuai contoh.

Semakin sering lo praktek, makin cepat ingat rumusnya — promise.

Selamat ngoprek spreadsheet!

Siswi SMK Muhammadiyah 1 sukoharjo yang cerdas, Bersemangat, dan Berintegritas. Profil Lengkap saya