Excel vzorec: Získajte posledný pracovný deň v mesiaci -

Obsah

Všeobecný vzorec

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

Zhrnutie

Ak chcete získať posledný pracovný deň v mesiaci (tj. Poslednú sobotu, posledný piatok, posledný pondelok atď.), Môžete použiť vzorec založený na funkciách EOMONTH a WEEKDAY.

V zobrazenom príklade je vzorec v D5:

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

Vysvetlenie

Po prvé, tento vzorec určuje prvý deň nasledujúceho mesiaca * po * danom dátume. Robí to pomocou príkazu EOMONTH na získanie posledného dňa v mesiaci a potom pridaním jedného dňa:

=EOMONTH(B5,0)+1

Ďalej vzorec počíta počet dní potrebných na „vrátenie sa“ k poslednému požadovanému všednému dňu v predchádzajúcom mesiaci (tj. Mesiac pôvodného dátumu):

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

V WEEKDAY sa EOMONTH opäť používa na získanie prvého dňa nasledujúceho mesiaca. Od tohto dátumu sa odpočíta hodnota pre deň v týždni a výsledok sa započíta do WEEKDAY, ktorý vráti počet dní na vrátenie späť.

Napokon sa dni vrátenia späť odpočítajú od prvého dňa nasledujúceho mesiaca, čo prinesie konečný výsledok.

Ostatné pracovné dni

Vo všeobecnej forme vzorca v hornej časti stránky je deň v týždni skrátený ako „dow“. Toto je číslo medzi 1 (nedeľa) a 7 (sobota), ktoré je možné zmeniť, aby ste získali iný deň v týždni. Ak chcete napríklad získať posledný štvrtok v mesiaci, nastavte dow na 5.

Poznámka: Na tento vzorec som narazil v odpovedi na fóre MrExcel od Barryho Houdiniho.

Dobré odkazy

Odpoveď Barryho Houdiniho na fóre MrExcel

Zaujímavé články...