Особенности вычисления временных интервалов в Excel | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 4 мая, печатный экземпляр отправим 8 мая.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №1 (60) январь 2014 г.

Дата публикации: 09.12.2013

Статья просмотрена: 9211 раз

Библиографическое описание:

Бильфельд, Н. В. Особенности вычисления временных интервалов в Excel / Н. В. Бильфельд. — Текст : непосредственный // Молодой ученый. — 2014. — № 1 (60). — С. 59-62. — URL: https://moluch.ru/archive/60/8610/ (дата обращения: 20.04.2024).

Рассмотрены различные варианты определения количества полных лет, месяцев и дней между датами с помощью формул Excel, макрокоманд Excelи недокументированных возможностей Excel. Приведен метод определения високосного года. Описаны параметры функций ДОЛЯГОДА() и РАЗНДАТ()

Во многих задачах, таких как «Определить дату очередной прививки ребенку» или «Расчет отработанного стажа» необходимо определить, сколько полных лет, месяцев и дней исполнилось человеку на указанную дату. Автоматизировать данный процесс можно, используя таблицы ExcelДля определения количества лет можно использовать функцию ДОЛЯГОДА (Начальная дата; Конечная дата; Базис), которая возвращает долю года, между двумя указанными датами, где базис — используемый способ вычисления дня. Значения базисов приведены в таблице 1

Таблица 1

Значения базисов в функции «ДОЛЯГОДА»

Базис

Способ вычисления дня

0

Американский (NASD) 30/360

1

Фактический / фактический

2

Фактический / 360

3

Фактический / 365

4

Европейский 30/360

Например, если начальная дата (дата на которую необходимо произвести расчет) составляет 01.07.2011, а конечная дата (дата рождения) составляет 08.03.2010, то результатом функции будет 1,31506849315068. Целая часть данного числа и даст количество полных лет. Количество месяцев, можно получить, как остаток данного числа, умноженное на 12. В результате получим 0,31506849315068*12=3,78082191780822 или 3 полных месяца. Приблизительное значение дней получаем как остаток от месяцев, умноженный на 30. т. е. 0,78082191780822 *30=23,4246575342465.

В результате получаем таблицу, приведенную на рисунке 1

Рис.1. Вычисление полных лет и месяцев с приближенным вычислением дней

В ячейку С5 поместим формулу

=ОТБР(ДОЛЯГОДА(B5;B1;1))

В ячейку D5 поместим формулу

=ОТБР(ОСТАТ(ДОЛЯГОДА(B5;B1;1);1)*12)

В ячейку E4 поместим формулу

=ОТБР(ОСТАТ(ОСТАТ(ДОЛЯГОДА(B5;B1;1);1)*12;1)*30)

Если необходимо определить точное количество дней, то в последней формуле необходимо производить умножение на количество дней конкретного месяца, присутствующего в дате, введенной в ячейку B1

Определить количество дней в месяце конкретной даты с помощью формул Excel сложнее. Готовой такой формулы нет. Тем более, если месяц окажется февралем, то все будет зависеть еще и от года (високосный или нет).

Рис.2. Вычисление полных лет и месяцев с точным вычислением дней

Попробуем последовательно решить эту задачу.

Создадим таблицу, приведенную на рисунке 2.

В ячейку B2 поместим формулу =ГОД(B1)

В ячейку B3 поместим формулу =МЕСЯЦ(B1)

Чтобы определить, является ли год високосным, необходимо выполнить следующий алгоритм:

1.                 Если год делится на 4, перейдите к шагу 2. В противном случае перейдите к шагу 5.

2.                 Если год делится на 100, перейдите к шагу 3. В противном случае перейдите к шагу 4.

3.                 Если год делится на 400, перейдите к шагу 4. В противном случае перейдите к шагу 5.

4.                 Год является високосным (366 дней).

5.                 Год не является високосным (365 дней).

В связи с этим в ячейку B4 поместим формулу:

=ЕСЛИ(ИЛИ(ОСТАТ(B2;400)=0;И(ОСТАТ(B2;4)=0;ОСТАТ(B2;100)<>0));1;0)

Формула возвращает единицу, если год високосный и ноль если нет.

В ячейку B5 поместим формулу:

=ЕСЛИ(ИЛИ(B3=1;B3=3;B3=5;B3=7;B3=8;B3=10;B3=12);31;ЕСЛИ(B3=2;28;30))

Формула возвращает одно из значений 31, 30 или 28 в зависимости от месяца в дате. Остается правильно учесть дни в феврале в зависимости от года. Для этого в ячейку B6 поместим формулу: =ЕСЛИ(B5=28;B5+B4;B5) Формула будет возвращать количество дней в месяце даты с учетом года.

