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

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

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

Автор:

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

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

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

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

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

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

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


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

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

Рассмотрены методы пеленгования источников излучения (ИИ), основанные на анализе корреляционной матрицы принятых сигналов, анализе собственных значений и собственных векторов корреляционной матрицы. Приведено поэтапное описание шагов выполнения алгор...

Оценка состояния синхронных машин без вывода из работы

Данная статья делает анализ технического состояния синхронных машин и диагностические оценки их режимы работы без вывода из работы. Предлагается воспользоваться рабочие характеристики холостого хода, короткого замыкания, U-образные и векторные диагра...

Анализ погрешности кинематического указателя числа Маха в кабине пилота

Цель работы — проанализировать значение погрешности кинематического указателя числа Маха в кабине пилота, а также рассмотреть пригодность применения пакетных программ SOLID WORKS в изучении и численном анализе аэродинамических характеристик самолета....

Оценивание параметров генеральных совокупностей методом малых выборок по критерию Стьюдента с помощью шаблонов Excel

Рассмотрено применение метода малых выборок для оценивания генеральных совокупностей по распространенному критерию Стьюдента. Указываются отличия при статистическом оценивании выборок малого объема методами нормального распределения и t-распределения...

Выбор алгоритма деинтерливинга на основе типа модуляции сигнала

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

Сравнительный анализ пропорциональной и релейной АСР мощности ядерного реактора

В данной работе представлен сравнительный анализ математической модели реактора со сосредоточенными параметрами с наиболее распространенных системами автоматического регулирования — пропорциональной и релейной. В SIMULINK MATLAB получены переходные п...

О компьютерной проверке орфографии имен и фамилий

Разбираются причины пропуска спеллером текстового редактора Microsoft Word 2013 ошибок и опечаток в написании личных имен, отчеств и фамилий. Даются рекомендации по совершенствованию работы программы-«подсказки».

Оценка качества передачи речи в IP-телефонии

В статье рассматриваются методы оценки качества передачи речи в сетях IP-телефонии, с целью минимизировать затраты на повторную оценку, при изменении факторов влияния. Обоснован выбор метода оценки качества. Составлена сравнительная характеристика ра...

Применение алгоритмов теории расписаний при разработке медицинской информационной системы

Статья описывает алгоритм автоматизированного построения расписаний, использованный при разработке специализированной информационной системы. Он основан на взвешенной SPT модели и дополнен идеями построения расписаний для многопроцессорных работ. (SP...

Современные модели оценки стоимости компаний

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

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

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

Рассмотрены методы пеленгования источников излучения (ИИ), основанные на анализе корреляционной матрицы принятых сигналов, анализе собственных значений и собственных векторов корреляционной матрицы. Приведено поэтапное описание шагов выполнения алгор...

Оценка состояния синхронных машин без вывода из работы

Данная статья делает анализ технического состояния синхронных машин и диагностические оценки их режимы работы без вывода из работы. Предлагается воспользоваться рабочие характеристики холостого хода, короткого замыкания, U-образные и векторные диагра...

Анализ погрешности кинематического указателя числа Маха в кабине пилота

Цель работы — проанализировать значение погрешности кинематического указателя числа Маха в кабине пилота, а также рассмотреть пригодность применения пакетных программ SOLID WORKS в изучении и численном анализе аэродинамических характеристик самолета....

Оценивание параметров генеральных совокупностей методом малых выборок по критерию Стьюдента с помощью шаблонов Excel

Рассмотрено применение метода малых выборок для оценивания генеральных совокупностей по распространенному критерию Стьюдента. Указываются отличия при статистическом оценивании выборок малого объема методами нормального распределения и t-распределения...

Выбор алгоритма деинтерливинга на основе типа модуляции сигнала

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

Сравнительный анализ пропорциональной и релейной АСР мощности ядерного реактора

В данной работе представлен сравнительный анализ математической модели реактора со сосредоточенными параметрами с наиболее распространенных системами автоматического регулирования — пропорциональной и релейной. В SIMULINK MATLAB получены переходные п...

О компьютерной проверке орфографии имен и фамилий

Разбираются причины пропуска спеллером текстового редактора Microsoft Word 2013 ошибок и опечаток в написании личных имен, отчеств и фамилий. Даются рекомендации по совершенствованию работы программы-«подсказки».

Оценка качества передачи речи в IP-телефонии

В статье рассматриваются методы оценки качества передачи речи в сетях IP-телефонии, с целью минимизировать затраты на повторную оценку, при изменении факторов влияния. Обоснован выбор метода оценки качества. Составлена сравнительная характеристика ра...

Применение алгоритмов теории расписаний при разработке медицинской информационной системы

Статья описывает алгоритм автоматизированного построения расписаний, использованный при разработке специализированной информационной системы. Он основан на взвешенной SPT модели и дополнен идеями построения расписаний для многопроцессорных работ. (SP...

Современные модели оценки стоимости компаний

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

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