Функция НОМНЕДЕЛИ / WEEKNUM возвращает номер недели в рамках года (напоминаем, что у нее, как и у ДЕНЬНЕД / WEEKDAY есть второй аргумент "Тип", и если его не указать, первым днем недели будет воскресенье; для привычной нам недели с понедельника нужно указать тип = 2)
Ну а для номера недели в рамках ее месяца вычтем номер недели, соответствующий дате ,номер недели для первого числа месяца:
=Номер недели для заданной даты - номер недели для начала месяца + 1
Начало месяца для заданной даты можно получить как:
=DATE(YEAR(дата); MONTH(дата); 1) или
=EOMONTH (дата; -1) + 1 Все вместе получится:
=WEEKNUM(дата; 2) - WEEKNUM(DATE(YEAR(дата); MONTH(дата); 1); 2) + 1(добавляем единицу, чтобы для первой недели месяца получался не 0, а 1)