И последнее, что можно сделать, это объединить все формулы, по вычислению дней в месяце даты в одну формулу.

Создадим таблицу, приведенную на рисунке 3.

Рис.3. Оптимизированная таблица

Поместим в ячейку B2 формулу:

В ячейке F5 сошлемся на нее, как

=ОТБР(ОСТАТ(ОСТАТ(ДОЛЯГОДА(B5;A2;1);1)*12;1)*B2)

Заметим, что при точном подсчете, дней оказалось не 23, как показано в таблице на рисунке 1, а 24 дня.

Еще один вариант определения количества дней в дате текущего месяца, это использование функций КОНМЕСЯЦА и ДЕНЬ. Необходимо сказать, что функция КОНМЕСЯЦА доступна только после подключения надстройки «Пакет анализа». Функция КОНМЕСЯЦА возвращает дату в числовом формате для последнего дня месяца, отстоящего вперед или назад на заданное число месяцев. Если заданное число месяцев принять равным нулю, то функция возвратит дату последнего дня текущего месяца. Получить числовое значение количества дней можно с помощью функции ДЕНЬ.

Создадим таблицу, приведенную на рисунке 4.

В ячейку B2 поместим формулу =ДЕНЬ(КОНМЕСЯЦА($B$1;0))

В ячейку C5 поместим формулу =ОТБР(ДОЛЯГОДА(B5;$B$1;1))

В ячейку D5 поместим формулу

=ОТБР(ОСТАТ(ДОЛЯГОДА(B5;$B$1;1);1)*12)

В ячейку E5 поместим формулу

=ОСТАТ(ОСТАТ(ДОЛЯГОДА(B5;$B$1;1);1)*12;1)*$B$2

Рис. 4. Использование функции КОНМЕСЯЦА

Задачу можно решить, зная макрокоманды Excel. Для вычисления количества дней в месяце указанной даты можно написать функцию:

Function DnMes(D)

'Дней в месяце от даты

M = Month(D): G = Year(D): V = 0

If (G Mod 400 = 0) Or ((G Mod 4 = 0) And (G Mod 100 <> 0)) Then V = 1

Select Case M

Case 1, 3, 5, 7, 8, 10, 12

DnMes = 31

Case 2

DnMes = 28 + V

Case 4, 6, 9, 11

DnMes = 30

EndSelect

EndFunction

Тогда в ячейку B2 таблицы, приведенной на рисунке 3 достаточно поместить формулу: =DnMes(A2)

И еще есть такая вещь, как недокументированные возможности. Оказывается Excel поддерживает функцию РАЗНДАТ(). Правда этой функции нет среди тех, которые доступны в диалоговом окне «Мастер функций» и набирать ее придется вручную. Функция известна еще с Lotus1–2-3, и очевидно с целью совместимости Excel поддерживает эту функцию. Интересно, что с версии Excel 2000 данная функция даже не упоминалась. А из интерактивной справки Excel2003 были удалены все ссылки на эту функцию, хотя сама функция доступна, как и в Excel2007.

Функция позволяет вычислить количество дней, месяцев и лет, между двумя указанными датами (как раз, то, что нам нужно). Она использует три аргумента: «начальная дата», конечная дата» и «код», с помощью которого задается единица времени. Значения кодов приведены в таблице 2.

Таблица 2

Коды функции РАЗНДАТ()

Код

Возвращаемое значение

«y»

Количество полных лет

«m»

Количество полных месяцев

«d»

Количество дней

«md»

Количество дней (месяцы и годы игнорируются)

«ym»

Количество месяцев (годы и дни игнорируются)

«yd»

Количество дней (годы игнорируются)

Имея в распоряжении такую функцию, наша задача решается тривиально просто.

Создадим таблицу, приведенную на рисунке 5.

Рис. 5. Использование функции РАЗНДАТ()

В ячейку С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

4.              Форум по Excel [Электронный ресурс]. — http://sizop.my1.ru/forum/10–236–1

5.              Справочник по функциям Excel [Электронный ресурс]. — http://www.excel-vba.ru/tag/funkcii-excel/

Основные термины (генерируются автоматически): день, формула, дата, месяц, функция, ячейка, таблица, противный случай, рисунок, Электронный ресурс.


Похожие статьи

Об опыте использования табличного процессора Excel при...

Скачать электронную версию. Библиографическое описание: Болотюк В. А. Об опыте использования табличного процессора Excel

