Formula Excel: Senaraikan cuti antara dua tarikh -

Isi kandungan

Formula generik

(=TEXTJOIN(", ",TRUE,IF(dates>=start,IF(dates<=end,holidays,""),"")))

Ringkasan

Untuk menyenaraikan percutian yang berlaku antara dua tarikh, anda boleh menggunakan formula berdasarkan fungsi TEXTJOIN dan IF.

Dalam contoh yang ditunjukkan, formula dalam F8 adalah:

(=TEXTJOIN(", ",TRUE,IF(B4:B12>=F5,IF(B4:B12<=F6,C4:C12,""),"")))

Ini adalah formula larik dan mesti dimasukkan dengan kawalan + shift + enter.

Penjelasan

Pada tahap tinggi, formula ini menggunakan fungsi IF bersarang untuk mengembalikan pelbagai percutian antara dua tarikh. Array ini kemudian diproses oleh fungsi TEXTJOIN, yang mengubah array menjadi teks menggunakan koma sebagai pembatas.

Bekerja dari dalam ke luar, kami menghasilkan pelbagai percutian yang sesuai dengan menggunakan IF bersarang:

IF(B4:B12>=F5,IF(B4:B12<=F6,C4:C12,""),"")

Sekiranya tarikh di B4: B12 lebih besar daripada atau sama dengan tarikh mula di F5, dan jika tarikh di B4: B12 kurang dari atau sama dengan tarikh akhir di F6, maka JIKA mengembalikan pelbagai hari cuti. Dalam contoh yang ditunjukkan, senarai seperti ini:

(""; ""; "Hari Presiden"; "Hari Peringatan"; ""; ""; ""; ""; "")

Susunan ini kemudian dihantar ke fungsi TEXTJOIN sebagai argumen text1 , di mana pembatas ditetapkan ke "," dan ign_empty adalah BENAR. Fungsi TEXT JOIN memproses item dalam array dan mengembalikan rentetan di mana setiap item yang tidak kosong dipisahkan oleh ruang tambah koma.

Catatan: fungsi TEXTJOIN adalah fungsi baru yang terdapat di Office 365 dan Excel 2019.

Artikel menarik...