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