Я пытаюсь написать формулу, чтобы найти последнюю среду каждого месяца года. Мне также нужна последняя пятница. Я нахожу способы получить первую среду месяца и попытался изменить безуспешно

2 ответа2

2

Если месяц находится в B1, а год в B2, попробуйте в последнюю среду: =DATE(B2;B1+1;1)-1-MOD(WEEKDAY(DATE(B2;B1+1;1)-1)+3;7) и за последнюю пятницу: =DATE(B2;B1+1;1)-1-MOD(WEEKDAY(DATE(B2;B1+1;1)-1)+1;7)

Будний день дает вам номер дня недели. MOD с помощью 7 дает количество дней, которое необходимо вычесть из последнего дня месяца. Чтобы найти последний день месяца, я использовал DATE для первого числа следующего месяца (добавьте 1 к месяцу), а затем вычел 1 день.

0

Каков ваш вклад?

Если у вас есть какая-либо дата в A2, эта формула найдет последнюю среду этого месяца

=EOMONTH(A2,0)+1-WEEKDAY(EOMONTH(A2,0)+1-4)

Форматировать ячейку результата в необходимом формате даты

измените 4 в конце для других дней, от 1 для воскресенья до 7 для субботы

В Excel 2010 или более поздней версии вы можете использовать функцию WORKDAY.INTL чтобы получить тот же результат, например

=WORKDAY.INTL(EOMONTH(A2,0)+1,-1,"1101111")

Если "1101111" представляет среду, измените положение 0, чтобы получить другие дни, например, понедельник "0111111", вторник "1011111"

EOMONTH+1 находит первый день следующего месяца, затем WORKDAY.INTL дает вам первую среду перед этой датой, то есть последний месяц

Вы можете адаптировать их оба для работы с различными входными данными, например, если у вас есть месяц и год, найдите последнюю среду этого месяца с помощью:

=WORKDAY.INTL(DATE(year,month+1,1),-1,"1101111")

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .