Jakiej formuły Excel mogę użyć do obliczenia 2. poniedziałku danego miesiąca?

11

Jakiej formuły Excel mogę użyć do obliczenia drugiego poniedziałku danego miesiąca?

Możesz założyć, że mam komórkę zawierającą pierwszy dzień miesiąca do pracy.

Czy w interesie innych użytkowników możesz również wyjaśnić, jak zmienić formułę, aby uzyskać także pierwszy, trzeci lub czwarty poniedziałek miesiąca, a także inne dni tygodnia. np. trzeci piątek poniedziałku ...

Wysoce nieregularne
źródło
Chciałem, aby wzór obliczył drugą środę bieżącego miesiąca i roku, aby automatycznie dodać datę spotkania do arkusza logowania na comiesięczne spotkanie. Stworzyłem poniższy wzór. =DATE(YEAR(NOW()),MONTH(NOW()),1+7*2)-WEEKDAY(DATE(YEAR(NOW()),MONTH(NOW()),8-4))

Odpowiedzi:

18

Oto coś, co znalazłem dzięki szybkiemu wyszukiwaniu:

Zasadniczo możesz uzyskać n-ty x dzień miesiąca za pomocą tej formuły

=DATE(B2,A2,1+7*n)-WEEKDAY(DATE(B2,A2,8-xday)) 

gdzie rok jest w B2, a miesiąc (jako liczba od 1 do 12) jest w A2, a gdzie xday to liczba reprezentująca dzień tygodnia (1 = niedziela do 7 = sobota), więc w pierwszą sobotę staje się

=DATE(B2,A2,1+7*1)-WEEKDAY(DATE(B2,A2,8-7)) 

lub na czwarty czwartek

=DATE(B2,A2,1+7*4)-WEEKDAY(DATE(B2,A2,8-5)) 

Więc, jeśli mam to właściwie czytanie, 2 nd poniedziałek miesiąca jest

=DATE(B2,A2,1+7*2)-WEEKDAY(DATE(B2,A2,8-2)) 

( kredyt, gdy kredyt jest należny )

ale
źródło
1
O ile mi wiadomo, działa idealnie! Dziękuję bardzo
Wysoce nieregularny
0

= JEŻELI ((WEEKDAY (A1)> 3), (A1 + (17-WEEKDAY (A1))), (A1 + (10-WEEKDAY (A1))))

A1 to pierwszy dzień miesiąca

David
źródło
Czy możesz to bardziej wyjaśnić?
yass
Nie potrzeba żadnego wyjaśnienia - to zupełnie nie działa !
robinCTS,
0

Nie mogłem też tego poprawnie uruchomić. Wymyśliłem bardzo skomplikowany (mój idiom) sposób, który wydaje się działać.

A2 = miesiąc
B2 = rok
C2 = dzień tygodnia (1–7, 1 = niedziela)
D2 = „liczba” (3 = trzeci dzień itd.)

SO 2. poniedziałek będzie A2 = bieżący miesiąc, B2 = bieżący rok, C2 = 2 (dla poniedziałku) i D2 = 2 (dla drugiego poniedziałku)

F2 = =IF(MONTH(IF((WEEKDAY(VALUE(($A2&"/01/"&$B2))))=$C2,(VALUE(($A2&"/01/"&$B2)))+(($D2*7)-7),IF((WEEKDAY(VALUE(($A2&"/01/"&$B2))))<$C2,((VALUE(($A2&"/01/"&$B2)))+($C2-(WEEKDAY(VALUE(($A2&"/01/"&$B2)))))+(($D2*7)-7)),(VALUE(($A2&"/01/"&$B2)))+($C2-(WEEKDAY(VALUE(($A2&"/01/"&$B2)))))+7+(($D2*7)-7))))=A2,IF((WEEKDAY(VALUE(($A2&"/01/"&$B2))))=$C2,(VALUE(($A2&"/01/"&$B2)))+(($D2*7)-7),IF((WEEKDAY(VALUE(($A2&"/01/"&$B2))))<$C2,((VALUE(($A2&"/01/"&$B2)))+($C2-(WEEKDAY(VALUE(($A2&"/01/"&$B2)))))+(($D2*7)-7)),(VALUE(($A2&"/01/"&$B2)))+($C2-(WEEKDAY(VALUE(($A2&"/01/"&$B2)))))+7+(($D2*7)-7))),"error")

Jestem pewien, że istnieje o wiele czystszy sposób na zrobienie tego (już zauważyłem, że jeśli odwrócę jedną z moich IF, mogę wyeliminować replikację), a większość powtarzanych formuł można wyciągnąć do oddzielnych komórek, aby formuła końcowa była czystsza . Ale nie miałem okazji zbadać, jakie inne formuły mogą być dostępne, więc zostawiam to na razie. Zrobiłem też jeszcze brzydszą wersję ze sprawdzaniem błędów i nieco ładniejszymi wynikami. Ale jest zbyt skomplikowane, aby opublikować tutaj.

Scott Stork
źródło