Я не мог заставить это работать правильно также. Я придумал очень сложный (мой идиома) способ, который, кажется, работает.
A2 = месяц
B2 = год
C2 = день недели (1 - 7, 1 = воскресенье)
D2 = "число" (3 = 3-й день и т. Д.)
SO 2-го понедельника будет A2 = текущий месяц, B2 = текущий год, C2 = 2 (для понедельника) и D2 = 2 (для 2-го понедельника)
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")
Я уверен, что есть намного более чистый способ сделать это (уже заметил, что если я переверну один из своих IF, я смогу устранить некоторую репликацию), плюс большинство повторяющихся формул может быть извлечено в отдельные ячейки, чтобы сделать конечную формулу более чистой. , Но у меня не было возможности исследовать, какие другие формулы могут быть доступны, поэтому я оставляю это как есть на данный момент. Я также сделал еще более уродливую версию с проверкой ошибок и немного более хорошими результатами. Но его слишком сложно разместить здесь.
=DATE(YEAR(NOW()),MONTH(NOW()),1+7*2)-WEEKDAY(DATE(YEAR(NOW()),MONTH(NOW()),8-4))