![](https://cdn.wiki-base.com/8988971/excel_formula_get_last_weekday_in_month__2.png.webp)
Formula umum
=EOMONTH(date,0)+1-WEEKDAY(EOMONTH(date,0)+1-dow)
Ringkasan
Untuk mendapatkan hari kerja terakhir dalam satu bulan (mis. Sabtu terakhir, Jumat terakhir, Senin terakhir, dll) Anda dapat menggunakan rumus berdasarkan fungsi EOMONTH dan WEEKDAY.
Dalam contoh yang ditampilkan, rumus di D5 adalah:
=EOMONTH(B5,0)+1-WEEKDAY(EOMONTH(B5,0)+1-C5)
Penjelasan
Pertama, rumus ini menentukan hari pertama bulan berikutnya * setelah * tanggal tertentu. Ini melakukan ini saya menggunakan EOMONTH untuk mendapatkan hari terakhir bulan itu, lalu menambahkan satu hari:
=EOMONTH(B5,0)+1
Selanjutnya, rumus menghitung jumlah hari yang diperlukan untuk "memutar kembali" ke hari kerja terakhir yang diminta di bulan sebelumnya (yaitu bulan dari tanggal asli):
WEEKDAY(EOMONTH(B5,0)+1-C5)
Dalam WEEKDAY, EOMONTH kembali digunakan untuk mendapatkan hari pertama di bulan berikutnya. Mulai tanggal ini, nilai hari dalam seminggu dikurangi, dan hasilnya dimasukkan ke dalam WEEKDAY, yang mengembalikan jumlah hari untuk melakukan rollback.
Terakhir, hari mundur dikurangi dari hari pertama bulan berikutnya, yang menghasilkan hasil akhir.
Hari kerja lainnya
Dalam bentuk umum rumus di bagian atas halaman, hari dalam seminggu disingkat "dow". Ini adalah angka antara 1 (Minggu) dan 7 (Sabtu) yang dapat diubah untuk mendapatkan hari lain dalam seminggu. Misalnya, untuk mendapatkan hari Kamis terakhir dalam sebulan, setel dow ke 5.
Catatan: Saya menemukan rumus ini dalam jawaban di forum MrExcel oleh Barry Houdini.