Saya sedang membangun rotasi jadwal di mana sekelompok karyawan adalah panggilan utama, panggilan sekunder, atau tidak panggilan sama sekali.

Saya memiliki baris di spreadsheet saya yang memvalidasi apakah primer dan sekunder tercakup pada hari tertentu, namun sekunder tidak digunakan pada akhir pekan. (P=primary, WP=Weekend Primary, HP=Holiday Primary, sama dengan secondary untuk tujuan pelacakan)

Pada contoh di bawah, baris 3 memuat tanggal, dimulai dari kolom B sebagai awal bulan, B3=5/1/2020 (yaitu hari Jumat), C3=5/2/2020 (Sabtu), dll

Ini berfungsi untuk Senin hingga Jumat: =IF(AND(SUM(COUNTIF(B5:B11,"p")+(COUNTIF(B5:B11,"wp"))+(COUNTIF(B5:B11,"Hp")))=1)*(SUM(COUNTIF(B5:B11,"s")+(COUNTIF(B5:B11,"ws"))+(COUNTIF(B5:B11,"Hs")))=1),"G","B")

Ini berfungsi untuk Akhir Pekan: =IF(AND(SUM(COUNTIF(C5:C11,"p")+(COUNTIF(C5:C11,"wp"))+(COUNTIF(C5:C11,"Hp")))=1),"G","B")

Masalahnya adalah setiap bulan ketika saya pergi untuk melakukan jadwal berikutnya, saya harus mengatur ulang formula di baris ini sehingga mereka masing-masing berada di bawah hari kerja atau akhir pekan. Saya ingin menggabungkan rumus ini menjadi =IF(Weekend,,2)<6,weekday formula, else weekend formula

Usahaku =IF((WEEKDAY,B$3,2)<6,IF(AND(SUM(COUNTIF(B5:B11,"p")+(COUNTIF(B5:B11,"wp"))+(COUNTIF(B5:B11,"Hp")))=1)*(SUM(COUNTIF(B5:B11,"s")+(COUNTIF(B5:B11,"ws"))+(COUNTIF(B5:B11,"Hs")))=1),"G","B"),IF(AND(SUM(COUNTIF(B5:B11,"p")+(COUNTIF(B5:B11,"wp"))+(COUNTIF(B5:B11,"Hp")))=1),"G","B"))

0
Scott McCune 19 April 2020, 22:53

1 menjawab

Jawaban Terbaik

Anda memiliki tanda kurung yang salah dalam kondisi IF.

Milikmu =IF((WEEKDAY,B$3,2)<6,

Benar =JIKA(WEEKDAY(B$3,2)<6,

Latar Belakang: Default untuk fungsi Weekday() mengembalikan 1 untuk Minggu, 2 untuk Senin, dst, dan 7 untuk Sabtu.

Jika Anda ingin menjalankan rumus jika hari kerja adalah Senin sampai Jumat, maka Anda perlu menguji apakah angka yang dikembalikan lebih besar dari 1 dan juga lebih kecil dari 7. Anda dapat membungkus fungsi AND() di sekitar dua fungsi Weekday() untuk kondisi IF seperti ini:

=if(AND(Weekday(A1)>1,Weekday(A1)<7)),WeekdayFormula,WeekendFormula)

Untuk menghindari konstruksi AND yang rumit untuk kondisi IF, Anda mungkin ingin menggunakan parameter 2 dalam fungsi Weekday(). Ini akan mengembalikan Senin sebagai 1 dan Minggu sebagai 7 dan yang perlu Anda periksa untuk hari kerja adalah jika jumlahnya lebih kecil dari 6. Seperti ini:

=if(Weekday(A1,2)<6,WeekdayFormua,WeekendFormula)
0
teylyn 19 April 2020, 20:27