(nanya) rumus tanggal hijriah

  1. 7 tahun lalu

    Salam Kenal semuanya...
    Mo tanya cara konversi kalender Masehi ke hijriah...
    saya konversi tanggal 1 Januari 2017 menjadi tanggal hijirah tapi kok nga sesuai yah rumusnya :

    =TEXT((A2&"/"&B2&"/"&C2);"[$-1170000]B2dd-mm-yyy;@")

    hasilnya menjadi 03-04-1438 seharusnya 02-04-1438
    ada yang bisa bantu saya ...
    terimakasih

  2. diditsatriyadi

    27 Mei 2017 Terverifikasi Surabaya + 1.104 Poin

    sepertinya konversi rumus bawaan excel utk format hijri date bisa meleset +/- 1 hari ya?

  3. solusinya ?

  4. diditsatriyadi

    29 Mei 2017 Terverifikasi Surabaya + 1.104 Poin

    maaf, karena sudah format bawaan excel saya tidak tahu solusinya, kalopun tanggalnya kita tambah/kurangi 1 nanti di waktu yg lain terjadi pergeseran lagi, mungkin dibuat rumus/formula konversi sendiri, tapi saya sendiri tidak tahu rumusnya, barangkali dari rekan2 lain ada solusi lebih baik :)

  5. Caton

    30 Mei 2017 Terverifikasi Indonesia + 20.101 Poin

    Izin bantu mas @abread dan mas @diditsatriyadi ...

    Ini ada hasil dari gali sana gali sini... Infonya, di Excel 2013 masalah ini sudah diperbaiki, namun saya belum nyoba karena gak punya... :D Ada beberapa sumber yang saya temukan, namun yang terbaik dari sini . Kode VBA-nya bukan milik saya. Saya hanya mengaplikasikan dan menyusun ulang struktur kode VBA-nya saja. Hasilnya bisa dicoba pada file sisipan terlampir. Mungkin masih ada kesalahan atau kekurangan.

    Note: Format tanggal hasil konversinya berupa String (teks). Sudah saya coba konversikan ke bentuk Date (tanggal), namun hasilnya kembali seperti permasalahan dalam diskusi ini.

  6. Terima kasih mas @Caton share linkny

  7. iya saya coba punya mas @Caton hasilnya tanggalnya benar tapi bulannya yang error 2 April 1438 saya setting dd mmmm yyyy. mudah2an dibawah masih ada yang bisa ngasih solusi

  8. Caton

    3 Jun 2017 Terverifikasi Indonesia + 20.101 Poin
    Di sunting 7 tahun lalu oleh Caton

    Mas @abread ...

    Fungsi KonversiTanggal tersebut sebenarnya sudah mengembalikan hasil yang benar. Namun oleh karena VBA menggunakan sistem penanggalan Gregorian (Masehi) sebagai basis perhitungannya, maka fungsi FORMAT pada fungsi KonversiTanggal tersebut akan mengembalikan nama bulan Masehi. Untuk melihat perbedaannya, coba tambahkan baris kode:

    Calendar = vbCalHijri
    KonversiTanggal = Format(lDd & "/" & lDm & "/" & lDy, "dd mmmm yyyy")

    Solusinya lainnya bisa menggunakan fungsi pencarian (lookup) seperti INDEX. Misalnya pada range A1:A12 kita isi dengan nama-nama bulan Hijriah, dan kita beri nama BulanHijriah. Maka, jika fungsi KonversiTanggal tetap diatur dengan format dd/mm/yyyy, maka pada sel D6 bisa diisi formula:

    =LEFT(D4;2)&" "&INDEX(BulanHijriah;VALUE(MID(D4;4;2)))&" "&RIGHT(D4;4)

    atau langsung satu formula:

    =LEFT(KonversiTanggal(C4;1);2) & " " & INDEX(BulanHijriah;VALUE(MID(KonversiTanggal(C4;1);4;2))) & " " & RIGHT(KonversiTanggal(C4;1);4)

    Atau lakukan sedikit penambahan kode VBA pada fungsi KonversiTanggal sebagaimana yang saya lakukan pada file yang saya lampirkan berikut. Silahkan dicoba.

  9. makasih Mas @Caton tapi saya coba tanggal 19 November 2017 Hasilnya 29 Safar 1439 klo tanggalan asli 30 Safar 1439

  10. Caton

    11 Jun 2017 Terverifikasi Indonesia + 20.101 Poin

    Coba periksa ke sini . Saya coba, hasil untuk tanggal 19 Nopember 2017 adalah:

    Berdasarkan Kalender Rukyat Global: 30 Shafar 1439 H
    Berdasarkan Imkan Rukyat Indonesia: 29 Shafar 1439 H

    Dari situs ini , atau di sini dan beberapa situs lainnya:

    19 Nopember 2017 = 1 Rabiulawal 1439H

    Sedangkan kode VBA tersebut berdasarkan JS script dari situs ini .

 

atau Mendaftar untuk ikut berdiskusi!