Mencari End Date berdasarkan Start Date and Duration

  1. tahun lalu

    Halo,

    Mohon bantuannya para Suhu, saya lagi mencari Tanggal Selesai Pekerjaan (dd-mmmm-yyyy hh:mm) yang didapat dari Tanggal Awal Bekerja (hh:mm) + Durasi Pekerjaan (dd-mmmm-yyyy hh:mm). Dimana:

    [A3] adalah tanggal & jam mulai, contoh = 22/3/17 11:10
    [B3] durasi dalam satuan jam:menit, contoh = 08:00
    [C3] durasi dalam satuan menit. contoh = 00:30
    sedangkan maksimal durasi kerja adalah 11 jam/hari (jam 07:00-18:00)

    [D3] adalah tanggal dan waktu selesai perkerjaan (yang ingin dicari)
    Formula yang saat ini saya input pada cell [D4] adalah:

    =WORKDAY(A3;INT(HOUR(C3)/11))+(TIME(HOUR(A3);MINUTE(A3);0)+TIME(0;MINUTE(D3);0))+MOD(HOUR(C3);11)/24

    akan tetapi formula tersebut jadi tidak valid ketika menemui 2 kondisi ini (secara bersamaan):

    1. Durasi pekerjaan kurang dari 11 jam, dan
    2. Pekerjaan dilanjutkan keesokan harinya (durasi lewat dari jam 18:00)

    Misalkan, jika saya menginputkan data seperti contoh yang saya berikan diatas outputnya yang seharusnya adalah “23/3/17 08:40” justru yang keluar adalah “22/3/17 19:40”.

    Ane masih bingung apa yang salah dengan formula tersebut. :(
    Jika berkenan, mohon bantuannya para sobat dan teman semua,
    terima kasih.

  2. saya buat simpel aja Mas.. file terlampir

  3. @Zolydck saya buat simpel aja Mas.. file terlampir

    Sebelumnya terimakasih gan sudah berkenan ngebantu :)

    Untuk contoh kasus yang ane kasih, benar gan outputnya sesuai tapi setelah ane coba input dengan durasi lain hasilnya masih belum valid. Contohnya seperti file yang ane lampirin

  4. Caton

    29 Jun 2017 Terverifikasi Indonesia + 12.574 Poin
    Di sunting tahun lalu oleh Caton

    Saya coba-coba, masih juga gak ketemu formula yang tepat, terutama pada contoh data terakhir (02/03/2017 16:30:00)... :D Jadi, daripada tambah pusing, saya coba pake VBA saja (kalau memang gak jadi masalah). Mudah-mudahan bisa digunakan dengan data sebenarnya. Dan semoga para master Be-O bisa membantu memecahkan kasus ini pake formula... :)

  5. saya coba juga pusing Mas, soalnya pengkondisiannya rumit.. ternyata dapat selesai dengan VBA ya Mas @Caton :D .. mohon dibantu Mas @diditsatriyadi pake formula..hehe

  6. Di sunting tahun lalu oleh agust

    @Caton Saya coba-coba, masih juga gak ketemu formula yang tepat, terutama pada contoh data terakhir (02/03/2017 16:30:00)... :D Jadi, daripada tambah pusing, saya coba pake VBA saja (kalau memang gak jadi masalah). Mudah-mudahan bisa digunakan dengan data sebenarnya. Dan semoga para master Be-O bisa membantu memecahkan kasus ini pake formula... :)

    Terimakasih banyak gan @Caton atas bantuannya.. ane masih prefer yang formula dulu, mudah2an VBA bukan jalan yang terakhir T_T
    btw gan @Caton , ini cara makenya gimana ya? ^_^; ane coba hasilnya seperti error gitu..
    maaf gan ane newbie soal VBA T_T
    Error.png

  7. Caton

    30 Jun 2017 Terverifikasi Indonesia + 12.574 Poin

    Iya mas @Zolydck ... Saya juga sudah pusing muter-muterin formulanya. Awalnya formula yang saya gunakan panjang banget (pake fungsi TIME), eh gak nyangka kalo bisa disederhanakan pake formula VALUE seperti yang mas coba, mantab :D ... Saya coba implementasikan di sheet Coba, tapi sayang, ternyata masih ada data lainnya yang belum cocok. Ide lainnya ada, cuma belum tau bagaimana menerapkannya... :(

    Buat mas @Agust , saya juga berharap bisa pake built-in formula saja, semoga mas @Fujiansyah92 atau mas @Diditsatriyadi dapat membantu... :). Dan untuk file yang berisi macro, harus diaktifkan dulu (macro enabled) untuk bisa dijalankan. Jadi saat ngebuka file macro tersebut, biasanya ada notifikasi Security Warning yang menanyakan apakah macro akan diaktifkan. Klik tombol Options... dan pilih Enable this content lalu klik tombol Ok (Excel 2007). Biar gak ribet lihat di sini . Saya sendiri lebih suka menggunakan opsi Trusted Locations, biar Excel gak nanya-nanya melulu... :D

  8. @Caton Iya mas @Zolydck Buat mas @Agust , saya juga berharap bisa pake built-in formula saja, semoga mas @Fujiansyah92 atau mas @Diditsatriyadi dapat membantu... :). Dan untuk file yang berisi macro, harus diaktifkan dulu (macro enabled) untuk bisa dijalankan. Jadi saat ngebuka file macro tersebut, biasanya ada notifikasi Security Warning yang menanyakan apakah macro akan diaktifkan. Klik tombol Options... dan pilih Enable this content lalu klik tombol Ok (Excel 2007). Biar gak ribet lihat di sini . Saya sendiri lebih suka menggunakan opsi Trusted Locations, biar Excel gak nanya-nanya melulu... :D

    Ok gan @Caton sudah bisa, Hatur nuhun :)
    Maaf sudah merepotkan para master dan suhu semua :)

  9. Caton

    30 Jun 2017 Terverifikasi Indonesia + 12.574 Poin
    Di sunting tahun lalu oleh Caton

    Gak masalah mas @Agust, saya juga suka mencoba kasus-kasus seperti punya mas ini buat latihan... :) Btw, ini ada file hasil coba-coba tanpa macro. Saya coba adaptasikan kode VBA yang saya buat ke formula Excel. Hanya saja, panjang banget bagaikan kereta api.... :D Silahkan dicoba dulu, mudah-mudahan gak ada masalah (karena formulanya masih coba-coba)... ;)

  10. @Caton Gak masalah mas @Agust, saya juga suka mencoba kasus-kasus seperti punya mas ini buat latihan... :) Btw, ini ada file hasil coba-coba tanpa macro. Saya coba adaptasikan kode VBA yang saya buat ke formula Excel. Hanya saja, panjang banget bagaikan kereta api.... :D Silahkan dicoba dulu, mudah-mudahan gak ada masalah (karena formulanya masih coba-coba)... ;)

    Hatur nuhun gan,
    setelah nyoba2, ane masih nemu data yang belum valid :(

    belum valid.png

  11. Di sunting tahun lalu oleh agust

    Ternyata yang pakai VBA juga sama gan @Caton , masih belum valid :(

    belum valid VBA.png

  12. Caton

    3 Jul 2017 Terverifikasi Indonesia + 12.574 Poin
    Di sunting tahun lalu oleh Caton

    Saya coba melakukan koreksi pada kode VBA (macro) sebelumnya, namun masih terdapat perbedaan hasil dengan yang mas harapkan. Saya telah melakukan pengujian pola perhitungan secara manual (kalkulasi menggunakan formula Excel) dan otomatis (menggunakan kode VBA) sebagaimana gambar terlampir.

    calc-auto.png

    Saya tidak tahu pasti apakah pola kalkulasi yang saya coba sudah benar atau masih salah. Untuk sementara, kode VBA hasil koreksinya saya tanggauhkan dulu. Tolong mas @Agust bantu koreksi dengan penjelasan lebih detil, sehingga saya dan rekan-rekan lainnya bisa lebih paham kondisi kalkulasi sebenarnya. Atau, para master di BeO ada yang sudah pulang cuti dan bisa membantu... :D

  13. Di sunting tahun lalu oleh agust

    @Caton Saya tidak tahu pasti apakah pola kalkulasi yang saya coba sudah benar atau masih salah. Untuk sementara, kode VBA hasil koreksinya saya tanggauhkan dulu. Tolong mas @Agust bantu koreksi dengan penjelasan lebih detil, sehingga saya dan rekan-rekan lainnya bisa lebih paham kondisi kalkulasi sebenarnya. Atau, para master di BeO ada yang sudah pulang cuti dan bisa membantu... :D

    Maaf mas, ketika saya kalkulasi manual saya lupa mengurangi waktu 1 jam setiap pergantian hari sehingga outputnya kurang 1 jam dari target.. Jadi, kalkulasi mas @Caton yang sudah tepat.. :)

    Hanya saja ketika saya mencoba menginputkan beberapa contoh diatas (pada excel & VBA) outputnya di luar rentang waktu kerja yang ditentukan (07:00-18:00). Output yang tepat sebagaimana terlampir mas (kolom "Target").

    calc-auto-updt.png

    Untuk pengkondisiannya sendiri, sedikit saya jabarkan mas @Caton mudah-mudahan bisa membantu :

    1. Start Date: adalah tanggal & waktu awal pekerjaan dengan rentang waktu kerja 07:00-18:00
    2. Jika lewat dari rentang waktu tersebut maka akan dilanjutkan keesokan harinya dengan rentang waktu yang sama (07:00-18:00)
    3. Jika dalam waktu 2 hari tersebut masih belum memenuhi durasi kerja yang ditentukan, maka pekerjaan dilanjutkan lagi keesokan harinya (hari ke-3) tentunya dengan rentang waktu yang sama (07:00-18:00)
    4. Durasi: adalah waktu kerja dalam satuan jam:menit (hh:mm), karena saya menggunakan format "time" maka durasi hanya maksimal 23:59.
    5. End Date: adalah hasil penjumlahan dari Start Date (dd-mmmm-yyyy hh:mm) dan Durasi (hh:mm)

    sekali lagi saya ucapkan terima kasih atas bantuannya mas @Caton :D

  14. Caton

    3 Jul 2017 Terverifikasi Indonesia + 12.574 Poin

    Jika menggunakan formula dan kode VBA pada file sebelumnya, besar kemungkinan masih salah, oleh karena saat itu saya belum menemukan pola yang tepat (masih meraba-raba pola kalkulasinya).

    Melihat penjelasan dari mas @Agust di atas, sepertinya sama dengan apa yang saya pahami saat melakukan perubahan pada macro yang saya buat terakhir (prosedur CalculateElapsed). Demikian juga saat saya buat kalkulasi manual dengan Excel, hasilnya sama dengan yang menggunakan kode VBA. Tentu saja tidak menutup kemungkinan masih terjadi kesalahan... :D Jadi silahkan dicoba dulu hasil coba-coba saya.

    Btw, untuk formulanya, saya rasa sulit untuk mentransformasikan kode VBA-nya ke dalam bentuk formula dikarenakan pada kode VBA tersebut dilakukan perulangan (looping) untuk menghitung hari dan waktunya. Mungkin nanti atau ada yang bisa melakukannya... :D

  15. Caton

    3 Jul 2017 Terverifikasi Indonesia + 12.574 Poin

    Maaf lupa... ada yang ingin saya pastikan. Dari hasil kalkulasi menggunakan UDF (macro/VBA) pada kolom CalculateElapsed ada yang berbeda dengan kolom Target, yakni untuk data tanggal 23/03/2017 12:30:00, durasi 16:15:00, hasil yang benar apakah 24/03/2017 17:45:00 atau 25/03/2017 08:45:00?

    calc-auto-2.png

  16. @Caton Maaf lupa... ada yang ingin saya pastikan. Dari hasil kalkulasi menggunakan UDF (macro/VBA) pada kolom CalculateElapsed ada yang berbeda dengan kolom Target, yakni untuk data tanggal 23/03/2017 12:30:00, durasi 16:15:00, hasil yang benar apakah 24/03/2017 17:45:00 atau 25/03/2017 08:45:00?

    Yang benar 25/03/2017 08:45:00 mas @Caton.. :)

    Oh iya mas, untuk versi VBA yang terakhir (Tes - Perhitungan End Date v3.xlsb) masih belum fix ya? soalnya masih ada output diluar rentang waktu yang ditentukan (07:00-18:00), sebagaimana terlampir.

    Tes - Perhitungan End Date v3-not valid.png

  17. diditsatriyadi

    4 Jul 2017 Terverifikasi Surabaya + 1.103 Poin

    salam mas @agust, mas @caton, mas @Zolydck dan yg lain.. baru balik dari mudik nih.. hehe saya baca2 dulu ah :D

  18. wah akhirnya Mas @diditsatriyadi pulang mudik, bentar lagi selesai nih case..hehe

  19. Caton

    4 Jul 2017 Terverifikasi Indonesia + 12.574 Poin
    Di sunting tahun lalu oleh Caton

    Salam mas @Diditsatriyadi ... yang ditunggu akhirnya hadir juga :D Ditunggu solusinya mas...

    Untuk mas @Agust, maaf karena isi lampiran terakhir berantakan, soalnya dipake untuk percobaan ;) Oia,
    pada file yang saya lampirkan tersebut (Tes - Perhitungan End Date v3.xlsb), coba periksa di sheet Tes-3. Sengaja saya pertahankan kedua UDF (User Defined Function) yakni fungsi HitungWaktu dan yang hasil koreksi fungsi CalculateElapsed untuk dapat digunakan sebagai latihan dan perbandingan. Gunakan saja fungsi CalculateElapsed untuk kalkulasi selanjutnya. Dan pada sheet Tes-3 tersebut juga ada kalkulasi manual yang saya lakukan.

    @Caton ... untuk data tanggal 23/03/2017 12:30:00, durasi 16:15:00, hasil yang benar apakah 24/03/2017 17:45:00 atau 25/03/2017 08:45:00?

    Untuk yang satu ini, saya 'angkat tangan' dulu deh... hahaha... :D Benar-benar saya belum bisa menemukan bagaimana hasilnya bisa 25/03/2017 08:45:00. Saya penasaran saja... Bisa mas @Agust bantu jabarkan perhitungannya sehingga hasil bisa demikian?

  20. saya berusaha mencoba formula dan hasil akhir sama dengan mas @Caton .., kalo dihitung manual sudah betul, target dari Mas @agust yang salah..hehe

  21. Newer ›
 

atau Mendaftar untuk ikut berdiskusi!