![](https://cdn.wiki-base.com/8988971/excel_formula_get_last_weekday_in_month__2.png.webp)
Generička formula
=EOMONTH(date,0)+1-WEEKDAY(EOMONTH(date,0)+1-dow)
Sažetak
Da biste dobili zadnji radni dan u mjesecu (tj. Zadnju subotu, zadnji petak, zadnji ponedjeljak itd.), Možete koristiti formulu koja se temelji na funkcijama EOMONTH i WEEKDAY.
U prikazanom primjeru formula u D5 je:
=EOMONTH(B5,0)+1-WEEKDAY(EOMONTH(B5,0)+1-C5)
Obrazloženje
Prvo, ova formula određuje prvi dan sljedećeg mjeseca * nakon * određenog datuma. To čini mojim korištenjem EOMONTH za dobivanje zadnjeg dana u mjesecu, a zatim dodavanjem jednog dana:
=EOMONTH(B5,0)+1
Dalje, formula izračunava broj dana potrebnih za "vraćanje" na zadnji traženi radni dan u mjesecu prije (tj. U mjesecu izvornog datuma):
WEEKDAY(EOMONTH(B5,0)+1-C5)
Unutar WEEKDAY-a EOMONTH se ponovno koristi za dobivanje prvog dana sljedećeg mjeseca. Od ovog datuma oduzima se vrijednost za dan u tjednu, a rezultat se unosi u WEEKDAY, koji vraća broj dana za vraćanje.
Na kraju, dani za vraćanje oduzimaju se od prvog dana sljedećeg mjeseca, što daje konačni rezultat.
Ostali radni dani
U općenitom obliku formule na vrhu stranice, dan u tjednu skraćeno je "dow". To je broj između 1 (nedjelja) i 7 (subota) koji se može promijeniti da bi se dobio drugi dan u tjednu. Na primjer, da biste dobili zadnji četvrtak u mjesecu, postavite dow na 5.
Napomena: Na ovu formulu naletio sam u odgovoru na forumu MrExcel, Barryja Houdinija.