Содержание:
Для решения некоторых задач при создании таблицы нужно в отдельной ячейке или внутри формулы указать количество дней в месяце, чтобы программа провела необходимые расчеты. В Экселе имеются инструменты, предназначенные для выполнения данной операции. Давайте рассмотрим различные способы применения данной возможности.
Вычисление количества дней
Вычислить количество дней в месяце в Экселе можно с помощью специальных операторов категории «Дата и время». Чтобы выяснить, какой именно вариант лучше всего применить, нужно, прежде всего, установить цели выполнения операции. В зависимости от этого результат вычисления может выводиться в отдельный элемент на листе, а может использоваться и внутри другой формулы.
Способ 1: комбинация операторов ДЕНЬ и КОНМЕСЯЦА
Наиболее простым способом решить данную задачу является комбинация операторов ДЕНЬ и КОНМЕСЯЦА.
Функция ДЕНЬ принадлежит к группе операторов «Дата и время». Она указывает на конкретное число от 1 до 31. В нашем случае задачей данного оператора будет указание последнего дня месяца при помощи встроенной функции в виде аргумента КОНМЕСЯЦА.
Синтаксис оператора ДЕНЬ следующий:
=ДЕНЬ(дата_в_числовом_формате)
То есть, единственным аргументом данной функции является «Дата в числовом формате». Его и будет задавать оператор КОНМЕСЯЦА. Нужно сказать, что дата в числовом формате отличается от привычного формата. Например, дата 04.05.2017 в числовом виде будет выглядеть, как 42859. Поэтому этот формат Эксель использует только для внутренних операций. Он редко применяется для отображения в ячейках
Оператор КОНМЕСЯЦА предназначен для того, чтобы указывать порядковый номер последнего дня месяца, который находится на заданное количество месяцев вперед или назад от указанной даты. Синтаксис функции таков:
=КОНМЕСЯЦА(нач_дата;число_месяцев)
Оператор «Начальная дата» содержит дату, от которой производится отсчет, или ссылку на ячейку, где она находится.
Оператор «Число месяцев» указывает на то количество месяцев, на которое следует производить отсчет от заданного числа.
Теперь давайте посмотрим, как это работает на конкретном примере. Для этого возьмем лист Excel, в одну из ячеек которого вписано определенное календарное число. Нужно при помощи указанного выше набора операторов определить, сколько дней в том месячном периоде, к которому это число относится.
- Выделяем ячейку на листе, в которую будет выводиться результат. Щелкаем по кнопке «Вставить функцию». Эта кнопка размещена слева от строки формул.
- Запускается окно Мастера функций. Переходим в раздел «Дата и время». Находим и выделяем запись «ДЕНЬ». Производим щелчок по кнопке «OK».
- Открывается окно аргументов оператора ДЕНЬ. Как видим, оно содержит всего одно поле – «Дата в числовом формате». Обычно тут устанавливают число или ссылку на ячейку, его содержащую, но у нас в данном поле будет находиться функция КОНМЕСЯЦА. Поэтому устанавливаем курсор в поле, а затем кликаем по пиктограмме в виде треугольника слева от строки формул. Открывается список недавно использованных операторов. Если вы в нем обнаружите наименование «КОНМЕСЯЦА», то сразу кликайте по нему для перехода в окно аргументов данной функции. Если же данного наименования вы не отыщите, то в таком случае щелкайте по позиции «Другие функции…».
- Снова запускается Мастер функций и опять мы перемещаемся в ту же группу операторов. Но на этот раз ищем наименование «КОНМЕСЯЦА». После выделения указанного названия щелкаем по кнопке «OK».
- Производится запуск окна аргументов оператора КОНМЕСЯЦА.
В первом его поле, называющемся «Начальная дата», нужно установить то число, которое находится у нас в отдельной ячейке. Именно количество дней в том периоде, к которому оно относится, мы и будем определять. Для того, чтобы установить адрес ячейки, ставим курсор в поле, а затем просто кликаем по ней на листе левой кнопкой мыши. Координаты тут же будут отображены в окошке.
В поле «Число месяцев» ставим значение «0», так как нам нужно определить продолжительность именно того периода, к которому относится указанное число.
После этого щелкаем по кнопке «OK».
- Как видим, после выполнения последнего действия количество дней в месяце, к которому относится выбранное число, отобразилась в ячейке на листе.
Общая формула у нас приняла следующий вид:
=ДЕНЬ(КОНМЕСЯЦА(B3;0))
В этой формуле переменным значением является только адрес ячейки (B3). Таким образом, если вы не хотите выполнять процедуру посредством Мастера функций, можно вставить данную формулу в любой элемент листа, просто заменив адрес ячейки, содержащей число, на тот, который актуален в конкретно вашем случае. Результат будет аналогичен.
Урок: Мастер функций в Экселе
Способ 2: автоматическое определение количества дней
Теперь давайте рассмотрим другую задачу. Требуется, чтобы количество дней выводилось не по заданному календарному числу, а по текущему. К тому же смена периодов производилась бы автоматически без участия пользователя. Хоть это и кажется странным, но данная задача легче предыдущей. Для её решения даже открывать Мастер функций не нужно, так как формула, выполняющая данную операцию, не содержит переменных значений или ссылок на ячейки. Вы просто можете вбить в ту ячейку листа, где хотите, чтобы отображался результат, следующую формулу без изменений:
=ДЕНЬ(КОНМЕСЯЦА(СЕГОДНЯ();0))
Встроенная функция СЕГОДНЯ, которую мы применили в данном случае, отображает сегодняшнее число и не имеет аргументов. Таким образом, у вас в ячейке постоянно будет отображаться количество дней в текущем месяце.
Способ 3: вычисление количества дней для использования в сложных формулах
В примерах выше мы показали, как выполнять вычисление количества дней в месяце по указанному календарному числу или автоматически по текущему месяцу с выводом результата в отдельную ячейку. Но нахождение данного значения может понадобиться и для вычисления других показателей. При этом расчет количества дней будет производиться внутри сложной формулы и не станет выводиться в отдельной ячейке. Посмотрим, как это сделать на примере.
Нам нужно сделать так, чтобы в ячейке отображалось то количество дней, которое осталось до конца текущего месяца. Как и в предыдущем способе, данный вариант действий не требует открытия Мастера функций. Вы можете просто вбить в ячейку следующее выражение:
=ДЕНЬ(КОНМЕСЯЦА(СЕГОДНЯ();0))-ДЕНЬ(СЕГОДНЯ())
После этого в указанной ячейке будет выводиться число дней до конца месяца. Каждый день результат будет автоматически обновляться, а с начала нового периода отсчет начнется заново. Получается своеобразный таймер обратного отсчета.
Как видим, указанная формула состоит из двух частей. Первая из них представляет собой уже знакомое нам выражение расчета числа дней в месяце:
=ДЕНЬ(КОНМЕСЯЦА(СЕГОДНЯ();0))
А вот во второй части производится вычитание из этого показателя сегодняшнего числа:
-ДЕНЬ(СЕГОДНЯ())
Таким образом, при выполнении данного расчета формула вычисления количества дней является составной частью более сложной формулы.
Способ 4: альтернативная формула
Но, к сожалению, у версий программы ранее Excel 2007 отсутствует оператор КОНМЕСЯЦА. Как же быть тем пользователям, которые применяют старые версии приложения? Для них такая возможность существует посредством другой формулы, которая более массивна, чем описываемая выше. Посмотрим, как рассчитать количество дней в месяце по заданному календарному числу с помощью этого варианта.
- Выделяем ячейку для вывода результата и переходим в окно аргументов оператора ДЕНЬ уже привычным для нас способом. Устанавливаем курсор в единственное поле этого окна и кликаем по перевернутому треугольнику слева от строки формул. Переходим в раздел «Другие функции…».
- В окне Мастера функций в группе «Дата и время» выделяем наименование «ДАТА» и жмем на кнопку «OK».
- Запускается окошко оператора ДАТА. Данная функция преобразует дату из обычного формата в числовое значение, которое и должен будет потом обработать оператор ДЕНЬ.
Открывшееся окно имеет три поля. В поле «День» можно сразу ввести число «1». Это будет неизменным действием для любой ситуации. А вот двумя другими полями придется заняться основательно.
Устанавливаем курсор в поле «Год». Далее переходим к выбору операторов через знакомый нам треугольник.
- Все в той же категории Мастера функций выделяем наименование «ГОД» и щелкаем по кнопке «OK».
- Запускается окно аргументов оператора ГОД. Он определяет год по указанному числу. В единственном поле окна «Дата в числовом формате» указываем ссылку на ячейку, содержащую исходную дату, для которой нужно определить количество дней. После этого не спешим щелкать по кнопке «OK», а кликаем по наименованию «ДАТА» в строке формул.
- Затем мы опять возвращается в окно аргументов ДАТА. Устанавливаем курсор в поле «Месяц» и переходим к выбору функций.
- В Мастере функций щелкаем по наименованию «МЕСЯЦ» и жмем на кнопку «OK».
- Запускается окно аргументов функции МЕСЯЦ. Её задачи схожи с предыдущим оператором, только она выводит значение номера месяца. В единственное поле данного окна устанавливаем ту же самую ссылку на исходное число. Затем в строке формул щелкаем по наименованию «ДЕНЬ».
- Возвращаемся в окно аргументов ДЕНЬ. Тут нам предстоит сделать всего один небольшой штрих. В единственное поле окна, в котором уже находятся данные, добавляем в конец формулы выражение «-1» без кавычек, а также ставим «+1» после оператора МЕСЯЦ. После этого кликаем по кнопке «OK».
- Как видим, в предварительно выделенной ячейке отобразилось количество дней в месяце, к которому принадлежит указанное число. Общая формула имеет такой вид:
=ДЕНЬ(ДАТА(ГОД(D3);МЕСЯЦ(D3)+1;1)-1)
Секрет этой формулы прост. Мы с помощью неё определяем дату первого дня следующего периода, а потом отнимаем от неё один день, получая количество дней в указанном месяце. Переменной величиной в этой формуле является ссылка на ячейку D3 в двух местах. Если её заменить на адрес той ячейки, в которой находится дата в вашем конкретном случае, то можно просто вбить данное выражение в любой элемент листа без помощи Мастера функций.
Урок: Функции даты и времени в Excel
Как видим, существует несколько вариантов узнать количество дней в месяце в Excel. Каким именно из них воспользоваться, зависит от конечной цели пользователя, а также от того, какой версией программы он пользуется.
Наш Telegram каналТолько полезная информация
В мае 31 день, а у вас в последнем способе 30 дней получилось
Добрый день, Геннадий. Там после функции МЕСЯЦ нужно «+1» поставить. Уже обновлено.
Скажите пожалуйста. Как в программе Excel определить новый период отпуска после выхода из отпуска по уходу за ребенком.