Только в этом случае представления, понятия, методы, алгоритмы станут инструментами мышления обучаемого.

Ответ: см. второй рисунок.

Сводные таблицы в MS Excel 2013 | Статья в сборнике...

Для данных типа дата создана автоматическая группировка по секундам, минутам, часам, дням, неделям, месяцам, кварталам и годам.

Если его надо вызвать, то активируем любую ячейку сводной таблицы.

Использование электронных таблиц «Excel» в настройке станков с ЧПУ.

Методы определения объектов на изображении

Скачать электронную версию.

Если такой пиксель соприкасается с достоверным контуром, то его значение приравнивается к максимальному значению и он становится частью границы, в противном случае он подавляется.

Значение аренды | Статья в журнале «Молодой ученый»

Таблица 2. Виды структур основных средств.

Он заключается чаще всего на срок от нескольких месяцев до трех лет.

В противном случае лизинг может стать неподъемным бременем для предприятия.

Задать вопрос. ФИО. Электронная почта.

Применение электронных таблиц Ехсеl для расчёта курсовых...

Дата публикации: 20.02.2015 2015-02-20. Статья просмотрена: 189 раз.

Всё становится гораздо проще, если взять в рассмотрение электронные таблицы ЕХСЕL.

В ячейку АZ21 введена формула фазного напряжения на низкой стороне АК21/1,73.

Теория игр: основные понятия, типы игр, примеры

Скачать электронную версию.

Игра называется конечной, если каждый игрок имеет конечное число возможных стратегий, и бесконечной — в противном случае.

В таблице числа означают платежи игрокам, и их сумма в каждой клетке равна нулю.

Анализ эффективности алгоритмов сортировки и вcтроенных...

Скачать электронную версию.

На рисунке 1 изображен исходный код сортировки выбором.

Среднестатистический случай использования данного алгоритма сортировки выполняется примерно в два раза быстрее по сравнению с сортировкой выбором.

Построение логических схем с использованием Matlab/Simulink...

2. Scilab: [Электронный ресурс].

Основные термины (генерируются автоматически): блок, элемент, свойство блока, логическое умножение, логическое сложение, логическая функция, логическая схема, возможность модификаций, блок Инверсий, XOR.

Похожие статьи

Об опыте использования табличного процессора Excel при...

Скачать электронную версию. Библиографическое описание: Болотюк В. А. Об опыте использования табличного процессора Excel

Только в этом случае представления, понятия, методы, алгоритмы станут инструментами мышления обучаемого.

Ответ: см. второй рисунок.

Сводные таблицы в MS Excel 2013 | Статья в сборнике...

Для данных типа дата создана автоматическая группировка по секундам, минутам, часам, дням, неделям, месяцам, кварталам и годам.

Если его надо вызвать, то активируем любую ячейку сводной таблицы.

Использование электронных таблиц «Excel» в настройке станков с ЧПУ.

Методы определения объектов на изображении

Скачать электронную версию.

Если такой пиксель соприкасается с достоверным контуром, то его значение приравнивается к максимальному значению и он становится частью границы, в противном случае он подавляется.

Значение аренды | Статья в журнале «Молодой ученый»

Таблица 2. Виды структур основных средств.

Он заключается чаще всего на срок от нескольких месяцев до трех лет.

В противном случае лизинг может стать неподъемным бременем для предприятия.

Задать вопрос. ФИО. Электронная почта.

Применение электронных таблиц Ехсеl для расчёта курсовых...

Дата публикации: 20.02.2015 2015-02-20. Статья просмотрена: 189 раз.

Всё становится гораздо проще, если взять в рассмотрение электронные таблицы ЕХСЕL.

В ячейку АZ21 введена формула фазного напряжения на низкой стороне АК21/1,73.

Теория игр: основные понятия, типы игр, примеры

Скачать электронную версию.

Игра называется конечной, если каждый игрок имеет конечное число возможных стратегий, и бесконечной — в противном случае.

В таблице числа означают платежи игрокам, и их сумма в каждой клетке равна нулю.

Анализ эффективности алгоритмов сортировки и вcтроенных...

Скачать электронную версию.

На рисунке 1 изображен исходный код сортировки выбором.

Среднестатистический случай использования данного алгоритма сортировки выполняется примерно в два раза быстрее по сравнению с сортировкой выбором.

Построение логических схем с использованием Matlab/Simulink...

2. Scilab: [Электронный ресурс].

Основные термины (генерируются автоматически): блок, элемент, свойство блока, логическое умножение, логическое сложение, логическая функция, логическая схема, возможность модификаций, блок Инверсий, XOR.

Задать вопрос