Formuła programu Excel: pobierz ostatni dzień tygodnia w miesiącu -

Spisie treści

Formuła ogólna

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

Podsumowanie

Aby uzyskać ostatni dzień tygodnia w miesiącu (tj. Ostatnią sobotę, ostatni piątek, ostatni poniedziałek itd.), Możesz użyć formuły opartej na funkcjach EOMONTH i WEEKDAY.

W przedstawionym przykładzie formuła w D5 to:

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

Wyjaśnienie

Najpierw ta formuła określa pierwszy dzień następnego miesiąca * po * danej dacie. Robi to, używając EOMONTH, aby uzyskać ostatni dzień miesiąca, a następnie dodając jeden dzień:

=EOMONTH(B5,0)+1

Następnie formuła oblicza liczbę dni wymaganych do „cofnięcia” do ostatniego żądanego dnia tygodnia w poprzednim miesiącu (tj. W miesiącu pierwotnej daty):

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

Wewnątrz WEEKDAY, EOMONTH jest ponownie używany, aby uzyskać pierwszy dzień następnego miesiąca. Od tej daty wartość dnia tygodnia jest odejmowana, a wynik jest wprowadzany do WEEKDAY, który zwraca liczbę dni do cofnięcia.

Na koniec dni wycofywania są odejmowane od pierwszego dnia następnego miesiąca, co daje ostateczny wynik.

Inne dni powszednie

W ogólnym wzorze u góry strony dzień tygodnia jest skracany jako „dow”. Jest to liczba od 1 (niedziela) do 7 (sobota), którą można zmienić, aby ustawić inny dzień tygodnia. Na przykład, aby uzyskać ostatni czwartek miesiąca, ustaw 5.

Uwaga: napotkałem tę formułę w odpowiedzi na forum MrExcel autorstwa Barry'ego Houdiniego.

Dobre linki

Odpowiedź Barry'ego Houdiniego na forum MrExcel

Interesujące artykuły...