Rumus Alokasi Berdasarkan Tanggal Start dan End

78 views
Skip to first unread message

Sony Ario

unread,
May 15, 2023, 6:40:38 AM5/15/23
to milis Belajar-Excel
Dear teams,

Saya sedang kesulitan untuk mengalokasikan sebuah angka bobot sebuah pekerjaan sesuai dengan range tanggal start dan end nya. Ketentuannya apabila pada tiap2 tanggal jatuhnya hari Sabtu atau Minggu maka bobot nya tidak dialokasikan. 

Dengan rumus yang sudah saya gunakan sepertinya masih kurang akurat.

Sebagai info selisih antara tanggal start dan end nya fix masing2 10 hari, dengan tanggal start dihitung sebagai hari pertama. Begitu juga bobot perhari nya.
Capture.PNG

Mungkin ada teman-teman disini yang bisa bantu ? File dan capture sesuai terlampir.

Terima kasih sebelumnya.

Salam.
Kasus.xlsx

Mr. Kid

unread,
May 15, 2023, 2:53:23 PM5/15/23
to milis Belajar-Excel
Hai Sony,

Kasusnya adalah memilih N hari kerja berturut-turut untuk diisi dengan nilai X, mulai dari tanggal T tertentu.
Biasanya, dalam mencari solusi dikasus semacam ini akan terjebak pada mencari tanggal selesainya lebih dulu.
Padahal tanggal selesai tergantung pada jumlah hari libur yang ada disepanjang tanggal mulai dan seterusnya.

Solusi untuk kasus seperti ini, adalah mengisi nilai X mulai tanggal T dan seterusnya jika :
1. jumlah cacah hari yang terisi nilai X sebelumnya masih belum mencapai N, dan
2. tanggal tersebut adalah mulai tanggal T atau setelahnya, dan 
3. tanggal tersebut bukan hari libur (entah itu hari tertentu dalam sepekan [misal weekend, atau libur shift kerja di hari tertentu] atau hari libur nasional) 

Misal pada kasus ini, nilai X adalah suatu bilangan (bertipe numerik).
Series tanggal dimulai di kolom M dibaris 3 Excel (mulai di M3), data di baris 4 Excel.
Kriteria : (ingat, formula akan dipasang mulai M4 ke kolom berikutnya)
1.  jumlah cacah hari yang terisi nilai X sebelumnya masih belum mencapai N (misal N=10)
     count( $L4:L4 )    -> pakai count karena nilai X bertipe numerik, part ini adalah bagian 'jumlah cacah hari yang terisi nilai X sebelumnya'
     jika X bertipe teks (selain dari numerik, date, boolean), maka pakai countifs( $L4:L4 , X )    -> jika X adalah konstanta, pakai "X", selainnya tidak perlu pakai petik
     - jika kolom L berisi nilai bertipe numerik atau boolean, maka pakai perbandingan  :     > N     misal >10, menjadi   count( $L4:L4 )>10
     - jika kolom L berisi nilai bertipe teks, maka pakai perbandingan :  >=N
2.  tanggal tersebut adalah mulai tanggal T atau setelahnya
     M$3>=T
3.  tanggal tersebut bukan hari libur (entah itu hari tertentu dalam sepekan [misal weekend, atau libur shift kerja di hari tertentu] atau hari libur nasional)
     a. bukan libur tertentu yang rutin berupa weekend Sabtu atau Minggu
         weekday( M$3 , 2 )<6        -> opsi 2 artinya Sabtu hari ke-6 dan Minggu hari ke-7, maka hari kerja adalah <6
     b. bukan libur tertentu yang rutin, tetapi tidak pasti Sabtu atau Minggu, misal libur shift kerja hari Senin (hari ke-2, Minggu sebagai hari ke-1), Kamis (ke-5), Sabtu (ke-7)
         iserror( match( weekday( M$3 , 1 ) , { 2 , 5 , 7 } , 0 ) )
     c. bukan libur nasional yang ada daftarnya di suatu range libur nasional di A2:A31
         countifs( A$2:A$31 , M$3 )=0

Untuk susunan IF-nya, bisa bervariasi. Nilai hasil formula hasil kondisi TRUE atau FALSE dengan cara berikut :
a. jika X bertipe teks, maka untuk kondisi yang bernilai TRUE akan diisi nilai X, dan kondisi FALSE diisi nilai bertipe numerik (bilangan) yang umumnya adalah 0 agar mudah di-format cells
b. jika X bertipe numerik atau boolean atau date, maka untuk kondisi yang bernilai TRUE akan diisi nilai X, dan kondisi FALSE diisi nilai bertipe teks
Kasus ini menggunakan poin b dan salah satu varian susunan IF-nya adalah seperti file terlampir.

Setelah didapatkan cells yang sudah dipasangi nilai X disetiap series tanggal mulai T dan seterusnya, barulah dicari tanggal terakhir yang berisi nilai X.
a. jika X bertipe teks
    lookup( "zzz" , $M4:$X4 , $M$3:$X$3 )
b. jika X bertipe selain teks (numerik, date, boolean)
    lookup( 9^9 , $M4:$X4 , $M$3:$X$3 )

Regards,
Kid




--
You received this message because you are subscribed to the Google Groups "milis Belajar-Excel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to milis-belajar-e...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/milis-belajar-excel/CAB_Y-mDdVzG%3DrKkvCyG5tdjgxQ08F_vadaV-kMTAXescXF3fnA%40mail.gmail.com.
re-Kasus.xlsx
Reply all
Reply to author
Forward
0 new messages