Potrzebuję formuły, aby znaleźć ostatni dzień miesiąca [zamknięte]

0

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

Scott
źródło
Tak? Co aktualnie używasz? Co nie powinno tego robić?
Raystafarian
Znalazłem formułę WYBIERZ, która obliczy pierwszą środę miesiąca, dodając ją do daty zakończenia poprzedniego miesiąca. Próbowałem zmodyfikować odejmowanie reklamy od daty zakończenia miesiąca, ale nie mogę uzyskać spójnego wyniku.
Scott
Sobota, 31 stycznia 2015 r. Piątek, 30 stycznia 2015 r. = WYBÓR A2 (TYDZIEŃ (A2,1), 7,6,5,4,3,2,1) Niedziela, 31 maja 2015 Poniedziałek, 25 maja 2015
Scott
1
Sprawdzić jak zadać pytanie i edytować Twój
Raystafarian
Edytuj formułę i przykładowe dane do swojego pytania.
Excellll

Odpowiedzi:

2

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łem DATE przez pierwszy następny miesiąc (dodaj 1 do miesiąca), a następnie odejmij 1 dzień.

agtoever
źródło
To działa dla mnie, ale tak naprawdę nie potrzebujesz 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ź
barry houdini
W rzeczy samej. Twój WORKDAY.INTL formuła jest bardziej zwięzła i lepsza niż moja.
agtoever
0

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ąca WORKDAY.INTL daje pierwszą środę przed tą datą, tj. ostatni miesiąc

Moż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")

barry houdini
źródło