Formula Excel: Dapatkan hari minggu terakhir dalam bulan -

Isi kandungan

Formula generik

=EOMONTH(date,0)+1-WEEKDAY(EOMONTH(date,0)+1-dow)

Ringkasan

Untuk mendapatkan hari minggu terakhir dalam sebulan (iaitu Sabtu terakhir, Jumaat terakhir, Isnin terakhir, dll) anda boleh menggunakan formula berdasarkan fungsi EOMONTH dan WEEKDAY.

Dalam contoh yang ditunjukkan, formula dalam D5 adalah:

=EOMONTH(B5,0)+1-WEEKDAY(EOMONTH(B5,0)+1-C5)

Penjelasan

Pertama, formula ini menentukan hari pertama bulan berikutnya * selepas * tarikh tertentu. Ia melakukan ini dengan menggunakan EOMONTH untuk mendapatkan hari terakhir bulan itu, kemudian menambahkan satu hari:

=EOMONTH(B5,0)+1

Seterusnya, formula menghitung jumlah hari yang diperlukan untuk "kembali" ke hari minggu terakhir yang diminta pada bulan sebelumnya (iaitu bulan tarikh asal):

WEEKDAY(EOMONTH(B5,0)+1-C5)

Di dalam WEEKDAY, EOMONTH sekali lagi digunakan untuk mendapatkan hari pertama bulan berikutnya. Dari tarikh ini, nilai untuk hari dalam seminggu dikurangkan, dan hasilnya dimasukkan ke WEEKDAY, yang mengembalikan bilangan hari untuk dilancarkan kembali.

Terakhir, hari pengembalian dikurangkan dari hari pertama bulan berikutnya, yang memberikan hasil akhir.

Hari minggu yang lain

Dalam bentuk umum formula di bahagian atas halaman, hari dalam seminggu disingkat "dow". Ini adalah nombor antara 1 (Ahad) dan 7 (Sabtu) yang boleh diubah untuk mendapatkan hari dalam seminggu yang berbeza. Contohnya, untuk mendapatkan hari Khamis terakhir dalam sebulan, tetapkan dow hingga 5.

Catatan: Saya menemui formula ini dalam jawapan di forum MrExcel oleh Barry Houdini.

Pautan yang baik

Jawapan Barry Houdini di forum MrExcel

Artikel menarik...