Как функция ДЕНЬНЕД определяет конкретные даты в Excel
Данная статья содержит несколько полезных формул, возвращающих конкретную дату.
Определение дня в году
1 января — это первый день года, а 31 декабря — последний. А как насчет остальных дней, идущих между ними? Следующая формула возвращает день года для даты, хранящемся в ячейке A1: =A1-ДАТА(ГОД(A1);1;0) . Например, если ячейка A1 содержит дату 16 февраля 2010 года, формула возвращает 47, потому что эта дата является 47-м днем в году.
Следующая формула возвращает количество дней, оставшихся в году с момента определенной даты (предполагается, что она содержится в ячейке A1): =ДАТА(ГОД(A1);12;31) .
Определение дня недели
Если вам необходимо определить день недели для даты, функция ДЕНЬНЕД справится с этой задачей. Функция принимает в качестве аргумента дату и возвращает целое число от 1 до 7, соответствующее дню недели. Следующая формула, например, возвращает 6, потому что первый день 2010 года приходится на пятницу: =ДЕНЬНЕД(ДАТА(2010;1;1)) .
Функция ДЕНЬНЕД использует еще и необязательный второй аргумент, обозначающий систему нумерации дней для результата. Если вы укажете 2 в качестве второго аргумента, то функция вернет 1 для понедельника, 2 — для вторника и т. д. Если же вы укажете 3 в качестве второго аргумента, то функция вернет 0 для понедельника, 1 — для вторника и т. д.
Вы можете также определить день недели для ячейки, содержащей дату, применяя пользовательский числовой формат. Ячейка, использующая следующий формат, выводит день недели: ДДДД. Имейте в виду, что ячейка действительно содержит полную дату, а не только номер дня.
Определение даты последнего воскресенья
Формула в этом разделе возвращает последний указанный день. Вы можете использовать следующую формулу для получения даты прошлого воскресенья. Если текущий день — воскресенье, то формула возвращает текущую дату. Результатом будет серийный номер даты (вам нужно отформатировать ячейку для отображения читабельной даты): =СЕГОДНЯ()-ОСТАТ(СЕГОДНЯ()-1;7) .
Чтобы изменить эту формулу для нахождения даты другого дня, а не воскресенья, поменяйте 1 на другое число в диапазоне от 2 (понедельник) до 7 (суббота).
Определение дня недели после даты
Следующая формула возвращает указанный день недели, который наступает после определенной даты. Например, вы можете применять эту формулу для определения даты первой пятницы после 4 июля 2010 года. Формула предполагает, что ячейка А1 содержит дату, а ячейка А2 — число от 1 до 7 (1 соответствует воскресенью, 2 — понедельнику и т. д.): =A1+A2-ДЕНЬНЕД(A1)+(А2 .
Если ячейка А1 содержит 4 июля. 2010, а ячейка А2 содержит б (что обозначает пятницу), то формула возвращает 9 июля, 2010. Это первая пятница после 4 июля 2010 года (дня, который приходится на воскресенье).
Нахождение n-го определенного дня недели в месяце
Вам может понадобиться формула для нахождения даты определенного по счету дня недели. Предположим, что день выплаты зарплаты в вашей компании приходится на вторую пятницу каждого месяца и вам нужно определить эти дни выплат для каждого месяца года. Следующая формула выполнит требуемый расчет: =ДАТА(А1;А2;1)+А3-ДЕНЬНЕД(ДАТА(А1;А2;1))+(А4-(А3>=ДЕНЬНЕД(ДАТА(А1;А2;1))))*7
Эта формула предполагает, что:
- ячейка А1 содержит год;
- ячейка А2 содержит месяц;
- ячейка A3 содержит номер дня (1 — воскресенье, 2 — понедельник и т. д.);
- ячейка А4 содержит число — например 2, указывающее второе появление дня недели, заданного в ячейке A3.
При использовании этой формулы для определения даты второй пятницы в июне 2010 года результатом будет 11 июня, 2010.
Определение последнего дня месяца
Чтобы определить дату, которой соответствует последний день месяца, вы можете использовать функцию ДАТА. Однако вам нужно увеличивать месяц на 1 и указывать в качестве значения дня 0. Другими словами, «0-й» день следующего месяца — это последний день текущего месяца.
Следующая формула предполагает, что дата хранится в ячейке А1. Формула возвращает дату, которой соответствует последний день месяца: =ДАТА(ГОД(А1);МЕСЯЦ(А1)+1;0) .
Вы можете модифицировать эту формулу, чтобы определить, сколько дней включает в себя указанный месяц. Следующая формула возвращает целое число, которое соответствует количеству дней в месяце для даты из ячейки А1 (убедитесь, что вы отформатировали ячейку как число, а не как дату): =ДЕНЬ(ДАТА(ГОД(А1);МЕСЯЦ(А1)+1;0))
Определение квартала даты
Для финансовых отчетов может оказаться полезным представление информации по кварталам. Следующая формула возвращает целое число от 1 до 4, которое соответствует календарному кварталу для даты в ячейке А1: =ОКРУГЛ ВВЕРХ(МЕСЯЦ(A1)/3;0) . Эта формула делит номер месяца на 3, а затем округляет результат.
голоса
Рейтинг статьи
Как преобразовать дни в месяцы в Excel
Вы можете использовать следующую формулу в Excel для преобразования дней в месяцы:
Эта формула вычисляет количество месяцев между ячейкой B1 (дата окончания) и ячейкой A1 (дата начала).
В следующем примере показано, как использовать эту формулу на практике.
Пример: преобразование дней в месяцы в Excel
Предположим, у нас есть следующий список дат начала и окончания в Excel:
Мы могли бы использовать следующую формулу для расчета количества дней между каждой датой начала и окончания:
Мы можем ввести эту формулу в ячейку C2 , а затем скопировать и вставить ее в каждую оставшуюся ячейку в столбце C:
Столбец C показывает разницу (в днях) между каждой датой начала и окончания.
Однако вместо этого мы могли бы использовать следующую формулу для расчета разницы между каждой датой начала и окончания в месяцах:
Мы можем ввести эту формулу в ячейку C2 , а затем скопировать и вставить ее в каждую оставшуюся ячейку в столбце C:
Столбец C показывает количество месяцев (включая десятичные разряды) между каждой датой начала и окончания.
- Между 01.01.2020 и 18.01.2020 0,5589 месяца.
- Между 01.02.2020 и 05.04.2020 2,1041 месяца.
- Между 01.03.2020 и 06.03.2020 0,1644 месяца.
Обратите внимание, что вместо этого вы можете использовать эту формулу для расчета количества месяцев между двумя датами, если вы хотите предположить, что 30 дней представляют собой средний месяц:
Однако это не так точно, как использование (365/12) в качестве знаменателя в формуле.
Функция РАЗНДАТ – разность двух дат в днях, месяцах и годах
Как получить последний день месяца по дате в Excel
Поскольку каждый из месяцев года имеет определенное число дней (30 или 31), данная функция полезна для быстрого нахождения номера числа любого месяца. Единственным исключением является февраль – 28 дней. Однако, раз в 4 года этот месяц имеет 29 дней (если год високосный).
Пример 1. Вывести количество дней в каждом месяце 2019 года в отдельный столбец таблицы.
Вид таблицы данных:
Для расчета числа дней используем следующую формулу массива, предварительно выделив ячейки B2:B13:
В качестве даты как точки отсчета была указана 01.01.2019 (первый день текущего года). Для расчета числа дней первого и последующих месяцев была вычтена 1 (если второй аргумент функции КОНМЕСЯЦА принимает значение 0, определяется число дней текущего месяца). Функция ТЕКСТ используется для преобразования полученного значения и вывода только числа дней (формат «ДД»).
Важный момент! Чтобы выполнять арифметические операции со значениями, которые возвращает данная формула следует использовать функцию ЗНАЧЕН. Она позволит преобразовать текст в числовое значение:
На этот раз мы использовали формулу массива, которую следует вводить через комбинацию клавиш CTRL+SHIFT+Enter для подверженная. Таким образом перед суммированием функцией СУММ значение из каждой ячейки преобразуется в число с помощью функции ЗНАЧЕН.
Использование функции ЧИСТРАБДНИ.МЕЖД
В качестве второго примера разберем почти такую же функцию, но с дополнительной настройкой. Она подразумевает ручной выбор выходных дней, если ваша компания работает не по стандартному графику 5/2 с нерабочими субботой и воскресеньем. Давайте разберемся с тем, как создается формула расчета в этом случае.
-
Вместо описанной выше функции на этот раз объявите ЧИСТРАБДНИ.МЕЖД.
-
Я перейду в окно аргументов, чтобы наглядно рассказать о синтаксисе. В первых двух полях вы указываете дату начала и конца диапазона, как это было показано ранее.
-
Выходные указываются как число, где 1 – суббота, воскресенье, 2 – воскресенье, понедельник, 3 – понедельник, вторник и так далее. Об этих числах я еще расскажу позже.
-
Праздники обозначаются точно так же, как и в предыдущем случае.
-
В результате у вас получится похожая формула, но с одним изменением, которое заключается в самостоятельном выборе выходных дней.
Теперь поговорим непосредственно о тех числах, которые указываются как выходные. У Microsoft есть своя система распределения, первую часть которой я уже описал в одном из предыдущих шагов. Можно указать как выходные два дня подряд или только определенный день недели. Полный список числовых обозначений вы найдете на официальной странице поддержки Microsoft.
Как видите, ничего трудного в расчетах рабочих дней из промежутка дат нет, ведь для этого в Экселе есть две подходящие функции с простым синтаксисом. Надеюсь, моя статья помогла вам разобраться в этом, и теперь в вашем арсенале есть еще одна формула, которую можно свободно использовать при работе с электронными таблицами.
Метод 1: использование формулы вычитания
Начнем, пожалуй, с самого простого способа – вычитания двух дат, представленного в виде обычной формулы.
Вносим две даты, между которыми будем определять разницу в днях, в две разные ячейки отформатированного ранее диапазона.
Теперь выделим ячейку, в которой планируем отобразить результат нашего вычисления.ВАЖНО: Количество дней обозначается простым целым числом, следовательно, ячейка для его вывода должна иметь отличный от “Дата” формат, а именно – “Общий“. В противном случае полученный результат будет отображаться в формате даты, что не позволит оценить корректность проведенных вычислений
Для определения текущего формата ячейки достаточно взглянуть на соответствующее поле, расположенное в разделе инструментов “Число” на ленте вкладки “Главная“.
Определение рабочих и выходных дней по формуле ДЕНЬНЕД
Пример 2. Программный продукт считывает данные из электронной таблицы Excel и использует их в своих расчетах. Одна из ячеек содержит данные в формате даты, соответствующей дате получения посылки. Необходимо определить, соответствует ли указанная дата рабочему дню недели (с понедельника по пятницу) и вернуть логическое значение «true» или «false» (если день выходной) для дальнейшей обработки программой.
Исходная таблица выглядит так:
Для определения дня недели используем ДЕНЬ НЕДЕЛИ, первый аргумент — данные из ячейки «Дата прибытия», а второй аргумент — 2 (отсчет дней недели начинается с единицы, что соответствует понедельнику). Для решения используем следующую функцию:
Функция ЕСЛИ проверяет условие: находится ли значение, полученное в результате работы функции ДЕНЬНЕД, в диапазоне от 1 до 5 и возвращает соответствующий результат (истина или ложь).
Рассчитаем значения для остальных полей данных:
Как видите, все даты являются рабочими днями недели.
Расчет количества дней
Прежде, чем начать работать с датами, нужно отформатировать ячейки под данный формат. В большинстве случаев, при введении комплекта символов, похожего на дату, ячейка сама переформатируется. Но лучше все-таки сделать это вручную, чтобы подстраховать себя от неожиданностей.
- Выделяем пространство листа, на котором вы планируете производить вычисления. Кликаем правой кнопкой мыши по выделению. Активируется контекстное меню. В нём выбираем пункт «Формат ячейки…». Как вариант, можно набрать на клавиатуре сочетание клавиш Ctrl+1.
Теперь все данные, которые будут содержаться в выделенных ячейках, программа будет распознавать как дату.
Способ 1: простое вычисление
Проще всего вычислить разность дней между датами с помощью обычной формулы.
- Записываем в отдельные ячейки отформатированного диапазона даты, разность между которыми нужно вычислить.
Способ 2: функция РАЗНДАТ
Для вычисления разности в датах можно также применять специальную функцию РАЗНДАТ. Проблема в том, что в списке Мастера функций её нет, поэтому придется вводить формулу вручную. Её синтаксис выглядит следующим образом:
Так как нам нужно рассчитать разницу в количестве дней между датами, то наиболее оптимальным решением будет применение последнего варианта.
Также нужно обратить внимание, что, в отличие от способа с применением простой формулы, описанного выше, при использовании этой функции на первом месте должна находиться начальная дата, а конечная – на втором. Иначе расчеты будут некорректными
- Записываем формулу в выбранную ячейку, согласно её синтаксису, описанному выше, и первичным данным в виде начальной и конечной даты.
Способ 3: вычисление количеств рабочих дней
В Экселе также имеется возможность произвести вычисление рабочих дней между двумя датами, то есть, исключая выходные и праздничные. Для этого используется функция ЧИСТРАБНИ. В отличие от предыдущего оператора, она присутствует в списке Мастера функций. Синтаксис у этой функции следующий:
В этой функции основные аргументы, такие же, как и у оператора РАЗНДАТ – начальная и конечная дата. Кроме того, имеется необязательный аргумент «Праздники».
Вместо него следует подставлять даты праздничных нерабочих дней, если таковые имеются за охватываемый период. Функция производит расчет всех дней указанного диапазона, исключая субботы, воскресенья, а также те дни, которые добавлены пользователем в аргумент «Праздники».
- Выделяем ячейку, в которой будет находиться итог вычисления. Кликаем по кнопке «Вставить функцию».
После указанных выше манипуляций в предварительно выделенной ячейке отобразится количество рабочих дней за указанный период.
Как видим, программа Excel предоставляет своим пользователем довольно удобный инструментарий для расчета количества дней между двумя датами. При этом, если нужно рассчитать просто разницу в днях, то более оптимальным вариантом будет применение простой формулы вычитания, а не использование функции РАЗНДАТ. А вот если требуется, например, подсчитать количество рабочих дней, то тут на помощь придет функция ЧИСТРАБДНИ. То есть, как всегда, пользователю следует определиться с инструментом выполнения после того, как он поставил конкретную задачу.
Чтобы рассчитать и отобразить время между датами в днях, месяцах и годах, вы можете использовать формулу, основанную на функции РАЗНДАТ.
В показанном примере формула в D5:
Функция РАЗНДАТ предназначена для вычисления разницы между датами в годах, месяцах и днях. Доступны несколько вариантов (например, время в месяцах, время в месяцах без учета дней и лет и т. д.), И они устанавливаются аргументом «единица» в функции.
В показанном примере мы вычисляем отдельно годы, месяцы и дни, затем «склеиваем» результаты вместе с конкатенацией. Чтобы получить целые годы, мы используем:
Чтобы получить целые месяцы, мы используем:
И мы вычисляем дни с:
Чтобы предотвратить вывод дней, месяцев или лет с нулевыми значениями, вы можете обернуть каждую функцию РАЗНДАТ внутри ЕСЛИ, как показано здесь (строки, добавленные для удобочитаемости):
Для предотвращения появления дополнительных запятых в конечном результате запятые заменяются пробелами. Использование исходной формулы РАЗНДАТ как «логического теста» внутри ЕСЛИ работает, потому что ЕСЛИ обрабатывает любой ненулевой результат как истинный.
Нахождение даты, отстоящей от указанной на заданное количество дней, недель, месяцев с учетом праздников и выходных или без него.
Для того чтобы найти дату, отстоящую от указанной на заданное количество дней используются функции РАБДЕНЬ и ЧИСТРАБДНИ. Разница между ними только в том, что ЧИСТРАБДНИ позволяет задать произвольные выходные дни, а РАБДЕНЬ использует стандартный для данной страны вариант. Для нашей страны это суббота и воскресенье.
Функция РАБДЕНЬ пишется так:
=РАБДЕНЬ(1;2;3)
1 – начальная дата, ОТ КОТОРОЙ ПОЙДЕТ ОТЧЕТ. Эта дата в число добавляемых дней НЕ ВХОДИТ!
2 – количество рабочих дней. Функция найдет дату последнего дня из указанного количества
3 – праздники. Показывают в виде диапазона, прописывают в виде массива в фигурных скобках. Если в рабочем периоде праздников нет, то не указывают. Либо указывают на диапазон с ними.
Для функции РАБДЕНЬ.МЕЖД используют такую запись:
= РАБДЕНЬ.МЕЖД(1;2;3;4)
1 – начальная дата, ОТ КОТОРОЙ ПОЙДЕТ ОТЧЕТ. Эта дата в число добавляемых дней НЕ ВХОДИТ!
2 – количество рабочих дней, функция покажет дату последнего из них.
3 – выходные дни. Excel предлагает на выбор числовые коды для выходных, но можно поступить проще. Надо указать дни недели в виде строки из единиц и нулей. Первый знак будет относиться к первому дню недели (у нас это понедельник, у кого-то воскресенье). Единицами указывается выходные дни. Например, если для стандартных выходных в субботу и воскресенье используется запись – «0000011». Не забываем про кавычки!
4 – праздничные дни
Разберем такую пример. На выполнение работы по ремонту требуется согласно нормативу 15 рабочих дней. Какого числа работы должны быть закончены в Казахстане, если они начаты 22 апреля 2020 года при условии стандартных выходных или выходных по понедельникам. Праздничные дни Казахстана в мае 2020 года – 1 мая, 7 мая, 9 мая. Пи этом так как 9 мая выпало на субботу, поэтому согласно правилам и постановлению день отдыха перенесен на 8 мая.
Решения задачи следующее
Рисунок 4
Обратите внимание, что в функции РАБДЕНЬ.МЕЖД можно вообще убрать выходные, оставив только праздники и указов для параметра «выходные дни» строку их 7 нулей. В функции РАБДЕНЬ это невозможно, в ней выходные дни используются автоматически
И еще. Результатом работы обеих функций будет значение в числовом виде. Для преобразования их в формат дат воспользуйтесь форматом даты или примените к результату функцию ТЕКСТ, указав сначала полученное значение, а затем в кавычках нужный формат. Если нужно, чтобы дата выглядела как «число.номер месяца.номер года из 4 цифр», то есть вот так – 15.05.2020 -, тогда формат будет таким «ДД.ММ.ГГГГ».
Рисунок 5
Для получения даты, отстоящей от указанной на заданное количество месяцев используем функцию ДАТАМЕС. Для нее надо указать начальную дату и количество месяцев, которые надо прибавит или отнять.
Рисунок 6
В качестве варианта используется функция ДАТА. Вначале мы извлекаем из начальной даты ДЕНЬ, МЕСЯЦ и ГОД соответствующими функциями. Затем к нужному промежутку добавляем требуемое количество. И наконец, функцией ДАТА превращаем это все в дату. В функции ДАТА вначале указываем ГОД, затем МЕСЯЦ и последним ДЕНЬ.
Все вместе выглядит так:
Рисунок 7
Обратите внимание, что для этих функций преобразование в формат даты не требуется. Функцию ДАТА применяют и для нахождения даты через заданное количество недель
Надо только это количество умножить на 7, а результат прибавить к значению функции ДЕНЬ.
Рисунок 8
Как Excel обрабатывает время
F9DAYWEEKчисловые значениядлябыстрого перемещения столбца,задайте формат имени с датами (пн, вторник, день недели).Эта функция не существуетСинтаксис: год; месяц, день показать по формуле «=СЕГОДНЯ
Первый допустимый аргумент в рабочем коде функции ДЕНЬ НЕДЕЛИ. В качестве входного параметра для недели по дате узнать дату как. (WEEKDAY) в Excel для допустимого диапазона, таблицы, строки. Вроде даты — только ср и так далее).
Скачать примеры функций для в справочнике, но требуются все аргументы. Их = СЕГОДНЯ () ()», а именно данные из Excel время, это будет число из
обычно используемая ячейка
Пример функции ДАТА
в Excel». будет в третьем=ЧИСТРАБДНИ(A1,B1,{41633;41634})
возвращает число из
для этого возвращается функция dAGER, см номер (D). Итак, для этой задачи работы с датами это работает. Хотя можно поставить цифрами, но чтобы время было днем недели (понедельник, ячейки «Дата прибытия», ошибка #ЗНАЧ!. Генерируется диапазон от 0
из электронной таблицы Excel,TodateВторник, март 2015=NETWORKDAYS(A1;B1;{41633;41634})1 (воскресенье) в значение ошибки «#ЧИСЛО!». Мы используем функцию ТЕКСТ. Для указания текущей даты
лучше проверить результаты
или ссылки на галочки и цифры
вторник и т д и второй — если в функции ДНИ
Функция РАЗНДАТ в Excel
до 6, который содержит данные i
добавить рабочие дни
- мр.
- Функция
- 7 (суббота), что означает Если аргументы переместите столбец в
напишите полную дату,Скопируйте данные ниже
- в функции DAG используется неправильно возможно.
- ячейки с соответствующими
- подумал, что это необходимо
- д.)? 2 (количество дней
- используемые параметры i 0 соответствует понедельнику. формат даты.
- или вычесть, см. Составим такую таблицу.
РАБДЕНЬ номер дня недели. строковые значения, которые Excel’. например — 12.01.2016. на чистом листе. (без аргументов).
Возвращает год как целое число
Числовые данные: написать макрос
Функция ГОД в Excel
Также принимается в качестве входных данных в статье «Как Объяснение таблицы: (РАБДЕНЬ) почти противоположно По-видимому, это нельзя трактовать как В этой статье описывается A в ячейке 1 Для отображения текущего числа (с 1900 лет — с
И в таких
Функция МЕСЯЦ в Excel: пример
: Итак: =DAYWEEK (СЕГОДНЯ совпадающие единицы не могут быть вместо цифр 1,2…7 результаты вычислений функции расчет рабочих дней Год действия функции 16 декабря 2013 действует даты, функция
с этим форматом
Примеры функций ДЕНЬ, ДЕНЬНЕД и НОМНЕДЕЛИ в Excel
2 время и дата, до 9999), то есть от 1900 до 9999; какое время будет ()) в понедельник). Так как решение представлено в виде
требуется отображать в Excel название ДАТА и др. «здесь. — год, в
ЧИСТРАБДНИ в приведенной ниже формуле ДНЕЙ возвращает значение
использование функции будет видно только
соответствует указанной дате. За месяц — изменить резко (Изменить Владимир Стоянов используйте следующую функцию:
Даты в Excel, день недели (понедельник, функции возвращающие значения Как посчитать число для которого определяем дату
Выпадает в понедельник. ошибка «#ЗНАЧ!».
DAYS номер — 12.A (). В структуре функции будет встречаться от 1 до время
МЕСЯЦ Функция Excel.
Чтобы воспользоваться мастером щелкните по кнопке в строке формул ( или через меню Вставка – Функция ). В окне мастера выберите категорию функций Дата и время и выделите функцию ДЕНЬ (рис. 4) Щелкните ОК .
Особенности вычисления временных интервалов в Excel
Бильфельд, Н. В. Особенности вычисления временных интервалов в Excel / Н. В. Бильфельд. — Текст : непосредственный // Молодой ученый. — 2014. — № 1 (60). — С. 59-62. — URL: https://moluch.ru/archive/60/8610/ (дата обращения: 13.04.2024).
Рассмотрены различные варианты определения количества полных лет, месяцев и дней между датами с помощью формул Excel, макрокоманд Excelи недокументированных возможностей Excel. Приведен метод определения високосного года. Описаны параметры функций ДОЛЯГОДА() и РАЗНДАТ()
В результате получаем таблицу, приведенную на рисунке 1
Рис.1. Вычисление полных лет и месяцев с приближенным вычислением дней
Если необходимо определить точное количество дней, то в последней формуле необходимо производить умножение на количество дней конкретного месяца, присутствующего в дате, введенной в ячейку B1
Определить количество дней в месяце конкретной даты с помощью формул Excel сложнее. Готовой такой формулы нет. Тем более, если месяц окажется февралем, то все будет зависеть еще и от года (високосный или нет).
Рис.2. Вычисление полных лет и месяцев с точным вычислением дней
В ячейку B2 поместим формулу =ГОД(B1)
В ячейку B3 поместим формулу =МЕСЯЦ(B1)
Чтобы определить, является ли год високосным, необходимо выполнить следующий алгоритм:
1. Если год делится на 4, перейдите к шагу 2. В противном случае перейдите к шагу 5.
2. Если год делится на 100, перейдите к шагу 3. В противном случае перейдите к шагу 4.
3. Если год делится на 400, перейдите к шагу 4. В противном случае перейдите к шагу 5.
В связи с этим в ячейку B4 поместим формулу:
Формула возвращает единицу, если год високосный и ноль если нет.
Формула возвращает одно из значений 31, 30 или 28 в зависимости от месяца в дате. Остается правильно учесть дни в феврале в зависимости от года. Для этого в ячейку B6 поместим формулу: =ЕСЛИ(B5=28;B5+B4;B5) Формула будет возвращать количество дней в месяце даты с учетом года.
И последнее, что можно сделать, это объединить все формулы, по вычислению дней в месяце даты в одну формулу.
Заметим, что при точном подсчете, дней оказалось не 23, как показано в таблице на рисунке 1, а 24 дня.
В ячейку B2 поместим формулу =ДЕНЬ(КОНМЕСЯЦА($B$1;0))
В ячейку C5 поместим формулу =ОТБР(ДОЛЯГОДА(B5;$B$1;1))
=ОТБР(ОСТАТ(ДОЛЯГОДА(B5;$B$1;1);1)*12)
=ОСТАТ(ОСТАТ(ДОЛЯГОДА(B5;$B$1;1);1)*12;1)*$B$2
Задачу можно решить, зная макрокоманды Excel. Для вычисления количества дней в месяце указанной даты можно написать функцию:
If (G Mod 400 = 0) Or ((G Mod 4 = 0) And (G Mod 100 0)) Then V = 1
Тогда в ячейку B2 таблицы, приведенной на рисунке 3 достаточно поместить формулу: =DnMes(A2)
Функция позволяет вычислить количество дней, месяцев и лет, между двумя указанными датами (как раз, то, что нам нужно). Она использует три аргумента: «начальная дата», конечная дата» и «код», с помощью которого задается единица времени. Значения кодов приведены в таблице 2.
Имея в распоряжении такую функцию, наша задача решается тривиально просто.
В ячейку С5 поместим формулу =РАЗНДАТ(B5;$A$2;«y«)
В ячейку D5 поместим формулу =РАЗНДАТ(B5;$A$2;«ym»)
В ячейку E5 поместим формулу =РАЗНДАТ(B5;$A$2;«md»)
Опять же, есть один нюанс. Дело в том, что функция РАЗНДАТ() по умолчанию использует американский базис при вычислении количества дней (смотри таблицу 1). Поэтому все зависит от конкретной задачи. Если необходимо фактическое количество дней, то лучше пользоваться таблицей, приведенной на рисунке 3.
1. Веденеева Е. Функции и формулы Excel 2007. Библиотека пользователя. СПб.: Питер, 2008. 384 с.
2. Мединов О. Office 2007. Мультимедийный курс. СПб.: Питер, 2009. 176 с.
3. Поддержка Excel/Справка и инструменты по Excel 2007 . — http://office.microsoft.com/ru-ru/excel-help/HP010062302.aspx
Основные термины (генерируются автоматически): день, формула, дата, месяц, функция, ячейка, таблица, противный случай, рисунок, Электронный ресурс.