Excel-formel: Få siste ukedag i måned -

Innholdsfortegnelse

Generisk formel

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

Sammendrag

For å få den siste ukedagen i en måned (dvs. den siste lørdagen, den siste fredagen, den siste mandagen osv.) Kan du bruke en formel basert på EOMONTH og WEEKDAY-funksjonene.

I eksemplet vist er formelen i D5:

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

Forklaring

Først bestemmer denne formelen den første dagen i neste måned * etter * en gitt dato. Det gjør dette ved å bruke EOMONTH for å få den siste dagen i måneden, og deretter legge til en dag:

=EOMONTH(B5,0)+1

Deretter beregner formelen antall dager som kreves for å "rulle tilbake" til den siste etterspurte ukedagen i måneden før (dvs. måneden til den opprinnelige datoen):

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

Inne i UKEDAG blir EOMONTH igjen brukt til å få den første dagen i neste måned. Fra denne datoen trekkes verdien for ukedag, og resultatet blir matet inn i UKEDAG, som returnerer antall dager å rulle tilbake.

Til slutt trekkes tilbakeføringsdagene fra den første dagen i neste måned, noe som gir det endelige resultatet.

Andre hverdager

I den generelle formen for formelen øverst på siden, forkortes ukedagen "dow". Dette er et tall mellom 1 (søndag) og 7 (lørdag) som kan endres for å få en annen ukedag. For eksempel, for å få den siste torsdagen i en måned, sett dow til 5.

Merk: Jeg løp inn i denne formelen i et svar på MrExcel-forumet av Barry Houdini.

Gode ​​lenker

Barry Houdinis svar på MrExcel forum

Interessante artikler...