Месяц N-го воскресенья (Microsoft Excel)
Эрнесту нужна формула или макрос, чтобы сначала определить N-е воскресенье года (скажем, 23-е воскресенье года), а затем вернуть название месяца, в котором это воскресенье наступает. Он не понимает, как можно построить такую формулу или макрос.
Эту задачу можно выполнить с помощью макроса, но ее очень легко выполнить с помощью формулы, поэтому мы пойдем по этому пути. Поскольку в Excel для дат используются порядковые номера, очень легко выполнять вычисления, необходимые для определения таких вещей, как N-е воскресенье.
Уловка для определения правильной формулы состоит в том, чтобы вычислить последнее воскресенье прошлого года. (Да, в последнее воскресенье.) Это можно сделать любым количеством способов, но вот хороший метод, предполагающий, что нужный вам четырехзначный год хранится в ячейке A1:
=DATE(A1,1,1)-WEEKDAY(DATE(A1,1,1)-1)
Это работает, потому что функция WEEKDAY по умолчанию возвращает значение от 1 до 7 (с воскресенья по субботу). Скажем, например, что год в A1 — 2019. Это означает, что WEEKDAY вернет значение 3 для 1 января 2019 года, что означает, что он выпадает на вторник. Вычтите из этого 1, получив 2, которые затем вычтите из фактической даты 1 января. В результате получится дата последнего воскресенья 2018 года, то есть 30 декабря.
Имея эту дату на руках, все, что вам нужно сделать, это умножить число желаемого воскресенья (скажем, в ячейке B1) на 7. Добавьте его к дате, вычисленной выше, и вы получите дату N-го воскресенья в желаемый год:
=(DATE(A1,1,1)-WEEKDAY(DATE(A1,1,1)-1))+(B1*7)
На данный момент у вас есть два варианта. Во-первых, вы можете применить настраиваемый формат к ячейке, в которой находится приведенная выше формула. При использовании пользовательского формата «мммм» результат будет отображаться как полное название месяца. Я предпочитаю альтернативный вариант, заключающийся в заключении всей формулы в функцию ТЕКСТ следующим образом:
=TEXT((DATE(A1,1,1)-WEEKDAY(DATE(A1,1,1)-1))+(B1*7), "mmmm")
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (1564) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.