Excel-formel: Hent sidste hverdag i måned -

Indholdsfortegnelse

Generisk formel

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

Resumé

For at få den sidste hverdag i en måned (dvs. den sidste lørdag, den sidste fredag, den sidste mandag osv.) Kan du bruge en formel baseret på funktionerne EOMONTH og WEEKDAY.

I det viste eksempel er formlen i D5:

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

Forklaring

For det første bestemmer denne formel den første dag i den næste måned * efter * en given dato. Det gør dette ved at bruge EOMONTH for at få den sidste dag i måneden og derefter tilføje en dag:

=EOMONTH(B5,0)+1

Derefter beregner formlen antallet af dage, der kræves for at "rulle tilbage" til den sidst anmodede hverdag i måneden forud (dvs. måneden for den oprindelige dato):

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

Inde i WEEKDAY bruges EOMONTH igen til at få den første dag i den næste måned. Fra denne dato trækkes værdien for ugedag, og resultatet tilføres WEEKDAY, som returnerer antallet af dage, der skal rulles tilbage.

Til sidst trækkes tilbagevendelsesdagene fra den første dag i den næste måned, hvilket giver det endelige resultat.

Andre hverdage

I den generelle form af formlen øverst på siden forkortes ugedag til "dow". Dette er et tal mellem 1 (søndag) og 7 (lørdag), som kan ændres for at få en anden ugedag. For eksempel for at få den sidste torsdag i en måned skal du indstille dow til 5.

Bemærk: Jeg løb ind i denne formel i et svar på MrExcel forum af Barry Houdini.

Gode ​​links

Barry Houdinis svar på MrExcel forum

Interessante artikler...