Próbuję napisać formułę, aby znaleźć ostatnią środę każdego miesiąca roku. Potrzebuję również ostatniego piątku. Znajduję sposoby, aby zdobyć pierwszą środę miesiąca i próbowałem modyfikować bez powodzenia
microsoft-excel
date-time
Scott
źródło
źródło
Odpowiedzi:
Jeśli miesiąc jest w B1, a rok w B2, spróbuj w ostatnią środę:
=DATE(B2;B1+1;1)-1-MOD(WEEKDAY(DATE(B2;B1+1;1)-1)+3;7)
a na ostatni piątek:=DATE(B2;B1+1;1)-1-MOD(WEEKDAY(DATE(B2;B1+1;1)-1)+1;7)
Dzień tygodnia podaje numer dnia tygodnia.
MOD
Przy użyciu 7 podaje liczbę dni, które należy odjąć od ostatniego dnia miesiąca. Aby znaleźć ostatni dzień miesiąca, użyłemDATE
przez pierwszy następny miesiąc (dodaj 1 do miesiąca), a następnie odejmij 1 dzień.źródło
MOD
funkcja - możesz użyć tej formuły dla ostatniego śr=DATE(B2;B1+1;1)-WEEKDAY(DATE(B2;B1+1;1)-4)
- zobacz moją odpowiedźWORKDAY.INTL
formuła jest bardziej zwięzła i lepsza niż moja.Jaki jest twój wkład?
Jeśli masz jakąkolwiek datę w A2, ta formuła znajdzie ostatnią środę tego miesiąca
=EOMONTH(A2,0)+1-WEEKDAY(EOMONTH(A2,0)+1-4)
Formatowanie komórki wynikowej w wymaganym formacie daty
zmień 4 na końcu na inne dni, 1 na niedzielę do 7 na sobotę
W programie Excel 2010 lub nowszym można użyć
WORKDAY.INTL
funkcja, aby uzyskać taki sam wynik, np.=WORKDAY.INTL(EOMONTH(A2,0)+1,-1,"1101111")
Gdzie „1101111” oznacza środę, zmień pozycję 0, aby uzyskać inne dni, np. Poniedziałek to „0111111”, wtorek to „1011111”
EOMONTH+1
znajduje pierwszy dzień następnego miesiącaWORKDAY.INTL
daje pierwszą środę przed tą datą, tj. ostatni miesiącMożesz dostosować je zarówno do pracy z różnymi wejściami, np. Jeśli masz miesiąc i rok następnie znajdź ostatnią środę tego miesiąca za pomocą:
=WORKDAY.INTL(DATE(year,month+1,1),-1,"1101111")
źródło