Я пытаюсь написать формулу, чтобы найти последнюю среду каждого месяца года. Мне также нужна последняя пятница. Я нахожу способы получить первую среду месяца и попытался изменить безуспешно
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 день.
Каков ваш вклад?
Если у вас есть какая-либо дата в 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")