Чем заменить разндат excel

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

Видел кратко сегодня 2 темы Лунтика по замене скрытой функции РАЗНДАТ на обычные формулы.
Пока отвлекся, уже одну тему закрыли, а другую удалили.
Сильно не вникал в задачу иначе бы точно запутался ))
Но так как что-то уже было надергано из

источника

, то выложу здесь вариант для дат, больших текущей, аналогично использованию РАЗНДАТ с параметрами «m» и «md».  В столбце F — формулы с использованием РАЗНДАТ а в столбце G — обычными формулами.

 

БМВ

Модератор

Сообщений: 21386
Регистрация: 28.12.2016

Excel 2013, 2016

ZVI, Владимир, добрый день. В указанной первой теме Лунтик так и не смог пояснить «правил игры» по этому и закрыли на четвертом листе первую.
но смотрите, он по каким то причинам хочет видеть
5 мес 21 день а не 4 мес 21 дн 4 мес 21 дн
ну и если уйти от технического приема в сторону для чего — это тоже было на уровне «так хочется» и нытье о помощи. Мне вот так и не понятно зачем ему это.

что касается техники, то по прежнему остается открытый вопрос,

«черный в белую полосочку или белый в черную»

, то есть между 28.02.2019 и 29.02.2020 12 месяцев или 12 месяцев и 1 день.

Изменено: БМВ07.02.2019 20:31:39

По вопросам из тем форума, личку не читаю.

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

Михаил, добрый вечер, я специально не вникал в нюансы Fuzzy Logic темы, а лишь изобразил прямой аналог РАЗНДАТ по результату, так как где-то там звучало, что в ОpenОffice нет такой функции. А сойдет или нет — мне не очень-то и важно  ;)

Изменено: ZVI07.02.2019 22:21:15

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

На всякий случай, когда-то уже приводил примеры ошибок функции РАЗНДАТ в теме

Разница дат

Причем, у разных версий Office попадались свои ошибки.
У РАЗНДАТ странная логика, но её назначение было в совместимости в Lotus 1-2-3 со всеми ошибками, поэтому она и скрыта.

 

Лунтик

Пользователь

Сообщений: 213
Регистрация: 11.07.2015

ZVI,  смотрите, для сегодняшнего дня у Вас в ячейке C24 10 мес 30 дн, а должно быть 10 мес 27 дн. То есть месяцы должны считаться календарные. Подскажите, пожалуйста, как поправить формулу?

Ребята, вот мне реально не понятно, — что Вам не понятно. Есть рабочие формулы Михаила Витальевича С. и ZVI. Их нужно лишь чуть-чуть переделать. Всё вроде объяснено и в файле показано. Что не понятно?

 

БМВ

Модератор

Сообщений: 21386
Регистрация: 28.12.2016

Excel 2013, 2016

Вы напишите как вы считает и почему это так, какие дни входят и почему именно так, только не так как файле:  A и B  должно быть С. Про всю бесполезность такого отображения этого Вам уже написали ранее. Это все равно что навигатор бы подсказывал, что через 100км 431м 24см вам резко вправо.

По вопросам из тем форума, личку не читаю.

 

Лунтик

Пользователь

Сообщений: 213
Регистрация: 11.07.2015

#7

11.02.2019 14:25:58

Цитата
БМВ написал: что через 100км 431м 24см вам резко вправо

Так мне именно это и нужно.

Цитата
БМВ написал: Вы напишите как вы считает и почему это так

Считаем для ячейки С24: 10 месяцев — это понятно — дней: 17 дней в этом феврале оставшихся + 10 дней января 2020 = 27 дней. Подскажите, пожалуйста, как исправить формулу.

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

=12*(ГОД(C24)-ГОД(СЕГОДНЯ()))+МЕСЯЦ(C24)-МЕСЯЦ(СЕГОДНЯ())-(ДЕНЬ(C24)<ДЕНЬ(СЕГОДНЯ()))&» мес «&ЕСЛИ(ДЕНЬ(C24)<ДЕНЬ(СЕГОДНЯ());ДЕНЬ(C24)+ДЕНЬ(КОНМЕСЯЦА(СЕГОДНЯ();0))-ДЕНЬ(СЕГОДНЯ());ДЕНЬ(C24)-ДЕНЬ(СЕГОДНЯ()))&» дн»

или немного покороче:
=12*(ГОД(C24)-ГОД(СЕГОДНЯ()))+МЕСЯЦ(C24)-МЕСЯЦ(СЕГОДНЯ())-(ДЕНЬ(C24)<ДЕНЬ(СЕГОДНЯ()))&» мес «&
ДЕНЬ(C24)-ДЕНЬ(СЕГОДНЯ())+ЕСЛИ(ДЕНЬ(C24)<ДЕНЬ(СЕГОДНЯ());ДЕНЬ(КОНМЕСЯЦА(СЕГОДНЯ();0)); )&» дн»

Изменено: ZVI11.02.2019 15:18:55

 

БМВ

Модератор

Сообщений: 21386
Регистрация: 28.12.2016

Excel 2013, 2016

#9

11.02.2019 15:12:30

Цитата
Лунтик написал:
Что не понятно? Уже детально объяснил про ячейку C24. Объясните, пожалуйста, что не понятно.

а теперь все тоже про с23 4 мес 45 дней устроит? 17 в феврале и 28 в июне — так?

Изменено: БМВ11.02.2019 15:20:26

По вопросам из тем форума, личку не читаю.

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

#10

11.02.2019 15:21:35

Цитата
БМВ написал: но вопрос про 45 так и останется открытым

Михаил, да вроде учел же ж ))
Для C23: 28-11=17 дн  

Прикрепленные файлы

  • РазностьДат.xls (30.5 КБ)

Изменено: ZVI11.02.2019 15:26:19

 

Лунтик

Пользователь

Сообщений: 213
Регистрация: 11.07.2015

#11

11.02.2019 15:25:06

Меня английский эксель. Вставляю руками — формула как-то меняется. Покажите в файле, пожалуйста.

Цитата
БМВ написал: 17 в феврале и 28 в июне — так?

Так тут уже за 31 день. Нужно КАЛЕНДАРНЫЕ месяцы считать.

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

#12

11.02.2019 16:13:33

Цитата
Лунтик написал: Покажите в файле, пожалуйста.

К сообщению

#18

прикреплен файл

 

Лунтик

Пользователь

Сообщений: 213
Регистрация: 11.07.2015

#13

11.02.2019 16:29:45

Цитата
БМВ написал:
и вот где хоть раз это упомянуто

   Было упомянуто, что это — даты сертификатов. А кто считает срок действия сертификата иначе, чем по календарным месяцам? Да и исходя из объяснений по конкретным ячейкам разве сложно было понять?

 

Лунтик

Пользователь

Сообщений: 213
Регистрация: 11.07.2015

#14

11.02.2019 16:30:37

К тому же

Цитата
Лунтик написал:
То есть месяцы должны считаться календарные

в посте 9

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

Лунтик, Вы файл смотреть-то будете?

 

БМВ

Модератор

Сообщений: 21386
Регистрация: 28.12.2016

Excel 2013, 2016

Del

Изменено: БМВ11.02.2019 21:57:53

По вопросам из тем форума, личку не читаю.

 

Лунтик

Пользователь

Сообщений: 213
Регистрация: 11.07.2015

#17

11.02.2019 16:58:31

Цитата
ZVI написал:
Вы файл смотреть-то будете?

Было много работы. Посмотрел только сейчас. В ячейке C5 получается 53 мес 11 дн., а должно быть 53 мес 9 дн. Скажите, пожалуйста, как поправить формулу?

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

#18

11.02.2019 17:04:03

Цитата
Лунтик написал: а должно быть 53 мес 9 дн

Покажите расчет, как получается 9

 

Михаил Витальевич С.

Пользователь

Сообщений: 10514
Регистрация: 21.12.2012

#19

11.02.2019 17:04:04

Цитата
Лунтик написал:
В ячейке C5 получается 53 мес 11 дн., а должно быть 53 мес 9 дн

объясните, почему?

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

Посмотрите, так Вам нужно?

 

Лунтик

Пользователь

Сообщений: 213
Регистрация: 11.07.2015

#21

11.02.2019 17:14:06

Испортилась ячейка C23: было 4 мес 17 дн — и это правильно, а стало 4 мес 15 дн. Скажите, пожалуйста, как поправить формулу?

Цитата
ZVI написал: Покажите расчет, как получается 9

Объясняю: 53 мес — понятно, дни: я считаю так: поставим в ячейку C5 дату 01.08.2023. Считаем: 17 дней февраля и 1 день августа — 18 дней. Вычитаем 9 дней (между 1 августа и 22 июля) и получаем 9 дней. Итого 53 мес 9 дней.

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

…Удалено…

Изменено: ZVI12.02.2019 14:30:33

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

Лунтик, посчитайте по такой логике все остальные ячейки, где дата больше текущей, и приложите результат.

 

MCH

Пользователь

Сообщений: 3875
Регистрация: 22.12.2012

#24

11.02.2019 18:04:58

Если нужно быстро посчитать количество дней/месяцев между датами, то можно воспользоваться функцией ДНЕЙ360(), в ней есть разные варианты (методы)
Например, так:

Код
=ЦЕЛОЕ(ДНЕЙ360(A1;B1)/30)&" мес "&ОСТАТ(ДНЕЙ360(A1;B1);30)&" дн"

РАЗНДАТ имеет определенные ошибки, Владимир дал ссылку

Наверняка задача имеет свое прикладное назначение и есть методология для подсчета (лет, месяцев, дней)
например, в

Постановление Правительства РФ от 24 июля 2002 г. N 555″Об утверждении Правил подсчета и подтверждения страхового стажа для установления трудовых пенсий»

в п. 35 указано:

Цитата
35. Исчисление периодов работы … производится в календарном порядке из расчета полного года (12 месяцев). При этом каждые 30 дней указанных периодов переводятся в месяцы, а каждые 12 месяцев этих периодов переводятся в полные годы.

Думаю, что функция ДНЕЙ360() как раз для этого случая.

 

Михаил Витальевич С.

Пользователь

Сообщений: 10514
Регистрация: 21.12.2012

#25

11.02.2019 18:33:21

Цитата
MCH написал:
Думаю, что функция ДНЕЙ360() как раз для этого случая.

Ещё есть ДОЛЯГОДА()… тоже можно использовать, и даже формулы полегче получаются…
Но для метода Лунтика, её тоже тяжко использовать.

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

Лунтик,  в приложенной таблице заполните, пожалуйста, столбцы C:D , а в E напишите комментарии по расчету.
Мы тогда либо разберемся в необходимом Вам алгоритме, либо поймем, что он противоречив.

Изменено: ZVI11.02.2019 19:00:24

 

sokol92

Пользователь

Сообщений: 4446
Регистрация: 10.09.2017

#27

11.02.2019 19:02:41

Здравствуйте, коллеги! Не может быть никакой логики для разности в месяцах, если ее нет для суммы.

Код
Sub test()
  Debug.Print DateAdd("m", 1, DateSerial(2019, 1, 28))   ' возвращает 28.02.2019
  Debug.Print DateAdd("m", 1, DateSerial(2019, 1, 31))   ' также возвращает 28.02.2018
    
  Debug.Print DateAdd("m", 1, DateSerial(2019, 2, 28))   ' возвращает 28.03.2019
  Debug.Print DateAdd("m", 2, DateSerial(2019, 1, 31))   ' возвращает 31.03.2019
End Sub

Например, добавляя два раза по месяцу к 31.01.2019, мы получаем результат, отличающийся от добавления двух месяцев сразу на три дня.
P.S. Особая благодарность Юлию Ц. и Августу :)  

Изменено: sokol9211.02.2019 19:06:39

Владимир

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

Методики с датами обычно все какие-то кривоватые (стаж и выслуги и т.п.), да и в VBA даты

обязаны были

унаследовать ошибки истории

Изменено: ZVI12.02.2019 11:53:57

 

Лунтик

Пользователь

Сообщений: 213
Регистрация: 11.07.2015

#29

12.02.2019 11:42:40

Цитата
ZVI написал: в приложенной таблице заполните, пожалуйста, столбцы C:D

Пожалуйста.

Прикрепленные файлы

  • РазнДатПримеры.xls (7.5 КБ)

 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

#30

12.02.2019 12:11:49

вариант для дней для последнего примера

Код
=ЕСЛИ(ДЕНЬ(B2)<=ДЕНЬ(A2);КОНМЕСЯЦА(A2;0)-A2+B2-ДАТА(ГОД(B2);МЕСЯЦ(B2);1)+1;ЕСЛИ(КОНМЕСЯЦА(A2;0)=КОНМЕСЯЦА(B2;0);B2-A2;B2-КОНМЕСЯЦА(B2;-1)+КОНМЕСЯЦА(A2;0)-A2))

Прикрепленные файлы

  • РазнДатПримеры.xls (22 КБ)

Лень двигатель прогресса, доказано!!!


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

РАЗНДАТ(

)

, английский вариант DATEDIF().

Если Вам требуется рассчитать стаж (страховой) в годах, месяцах, днях, то, пожалуйста, воспользуйтесь расчетами выполненными в статье

Расчет страхового (трудового) стажа в MS EXCEL

.

Функции

РАЗНДАТ(

)

нет в справке EXCEL2007 и в

Мастере функций

(

SHIFT

+

F

3

), но она работает, хотя и не без огрех.

Синтаксис функции:


РАЗНДАТ(начальная_дата; конечная_дата; способ_измерения)

Аргумент

начальная_дата

должна быть раньше аргумента

конечная_дата

.

Аргумент

способ_измерения

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


Значение


Описание

«d»

разница в днях

«m»

разница в полных месяцах

«y»

разница в полных годах

«ym»

разница в полных месяцах без учета лет

«md»

разница в днях без учета месяцев и лет ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение, если день начальной даты больше дня конечной даты (например, в EXCEL 2007 при сравнении дат 28.02.2009 и 01.03.2009 результат будет 4 дня, а не 1 день). Избегайте использования функции с этим аргументом. Альтернативная формула приведена ниже.

«yd»

разница в днях без учета лет ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение. Избегайте использования функции с этим аргументом.

Ниже приведено подробное описание всех 6 значений аргумента

способ_измерения

, а также альтернативных формул (функцию

РАЗНДАТ()

можно заменить другими формулами (правда достаточно громоздкими). Это сделано в

файле примера

).

В файле примера значение аргумента

начальная_дата

помещена в ячейке

А2

, а значение аргумента

конечная_дата

– в ячейке

В2

.

1. Разница в днях («d»)

Формула

=РАЗНДАТ(A2;B2;»d»)

вернет простую разницу в днях между двумя датами.


Пример1:

начальная_дата

25.02.2007,

конечная_дата

26.02.2007

Результат:

1 (день).

Этот пример показыват, что при подсчете стажа необходимо использовать функцию

РАЗНДАТ()

с осторожностью. Очевидно, что если сотрудник работал 25 и 26 февраля, то отработал он 2 дня, а не 1. То же относится и к расчету полных месяцев (см. ниже).


Пример2:

начальная_дата

01.02.2007,

конечная_дата

01.03.2007

Результат:

28 (дней)


Пример3:

начальная_дата

28.02.2008,

конечная_дата

01.03.2008

Результат:

2 (дня), т.к. 2008 год — високосный

Эта формула может быть заменена простым выражением

=ЦЕЛОЕ(B2)-ЦЕЛОЕ(A2)

. Функция

ЦЕЛОЕ()

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

РАЗНДАТ()

игнорирует время, т.е. дробную часть числа, см. статью

Как Excel хранит дату и время

).


Примечание

: Если интересуют только рабочие дни, то к

оличество рабочих дней

между двумя датами можно посчитать по формуле

=ЧИСТРАБДНИ(B2;A2)

2. Разница в полных месяцах («m»)

Формула

=РАЗНДАТ(A2;B2;»m»)

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


Пример1:

начальная_дата

01.02.2007,

конечная_дата

01.03.2007

Результат:

1 (месяц)


Пример2:

начальная_дата

01.03.2007,

конечная_дата

31.03.2007

Результат:

0

При расчете стажа, считается, что сотрудник отработавший все дни месяца — отработал 1 полный месяц. Функция

РАЗНДАТ()

так не считает!


Пример3:

начальная_дата

01.02.2007,

конечная_дата

01.03.2009

Результат:

25 месяцев

Формула может быть заменена альтернативным выражением:

=12*(ГОД(B2)-ГОД(A2))-(МЕСЯЦ(A2)-МЕСЯЦ(B2))-(ДЕНЬ(B2)<ДЕНЬ(A2))


Внимание

: В справке MS EXCEL (см. раздел Вычисление возраста) имеется кривая формула для вычисления количества месяце между 2-мя датами:


=(ГОД(ТДАТА())-ГОД(A3))*12+МЕСЯЦ(ТДАТА())-МЕСЯЦ(A3)

Если вместо функции ТДАТА() — текущая дата использовать дату 31.10.1961, а в А3 ввести 01.11.1962, то формула вернет 13, хотя фактически прошло 12 месяцев и 1 день (ноябрь и декабрь в 1961г. + 10 месяцев в 1962г.).

3. Разница в полных годах («y»)

Формула

=РАЗНДАТ(A2;B2;»y»)

вернет количество полных лет между двумя датами.


Пример1:

начальная_дата

01.02.2007,

конечная_дата

01.03.2009

Результат:

2 (года)


Пример2:

начальная_дата

01.04.2007,

конечная_дата

01.03.2009

Результат:

1 (год)

Подробнее читайте в статье

Полный возраст или стаж

.

Формула может быть заменена альтернативным выражением:

=ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))<=B2; ГОД(B2)-ГОД(A2);ГОД(B2)-ГОД(A2)-1)

4. Разница в полных месяцах без учета лет («ym»)

Формула

=РАЗНДАТ(A2;B2;»ym»)

вернет количество полных месяцев между двумя датами без учета лет (см. примеры ниже).


Пример1:

начальная_дата

01.02.2007,

конечная_дата

01.03.2009

Результат:

1 (месяц), т.к. сравниваются конечная дата 01.03.2009 и модифицированная начальная дата 01.02.

2009

(год начальной даты заменяется годом конечной даты, т.к. 01.02

меньше

чем 01.03)


Пример2:

начальная_дата

01.04.2007,

конечная_дата

01.03.2009

Результат:

11 (месяцев), т.к. сравниваются конечная дата 01.03.2009 и модифицированная начальная дата 01.04.

2008

(год начальной даты заменяется годом конечной даты

за вычетом 1 года

, т.к. 01.04

больше

чем 01.03)

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

Сколько лет, месяцев, дней прошло с конкретной даты

.

Формула может быть заменена альтернативным выражением:

=ОСТАТ(C7;12)

В ячейке

С7

должна содержаться разница в полных месяцах (см. п.2).

5. Разница в днях без учета месяцев и лет («md»)

Формула

=РАЗНДАТ(A2;B2;»md»)

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

РАЗНДАТ()

с этим аргументом не рекомендуется (см. примеры ниже).


Пример1:

начальная_дата

01.02.2007,

конечная_дата

06.03.2009

Результат1:

5 (дней), т.к. сравниваются конечная дата 06.03.2009 и модифицированная начальная дата 01.

03

.

2009

(год и месяц начальной даты заменяется годом и месяцем конечной даты, т.к. 01

меньше

чем 06)


Пример2:

начальная_дата

28.02.2007,

конечная_дата

28.03.2009

Результат2:

0, т.к. сравниваются конечная дата 28.03.2009 и модифицированная начальная дата 28.

03

.

2009

(год и месяц начальной даты заменяется годом и месяцем конечной даты)


Пример3:

начальная_дата

28.02.2009,

конечная_дата

01.03.2009

Результат3:

4 (дня) — совершенно непонятный и НЕПРАВИЛЬНЫЙ результат. Ответ должен быть =1. Более того, результат вычисления зависит от версии EXCEL.

Версия EXCEL 2007 с SP3:

Результат – 143 дня! Больше чем дней в месяце!

Версия EXCEL 2007:

Разница между 28.02.2009 и 01.03.2009 – 4 дня!

Причем в EXCEL 2003 с SP3 формула возвращает верный результат 1 день. Для значений 31.12.2009 и 01.02.2010 результат вообще отрицательный (-2 дня)!

Не советую использовать формулу с вышеуказанным значением аргумента. Формула может быть заменена альтернативным выражением:

=ЕСЛИ(ДЕНЬ(A2)>ДЕНЬ(B2); ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B2;-1);0))-ДЕНЬ(A2)+ДЕНЬ(B2); ДЕНЬ(B2)-ДЕНЬ(A2))

Данная формула лишь эквивалетное (в большинстве случаев) выражение для

РАЗНДАТ()

с параметром md. О корректности этой формуле читайте в разделе «Еще раз о кривизне РАЗНДАТ()» ниже.

6. Разница в днях без учета лет («yd»)

Формула

=РАЗНДАТ(A2;B2;»yd»)

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

Результат, возвращаемый формулой

=РАЗНДАТ(A2;B2;»yd»)

зависит от версии EXCEL.

Формула может быть заменена альтернативным выражением:

=ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))>B2; B2-ДАТА(ГОД(B2)-1;МЕСЯЦ(A2);ДЕНЬ(A2)); B2-ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2)))

Еще раз о кривизне РАЗНДАТ()

Найдем разницу дат 16.03.2015 и 30.01.15. Функция

РАЗНДАТ()

с параметрами md и ym подсчитает, что разница составляет 1 месяц и 14 дней. Так ли это на самом деле?

Имея формулу, эквивалентную

РАЗНДАТ()

, можно понять ход вычисления. Очевидно, что в нашем случае количество полных месяцев между датами = 1, т.е. весь февраль. Для вычисления дней, функция находит количество дней в предыдущем месяце относительно конечной даты, т.е. 28 (конечная дата принадлежит марту, предыдущий месяц — февраль, а в 2015г. в феврале было 28 дней). После этого отнимает день начала и прибавляет день конечной даты =

ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B6;-1);0))-ДЕНЬ(A6)+ДЕНЬ(B6)

, т.е. 28-30+16=14. На наш взгляд, между датами все же 1 полный месяц и все дни марта, т.е 16 дней, а не 14! Эта ошибка проявляется, когда в предыдущем месяце относительно конечной даты, дней меньше, чем дней начальной даты. Как выйти из этой ситуации?

Модифицируем формулу для расчета дней разницы без учета месяцев и лет:

=

ЕСЛИ(ДЕНЬ(A18)>ДЕНЬ(B18);ЕСЛИ((ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B18;-1);0))-ДЕНЬ(A18))<0;ДЕНЬ(B18);ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B18;-1);0))-ДЕНЬ(A18)+ДЕНЬ(B18));ДЕНЬ(B18)-ДЕНЬ(A18))

При применении новой функции необходимо учитывать, что разница в днях будет одинаковой для нескольких начальных дат (см. рисунок выше, даты 28-31.01.2015). В остальных случаях формулы эквивалентны. Какую формулу применять? Это решать пользователю в зависимости от условия задачи.

замена формулы разндат

dev4onka

Дата: Вторник, 04.03.2014, 16:30 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 22

Подскажите, пожалуйста!

Сегодня сама лично убедилась, что формула РАЗНДАТ считает некорректно. Правильно ли будет считать количество дней между двумя датами формула:

Код

=—(ОСТАТ(ЦЕЛОЕ((ДНЕЙ360($B$1;C14)+1)/30);12)&»,»&ОСТАТ(ДНЕЙ360($B$1;C14)+1;30))

???

Сообщение отредактировал Serge_007Вторник, 04.03.2014, 21:59

 

Ответить

dev4onka

Дата: Вторник, 04.03.2014, 17:08 |
Сообщение № 2

Группа: Пользователи

Ранг: Новичок

Сообщений: 22

получается, если взять две разные даты и посчитать между ними количество дней, то получается тоже неверный результат при формуле

Код

—(ЦЕЛОЕ((ДНЕЙ360($B$1;C3)+1)/30)&»,»&ОСТАТ(ДНЕЙ360($B$1;C3)+1;30))

:
например, с 27.02.2014 по 28.03.2014 — 1 месяц и 2 дня (неправильно)
с 28.02.2014 по 28.03.2014 — 29 дней (правильно)

формула

Код

=—(РАЗНДАТ($B$1;C3;»m»)&»,»&РАЗНДАТ($B$1;C3;»md»))

показывает другой результат
с 28.02.2014 по 28.03.2014 — 1 месяц (неправильно)

Сообщение отредактировал Serge_007Вторник, 04.03.2014, 21:59

 

Ответить

Wowick

Дата: Вторник, 04.03.2014, 17:32 |
Сообщение № 3

Группа: Пользователи

Ранг: Участник

Сообщений: 50


Репутация:

5

±

Замечаний:
0% ±


Excel 2010

например, с 27.02.2014 по 28.03.2014 — 1 месяц и 2 дня (неправильно)

А че неправильного??? С 27 февраля срок месяц закончится 26.03 или где неправильно???
Да, есть тут несправедливость. Если вы 28 февраля покупаете абонемент «на месяц», то он будет действовать по 27 марта. А если кто-то покупает абонемент «на месяц» на следующий день, т.е. 1 марта, то он будет действовать на 3 дня больше, т.е. до 31 марта…

Сообщение отредактировал WowickВторник, 04.03.2014, 17:36

 

Ответить

dev4onka

Дата: Вторник, 04.03.2014, 17:37 |
Сообщение № 4

Группа: Пользователи

Ранг: Новичок

Сообщений: 22

Wowick, здесь нет полного календарного месяца, я считаю результат должен быть 30 дней

 

Ответить

Pelena

Дата: Вторник, 04.03.2014, 17:42 |
Сообщение № 5

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Ирина, почитайте обсуждение здесь. Возможно, одна из формул Вам подойдет


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

Serjik113

Дата: Вторник, 04.03.2014, 17:50 |
Сообщение № 6

Группа: Пользователи

Ранг: Новичок

Сообщений: 19


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

хмм… я извиняюсь может я чего-то не понимаю а разве простая формула вычитания одной ячейки с датой и другой ячейки с датой не покажет количества дней? То есть если из 10.01.2013 вычесть 07.01.2013 будет 3 дня, при этом формат ячеек с датами — ДАТА, а формат дней — Целое число.

 

Ответить

dev4onka

Дата: Вторник, 04.03.2014, 17:50 |
Сообщение № 7

Группа: Пользователи

Ранг: Новичок

Сообщений: 22

Pelena, именно с этой темы я взяла получившуюся формулу

 

Ответить

dev4onka

Дата: Вторник, 04.03.2014, 17:51 |
Сообщение № 8

Группа: Пользователи

Ранг: Новичок

Сообщений: 22

Serjik113, все правильно, только мне нужно еще количество месяцев

 

Ответить

jakim

Дата: Вторник, 04.03.2014, 21:20 |
Сообщение № 9

Группа: Друзья

Ранг: Старожил

Сообщений: 1150


Репутация:

305

±

Замечаний:
0% ±


Excel 2010

Сравните и может выберите один из трёх вариантов

.

К сообщению приложен файл:

Book1.xlsx
(9.7 Kb)

 

Ответить

dev4onka

Дата: Среда, 05.03.2014, 09:11 |
Сообщение № 10

Группа: Пользователи

Ранг: Новичок

Сообщений: 22

jakim, последняя считает так как мне надо до того момента, пока в первой дате не поменяешь на (например) 27.02.2013

 

Ответить

jakim

Дата: Среда, 05.03.2014, 10:40 |
Сообщение № 11

Группа: Друзья

Ранг: Старожил

Сообщений: 1150


Репутация:

305

±

Замечаний:
0% ±


Excel 2010

Вроде нашёл ошибку и поправил.

 

Ответить

РАЗНДАТ(. ) / DATEDIF(. )

Вычисляет количество дней, месяцев или лет между двумя датами.

ЭТОГО НЕТ В ОФИЦИАЛЬНОЙ СПРАВКЕ EXCEL:

Собственно говоря, самой функции РАЗНДАТ нет в справке Excel. Более того нет её и в мастере функций. И при наборе вручную первых букв названия функции Excel тоже не покажет подсказку в выпадающем списке. Объясняется это довольно просто. Эта функция изначально не является функцией Excel. Она всего лишь поддерживается Excel для совместимости с другими системами электронных таблиц. В Excel эта функция попала из электронных таблиц Lotus 1-2-3. НО работает эта функция в любой версии Excel

СИНТАКСИС:

=РАЗНДАТ(нач_дата;кон_дата;код)

АРГУМЕНТЫ:

1. нач_дата — нач альная дата.
2. кон_дата — конечная дата.
3. код — текстовое значение, которое указывает в каких единицах необходимо вернуть разницу дат.

Список допустимых значений аргумента «КОД»
КОД ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
«Г» «Y» Число полных лет в периоде.
«М» «M» Число полных месяцев в периоде.
«Д» «D» Число дней в периоде.
«МД» «MD» Разница между днями дат нач_дата и кон_дата. Месяцы и годы дат игнорируются.
«ГМ» «YM» Разница между месяцами дат нач_дата и кон_дата. Дни и годы дат игнорируются.
«ГД» «YD» Разница между днями дат нач_дата и кон_дата. Годы дат игнорируются.

ОГРАНИЧЕНИЯ:

Если аргумент кон_дата соответствует более ранней дате чем аргумент нач_дата функция вернёт значение ошибки #ЧИСЛО.
Если какой-либо из аргументов нач_дата или кон_дата не являются допустимой датой, то функция вернёт значение ошибки #ЗНАЧ.

Расчет количества дней между датами в Эксель

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

Расчет разности дат

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

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

    Для начала выделяем целевой диапазон ячеек, воспользовавшись зажатой левой кнопкой мыши.

Формат ячеек - Дата

  • по умолчанию мы должны оказаться во вкладке “Число” (если это не так, переключаемся в нее);
  • в списке “Числовые форматы” находим позицию “Дата” и кликаем на нее;
  • в поле “Тип” выбираем нужный образец представления данных, в соответствии с которым они будут отображаться на листе;
  • нажимаем OK.

Метод 1: использование формулы вычитания

Начнем, пожалуй, с самого простого способа – вычитания двух дат, представленного в виде обычной формулы.

  1. Вносим две даты, между которыми будем определять разницу в днях, в две разные ячейки отформатированного ранее диапазона.Количество дней между двумя датами в Эксель
  2. Теперь выделим ячейку, в которой планируем отобразить результат нашего вычисления.
    Определение количества дней между двумя датами в ЭксельВАЖНО: Количество дней обозначается простым целым числом, следовательно, ячейка для его вывода должна иметь отличный от “Дата” формат, а именно – “Общий“. В противном случае полученный результат будет отображаться в формате даты, что не позволит оценить корректность проведенных вычислений. Для определения текущего формата ячейки достаточно взглянуть на соответствующее поле, расположенное в разделе инструментов “Число” на ленте вкладки “Главная“.

Формула расчета количества дней между датами в Эксель

  • в итоговую ячейку вводим знак “=“;
  • кликаем по ячейке с конечной датой (более поздней);
  • вводим с клавиатуры символ “” (знак минус);
  • кликаем по ячейке с начальной датой.

Метод 2: функция РАЗНДАТ

Следующий способ – это определение разницы между двумя датами при помощи функции РАЗНДАТ.

Функция имеет следующий синтаксис: =РАЗНДАТ(начальная_дата;конечная_дата;единица).

Если с двумя первыми аргументами все понятно – их суть соответствует названию, то на третьем (“единица“) стоит остановиться подробнее, так как именно он позволяет варьировать результат использования функции, выбирая единицу расчета разницы между датами:

  • d” — количество дней между датами;
  • m” — количество полных месяцев между датами;
  • y” — количество полных лет между датами;
  • YM” — разница между датами в месяцах;
  • MD” — разница между датами в днях, без учета месяцев и лет;
  • YD” — разница между датами в днях, без учета лет.

В нашем случае покажем пример использование аргумента “YD”, так как целью расчета является определение количества дней между датами в пределах года.

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

  1. Выбираем целевую ячейку, проверяем ее формат по способу, описанному выше.
  2. Описываемая функция отсутствует в Мастере функций, поэтому вводим ее в ячейку вручную, строго придерживаясь синтаксиса.Формула функции РАЗНДАТ в Эксель
  3. Жмем Enter и проверяем полученный результат. Как мы видим, он аналогичен тому, который мы получили, используя простую формулу вычитания. Значит все сделано верно.Разница между двумя датами с помощью функции РАЗНДАТ

Метод 3: функция ЧИСТРАБДНИ для определения количества рабочих дней

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

В данном методе используется функция ЧИСТРАБДНИ со следующим синтаксисом: =ЧИСТРАБДНИ(нач_дата;кон_дата;[праздники]).

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

Приступаем к вычислениям:

  1. Так как описываемая функция присутствует в списке Мастера функций, воспользуемся им для большей наглядности: встаем на ячейку, куда будем выводить результат и щелкаем по кнопке “Вставить функцию” (fx), расположенной слева от строки формул.Вычисление количества рабочих дней между двумя датами
  2. В открывшемся окне Мастера функций:
    • выбираем категорию “Полный алфавитный перечень”;
    • находим и кликаем в списке операторов по строке “ЧИСТРАБДНИ”;
    • нажимаем ОК.Функция ЧИСТРАБДНИ в Эксель
  3. Перед нами появится окно аргументов функции. Здесь можно ввести адреса ячеек вручную или, находясь в поле для заполнения значений аргумента, кликнуть по нужной ячейке на листе. Выбрав начальную и конечную дату, а также указав праздничный день (адрес ячейки), нажимаем ОК.Аргументы функции ЧИСТРАБДНИ в Эксель
  4. Предположим, в этот раз мы заранее не задали формат итоговой ячейки как “Общий”. Тогда мы получим результат, отображающийся в виде даты.Количество рабочих дней между двумя датами с помощью функции ЧИСТРАБДНИ
  5. Следовательно, необходимо снова проверить формат по алгоритму, описанному выше и изменить его на “Общий”.Вычисление количества рабочих дней между двумя датами с помощью функции ЧИСТРАБДНИ

Заключение

С помощью описанных выше методов можно достаточно легко посчитать количество дней между двумя датами, как с наличием дополнительных критериев, так и без них. Формула вычитания и функция РАЗНДАТ прекрасно подойдут для простого подсчета дней, а функция ЧИСТРАБДНИ поможет с расчетом количества именно рабочих дней между датами. Окончательный выбор зависит от поставленной перед пользователем задачи.

Функция РАЗНДАТ() — Вычисление разности двух дат в днях, месяцах, годах в EXCEL

Если Вам требуется рассчитать стаж (страховой) в годах, месяцах, днях, то, пожалуйста, воспользуйтесь расчетами выполненными в статье Расчет страхового (трудового) стажа в MS EXCEL .

Функции РАЗНДАТ( ) нет в справке EXCEL2007 и в Мастере функций ( SHIFT + F 3 ), но она работает, хотя и не без огрех.

Синтаксис функции:

РАЗНДАТ(начальная_дата; конечная_дата; способ_измерения)

Аргумент начальная_дата должна быть раньше аргумента конечная_дата .

Аргумент способ_измерения определяет, как и в каких единицах будет измеряться интервал между начальной и конечной датами. Этот аргумент может принимать следующие значения:

Значение

Описание

разница в полных месяцах

разница в полных годах

разница в полных месяцах без учета лет

разница в днях без учета месяцев и лет ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение, если день начальной даты больше дня конечной даты (например, в EXCEL 2007 при сравнении дат 28.02.2009 и 01.03.2009 результат будет 4 дня, а не 1 день). Избегайте использования функции с этим аргументом. Альтернативная формула приведена ниже.

разница в днях без учета лет ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение. Избегайте использования функции с этим аргументом.

Ниже приведено подробное описание всех 6 значений аргумента способ_измерения , а также альтернативных формул (функцию РАЗНДАТ() можно заменить другими формулами (правда достаточно громоздкими). Это сделано в файле примера ).

В файле примера значение аргумента начальная_дата помещена в ячейке А2 , а значение аргумента конечная_дата – в ячейке В2 .

1. Разница в днях («d»)

Формула =РАЗНДАТ(A2;B2;»d») вернет простую разницу в днях между двумя датами.

Пример1: начальная_дата 25.02.2007, конечная_дата 26.02.2007 Результат: 1 (день).

Этот пример показыват, что при подсчете стажа необходимо использовать функцию РАЗНДАТ() с осторожностью. Очевидно, что если сотрудник работал 25 и 26 февраля, то отработал он 2 дня, а не 1. То же относится и к расчету полных месяцев (см. ниже).

Пример2: начальная_дата 01.02.2007, конечная_дата 01.03.2007 Результат: 28 (дней)

Пример3: начальная_дата 28.02.2008, конечная_дата 01.03.2008 Результат: 2 (дня), т.к. 2008 год — високосный

Эта формула может быть заменена простым выражением =ЦЕЛОЕ(B2)-ЦЕЛОЕ(A2) . Функция ЦЕЛОЕ() округляет значение до меньшего целого и использована для того случая, если исходные даты введены вместе с временем суток ( РАЗНДАТ() игнорирует время, т.е. дробную часть числа, см. статью Как Excel хранит дату и время ).

Примечание : Если интересуют только рабочие дни, то к оличество рабочих дней между двумя датами можно посчитать по формуле =ЧИСТРАБДНИ(B2;A2)

2. Разница в полных месяцах («m»)

Формула =РАЗНДАТ(A2;B2;»m») вернет количество полных месяцев между двумя датами.

Пример1: начальная_дата 01.02.2007, конечная_дата 01.03.2007 Результат: 1 (месяц)

Пример2: начальная_дата 01.03.2007, конечная_дата 31.03.2007 Результат: 0

При расчете стажа, считается, что сотрудник отработавший все дни месяца — отработал 1 полный месяц. Функция РАЗНДАТ() так не считает!

Пример3: начальная_дата 01.02.2007, конечная_дата 01.03.2009 Результат: 25 месяцев

Формула может быть заменена альтернативным выражением: =12*(ГОД(B2)-ГОД(A2))-(МЕСЯЦ(A2)-МЕСЯЦ(B2))-(ДЕНЬ(B2)

Внимание : В справке MS EXCEL (см. раздел Вычисление возраста) имеется кривая формула для вычисления количества месяце между 2-мя датами:

Если вместо функции ТДАТА() — текущая дата использовать дату 31.10.1961, а в А3 ввести 01.11.1962, то формула вернет 13, хотя фактически прошло 12 месяцев и 1 день (ноябрь и декабрь в 1961г. + 10 месяцев в 1962г.).

3. Разница в полных годах («y»)

Формула =РАЗНДАТ(A2;B2;»y») вернет количество полных лет между двумя датами.

Пример1: начальная_дата 01.02.2007, конечная_дата 01.03.2009 Результат: 2 (года)

Пример2: начальная_дата 01.04.2007, конечная_дата 01.03.2009 Результат: 1 (год)

Подробнее читайте в статье Полный возраст или стаж .

Формула может быть заменена альтернативным выражением: =ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))

4. Разница в полных месяцах без учета лет («ym»)

Формула =РАЗНДАТ(A2;B2;»ym») вернет количество полных месяцев между двумя датами без учета лет (см. примеры ниже).

Пример1: начальная_дата 01.02.2007, конечная_дата 01.03.2009 Результат: 1 (месяц), т.к. сравниваются конечная дата 01.03.2009 и модифицированная начальная дата 01.02. 2009 (год начальной даты заменяется годом конечной даты, т.к. 01.02 меньше чем 01.03)

Пример2: начальная_дата 01.04.2007, конечная_дата 01.03.2009 Результат: 11 (месяцев), т.к. сравниваются конечная дата 01.03.2009 и модифицированная начальная дата 01.04. 2008 (год начальной даты заменяется годом конечной даты за вычетом 1 года , т.к. 01.04 больше чем 01.03)

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

Формула может быть заменена альтернативным выражением: =ОСТАТ(C7;12) В ячейке С7 должна содержаться разница в полных месяцах (см. п.2).

5. Разница в днях без учета месяцев и лет («md»)

Формула =РАЗНДАТ(A2;B2;»md») вернет количество дней между двумя датами без учета месяцев и лет. Использовать функцию РАЗНДАТ() с этим аргументом не рекомендуется (см. примеры ниже).

Пример1: начальная_дата 01.02.2007, конечная_дата 06.03.2009 Результат1: 5 (дней), т.к. сравниваются конечная дата 06.03.2009 и модифицированная начальная дата 01. 03 . 2009 (год и месяц начальной даты заменяется годом и месяцем конечной даты, т.к. 01 меньше чем 06)

Пример2: начальная_дата 28.02.2007, конечная_дата 28.03.2009 Результат2: 0, т.к. сравниваются конечная дата 28.03.2009 и модифицированная начальная дата 28. 03 . 2009 (год и месяц начальной даты заменяется годом и месяцем конечной даты)

Пример3: начальная_дата 28.02.2009, конечная_дата 01.03.2009 Результат3: 4 (дня) — совершенно непонятный и НЕПРАВИЛЬНЫЙ результат. Ответ должен быть =1. Более того, результат вычисления зависит от версии EXCEL.

Версия EXCEL 2007 с SP3:

Результат – 143 дня! Больше чем дней в месяце!

Версия EXCEL 2007:

Разница между 28.02.2009 и 01.03.2009 – 4 дня!

Причем в EXCEL 2003 с SP3 формула возвращает верный результат 1 день. Для значений 31.12.2009 и 01.02.2010 результат вообще отрицательный (-2 дня)!

Не советую использовать формулу с вышеуказанным значением аргумента. Формула может быть заменена альтернативным выражением: =ЕСЛИ(ДЕНЬ(A2)>ДЕНЬ(B2); ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B2;-1);0))-ДЕНЬ(A2)+ДЕНЬ(B2); ДЕНЬ(B2)-ДЕНЬ(A2))

Данная формула лишь эквивалетное (в большинстве случаев) выражение для РАЗНДАТ() с параметром md. О корректности этой формуле читайте в разделе «Еще раз о кривизне РАЗНДАТ()» ниже.

6. Разница в днях без учета лет («yd»)

Формула =РАЗНДАТ(A2;B2;»yd») вернет количество дней между двумя датами без учета лет. Использовать ее не рекомендуется по причинам, изложенным в предыдущем пункте.

Результат, возвращаемый формулой =РАЗНДАТ(A2;B2;»yd») зависит от версии EXCEL.

Формула может быть заменена альтернативным выражением: =ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))>B2; B2-ДАТА(ГОД(B2)-1;МЕСЯЦ(A2);ДЕНЬ(A2)); B2-ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2)))

Еще раз о кривизне РАЗНДАТ()

Найдем разницу дат 16.03.2015 и 30.01.15. Функция РАЗНДАТ() с параметрами md и ym подсчитает, что разница составляет 1 месяц и 14 дней. Так ли это на самом деле?

Имея формулу, эквивалентную РАЗНДАТ() , можно понять ход вычисления. Очевидно, что в нашем случае количество полных месяцев между датами = 1, т.е. весь февраль. Для вычисления дней, функция находит количество дней в предыдущем месяце относительно конечной даты, т.е. 28 (конечная дата принадлежит марту, предыдущий месяц — февраль, а в 2015г. в феврале было 28 дней). После этого отнимает день начала и прибавляет день конечной даты = ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B6;-1);0))-ДЕНЬ(A6)+ДЕНЬ(B6) , т.е. 28-30+16=14. На наш взгляд, между датами все же 1 полный месяц и все дни марта, т.е 16 дней, а не 14! Эта ошибка проявляется, когда в предыдущем месяце относительно конечной даты, дней меньше, чем дней начальной даты. Как выйти из этой ситуации?

Модифицируем формулу для расчета дней разницы без учета месяцев и лет:

При применении новой функции необходимо учитывать, что разница в днях будет одинаковой для нескольких начальных дат (см. рисунок выше, даты 28-31.01.2015). В остальных случаях формулы эквивалентны. Какую формулу применять? Это решать пользователю в зависимости от условия задачи.

Функция РАЗНДАТ() — Вычисление разности двух дат в днях, месяцах, годах в MS EXCEL

​Смотрите также​ правой стороне, а​ ее в списке​ промежуточный период в​: Файлик бы…​

​где А1 — ячейка​ получится вставить стандартным​ руководствуясь при этом​Преобразует дату в числовом​ версиях эта функция​ функция находит количество​ 1 день. Для​ не рекомендуется (см.​

​Пример1:​ не считает!​ же относится и​​ в EXCEL 2007​​Для вычислений длительности временных​ текст по левой.​ мастера функций (SHIFT+F3).​

Синтаксис функции:

​ днях, например 127.​

​TimSha​ с датой поступления​

​ способом через окно​​ параметрами, указывающими выходные​​ формате в минуты.​ отсутствует. Например, маркер​ дней в предыдущем месяце​ значений 31.12.2009 и​ примеры ниже).​начальная_дата 01.02.2007, конечная_дата​Пример3:​

​ к расчету полных​

​ при сравнении дат​

​ интервалов удобней всего​

​ Значение в ячейке​

​ Но если просто​

​В ячейку A3 введите​

​: Пример, однако, неприлагаемый​

​ на работу, А2​

​Вставка — Функция (Insert​

​ дни и их​МЕСЯЦ​

​ версии 2013 означает,​

​ относительно конечной даты,​ 01.02.2010 результат вообще​Пример1:​
​ 01.03.2009​начальная_дата 01.02.2007, конечная_дата​ месяцев (см. ниже).​ 28.02.2009 и 01.03.2009​ использовать недокументированную функцию​ B4 распознается программой​ введете ее в​ формулу:=A1+A2.​ — подрубить под​ — с датой​ — Function)​ количество.​Преобразует дату в числовом​ что данная функция​ т.е. 28 (конечная​

​ отрицательный (-2 дня)!​

​начальная_дата 01.02.2007, конечная_дата​Результат:​
​ 01.03.2009​Пример2:​ результат будет 4​ РАЗНДАТ(), английский вариант​ как текст.​

​ строку формул, то​Обратите внимание, формат «Дата»​ размер надо… ;)​​ увольнения.​​, ее можно вручную​ГОД​ формате в месяцы.​ доступна в выпуске​ дата принадлежит марту,​Не советую использовать формулу​

​ 06.03.2009​1 (месяц), т.к.​Результат:​​начальная_дата 01.02.2007, конечная_дата​​ дня, а не​ DATEDIF().​В ячейке B7 Excel​​ она сработает.​​ автоматически присвоился для​

1. Разница в днях («d»)

​Знакомимся с формататми,​или в английской версии​ вписать в ячейку​

​Преобразует дату в числовом​​ЧИСТРАБДНИ​
​ Excel 2013 и всех​​ предыдущий месяц -​

​ с вышеуказанным значением​Результат1:​ сравниваются конечная дата​25 месяцев​ 01.03.2007​ 1 день). Избегайте​Если Вам требуется рассчитать​ сам присвоил текущий​Функция РАЗНДАТ поддерживает несколько​ ячейки A3. Не​ уточняем в каких​ Excel:​ с клавиатуры -​

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

​5 (дней), т.к.​​ 01.03.2009 и модифицированная​Формула может быть заменена​
​Результат:​​ использования функции с​ стаж (страховой) в​ год (сейчас 2015-ый)​

​ параметров:​ сложно догадаться, чтобы​ в начале может​=DATEDIF(A1;A2;»y»)&» y. «&DATEDIF(A1;A2;»ym»)&» m.​ и она сработает!​ДОЛЯГОДА​ дней между двумя​Функция​ 2015г. в феврале​ быть заменена альтернативным​ сравниваются конечная дата​ начальная дата 01.02.​ альтернативным выражением:​28 (дней)​

​ этим аргументом. Альтернативная​​ годах, месяцах, днях,​ по умолчанию. Это​Параметр​ посчитать разницу в​ быть «0000». Почтовый​ «&DATEDIF(A1;A2;»md»)&» d.»​

2. Разница в полных месяцах («m»)

​Синтаксис функции следующий:​Возвращает долю года, которую​ датами.​

​Описание​​ было 28 дней).​ выражением:​
​ 06.03.2009 и модифицированная​​2009​

​=12*(ГОД(B2)-ГОД(A2))-(МЕСЯЦ(A2)-МЕСЯЦ(B2))-(ДЕНЬ(B2)​​Пример3:​
​ формула приведена ниже.​​ то, пожалуйста, воспользуйтесь​

​ видно при отображении​Описание​ датах в Excel​ индекс, к примеру.​HoBU4OK​=РАЗНДАТ(Начальная_дата; Конечная_дата; Способ_измерения)​

​ составляет количество дней​​ЧИСТРАБДНИ.МЕЖД​ДАТА​
​ После этого отнимает​​=ЕСЛИ(ДЕНЬ(A2)>ДЕНЬ(B2);​

​ начальная дата 01.​(год начальной даты​
​Внимание​

​начальная_дата 28.02.2008, конечная_дата​​»yd»​ расчетами выполненными в​ содержимого ячеек в​»d»​ нужно от новейшей​Che79​

​: Добрый день!​

​С первыми двумя аргументами​ между начальной и​Возвращает количество полных рабочих​Возвращает заданную дату в​ день начала и​ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B2;-1);0))-ДЕНЬ(A2)+ДЕНЬ(B2);​032009​ заменяется годом конечной​: В справке MS EXCEL​ 01.03.2008​разница в днях без​ статье Расчет страхового (трудового)​

3. Разница в полных годах («y»)

​ строке формул. Обратите​Количество полных дней​ даты отнять старшую​

​: Здравствуйте,​​Нашел в готовых​ все более-менее понятно​
​ конечной датами.​​ дней в интервале​

​ числовом формате.​​ прибавляет день конечной​ДЕНЬ(B2)-ДЕНЬ(A2))​
​(год и месяц​​ даты, т.к. 01.02​

​ (см. раздел Вычисление​Результат:​ учета лет​

​ стажа в MS​ внимание, как изначально​
​»m»​

4. Разница в полных месяцах без учета лет («ym»)

​ дату. В ячейке​если правильно понял,​ решениях интересную формулу,​ — это ячейки​Важно:​

​ между двумя датами,​​РАЗНДАТ​ даты =ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B6;-1);0))-ДЕНЬ(A6)+ДЕНЬ(B6), т.е.​
​Данная формула лишь эквивалетное​​ начальной даты заменяется​ меньше чем 01.03)​ возраста) имеется кривая​2 (дня), т.к.​​ВНИМАНИЕ! Функция для​​ EXCEL. ​ вводилось значение в​Количество полных месяцев​ B1 введите формулу:=A3-A1.​

​ возможно, так?​​ но она не​ со стартовой и​
​ Вычисляемые результаты формул и​​ руководствуясь параметрами, указывающими​Вычисляет количество дней, месяцев​ 28-30+16=14. На наш​ (в большинстве случаев)​​ годом и месяцем​​Пример2:​ формула для вычисления​ 2008 год -​ некоторых версий EXCEL​Функции РАЗНДАТ() нет в справке​ A7.​

​»y»​ Соответственно мы получаем​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(РАЗНДАТ(A1;B1;»y»)​ действует на отображение​ конечной датами. А​ некоторые функции листа​ выходные дни и​ или лет между​ взгляд, между датами​ выражение для РАЗНДАТ()​ конечной даты, т.к.​

​начальная_дата 01.04.2007, конечная_дата​ количества месяце между​
​ високосный​
​ возвращает ошибочное значение.​​ EXCEL2007 и в​​На чистом листе в​Количество полных лет​ количество дней между​

5. Разница в днях без учета месяцев и лет («md»)

​или кладите файл​ кол-ва дней ДО​ самый интересный аргумент,​ Excel могут несколько​ их количество.​ двумя датами. Эта​ все же 1 полный​ с параметром md.​

​ 01 меньше чем​​ 01.03.2009​ 2-мя датами: ​
​Эта формула может быть​​ Избегайте использования функции​ Мастере функций (​ ячейки А1:B1 введите​»ym»​​ этими двумя датами.​​Дата и время в​ начала события (не​ конечно, последний -​ отличаться на компьютерах​ТДАТА​ функция полезна в​

​ месяц и все​​ О корректности этой​ 06)​
​Результат:​​=(ГОД(ТДАТА())-ГОД(A3))*12+МЕСЯЦ(ТДАТА())-МЕСЯЦ(A3)​ заменена простым выражением​ с этим аргументом.​SHIFT+F3​​ 01.01.1900, а в​​Количество полных месяцев без​​ Excel – это​ находи отрицательные значения)​

​ он определяет, каким​​ под управлением Windows​Возвращает текущую дату и​
​ формулах расчета возраста.​​ дни марта, т.е​ формуле читайте в​Пример2:​11 (месяцев), т.к.​Если вместо функции ТДАТА() -​ =ЦЕЛОЕ(B2)-ЦЕЛОЕ(A2). Функция ЦЕЛОЕ()​Ниже приведено подробное описание​

​), но она работает,​ ячейках A2:B2 вводим​

​ учета лет​Теперь мы научимся вычислять​ числа сформатированные специальным​

​Подскажите как ее​

​ именно образом и​ с архитектурой x86​ время в числовом​

​ДАТАЗНАЧ​ 16 дней, а​ разделе «Еще раз​начальная_дата 28.02.2007, конечная_дата​ сравниваются конечная дата​ текущая дата использовать​ округляет значение до​

​ всех 6 значений​ хотя и не​ 01.01.1901. Теперь меняем​»md»​ возраст по дате​
​ образом. Датой является​
​ доработать?​
​ в каких единицах​

​ или x86-64 и​ формате.​Преобразует дату из текстового​ не 14! Эта​ о кривизне РАЗНДАТ()»​ 28.03.2009​ 01.03.2009 и модифицированная​ дату 31.10.1961, а​ меньшего целого и​

6. Разница в днях без учета лет («yd»)

​ аргумента​ без огрех.​ формат ячеек на​Количество дней без учета​ рождения:​ целая часть числа,​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=РАЗНДАТ(A2;СЕГОДНЯ();»y»)&» лет «&РАЗНДАТ(A2;СЕГОДНЯ();»ym»)&» мес.​

​ будет измеряться интервал​ компьютерах под управлением​СЕКУНДЫ​

​ формата в числовой.​ ошибка проявляется, когда​
​ ниже.​
​Результат2:​
​ начальная дата 01.04.​

Еще раз о кривизне РАЗНДАТ()

​ в А3 ввести 01.11.1962,​ использована для того​способ_измерения​РАЗНДАТ(начальная_дата; конечная_дата; способ_измерения)​ «числовой» в выделенном​ месяцев и лет​На новый лист в​ а время (часы​ «&РАЗНДАТ(A2;СЕГОДНЯ();»md»)&» дн.»​

​ между начальной и​ Windows RT с​Преобразует дату в числовом​ДЕНЬ​ в предыдущем месяце относительно​Формула =РАЗНДАТ(A2;B2;»yd») вернет количество​0, т.к. сравниваются​2008​ то формула вернет​ случая, если исходные​, а также альтернативных​Аргумент начальная_дата должна быть​ диапазоне B1:B2. Для​»yd»​ ячейки A1:A3 введите​ и минуты) –​Вроде все правильно​ конечной датами. Этот​ архитектурой ARM. Подробнее​ формате в секунды.​Преобразует дату в числовом​ конечной даты, дней​ дней между двумя​ конечная дата 28.03.2009​(год начальной даты​ 13, хотя фактически​ даты введены вместе​ формул (функцию РАЗНДАТ()​ раньше аргумента конечная_дата.​ этого можно нажать​Количество дней без учета​ даты: 18.04.1985; 17.08.1977;​ это дробная часть.​ сделал?!​ параметр может принимать​

​ об этих различиях.​ВРЕМЯ​ формате в день​ меньше, чем дней​

​ датами без учета​

​ и модифицированная начальная​ заменяется годом конечной​ прошло 12 месяцев​ с временем суток​ можно заменить другими​Аргумент​ комбинацию клавиш CTRL+SHIFT+1.​ лет​ 08.12.1992​По умолчанию число 1​_Boroda_​ следующие значения:​

excel2.ru

Функции даты и времени (справка)

​Для вычислений длительностей интервалов​Возвращает заданное время в​ месяца.​ начальной даты. Как​

​ лет. Использовать ее​​ дата 28.​ даты за вычетом​ и 1 день​ (РАЗНДАТ() игнорирует время,​ формулами (правда достаточно​способ_измерения​B1 теперь содержит число​Проиллюстрируем пример использования нескольких​В ячейки B1:B3 проставьте​ соответствует дате 01​: На этот раз​

​»y»​

​ дат в Excel​

​ числовом формате.​

​ДНИ​ выйти из этой​

​ не рекомендуется по​

​032009​ 1 года, т.к.​ (ноябрь и декабрь​ т.е. дробную часть​ громоздкими). Это сделано​

​определяет, как и​

​ 1, а B2​ параметров:​

​ текущею дату.​

​ января 1900 года.​ да​разница в полных годах​

​ есть функция​
Excel 2013

​ВРЕМЗНАЧ​Возвращает количество дней между​

​ ситуации?​

​ причинам, изложенным в​(год и месяц​ 01.04 больше чем​

​ в 1961г. +​

​ числа, см. статью​ в файле примера).​ в каких единицах​ – 367. То​Внимание! Чтобы функция:=РАЗНДАТ() работала​

​Теперь нужно воспользоваться функцией​

​ То есть каждая​Держите​»m»​РАЗНДАТ​Преобразует время из текстового​ двумя датами.​

​Модифицируем формулу для расчета​

​ предыдущем пункте.​ начальной даты заменяется​

​ 01.03)​
Excel 2013

​ 10 месяцев в​ Как Excel хранит​В файле примера значение​

​ будет измеряться интервал​

​ есть прошел один​ без ошибок, следите​

​ по преобразованию количества​

​ дата – это​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=РАЗНДАТ(МИН(A2;СЕГОДНЯ());МАКС(A2;СЕГОДНЯ());»y»)&» лет «&РАЗНДАТ(МИН(A2;СЕГОДНЯ());МАКС(A2;СЕГОДНЯ());»ym»)&» мес.​

​в полных месяцах​

​, в английской версии​ формата в числовой.​ДНЕЙ360​

​ дней разницы без​
Excel 2010

​Результат, возвращаемый формулой =РАЗНДАТ(A2;B2;»yd»)​ годом и месяцем​Вся эта вакханалия нужна,​ 1962г.).​ дату и время).​ аргумента начальная_дата помещена​

​ между начальной и конечной​

​ високосный год (366​ за тем, чтобы​ дней в количество​

​ количество дней прошедших​

​ «&РАЗНДАТ(МИН(A2;СЕГОДНЯ());МАКС(A2;СЕГОДНЯ());»md»)&» дн.»​»d»​

​ -​

​СЕГОДНЯ​Вычисляет количество дней между​

​ учета месяцев и​

​ зависит от версии​ конечной даты)​

​ например, для подсчета​

​Формула =РАЗНДАТ(A2;B2;»y») вернет количество​Примечание​

​ в ячейке​

​ датами. Этот аргумент​ дней) и 1​ начальная дата была​

​ лет. Для этого​

​ от 01.01.1900. На​HoBU4OK​в полных днях​DATEDIF​Возвращает текущую дату в​

​ двумя датами на​

​ лет:​ EXCEL.​Пример3:​ сколько полных дней,​ полных лет между​

​: Если интересуют только​
Excel 2010

​А2​ может принимать следующие​ день.​ старше конечной даты.​ вручную введите в​ данном уроке детально​: Спасибо, работает!​»yd»​

​.​

​ числовом формате.​ основе 360-дневного года.​

​=ЕСЛИ(ДЕНЬ(A18)>ДЕНЬ(B18);ЕСЛИ((ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B18;-1);0))-ДЕНЬ(A18))​

​Формула может быть заменена​начальная_дата 28.02.2009, конечная_дата​ месяцев и лет​ двумя датами.​

​ рабочие дни, то​​, а значение аргумента​ значения:​Способ отображения даты можно​Целью данного урока является​ диапазон C1:C3 следующее​ рассмотрим даты, а​palleot​разница в днях с​Нюанс в том, что​ДЕНЬНЕД​ДАТАМЕС​

support.office.com

Вычисление возраста или стажа функцией РАЗНДАТ (DATEDIF)

​При применении новой функции​ альтернативным выражением:​ 01.03.2009​​ прошло с определенной​​Пример1:​ количество рабочих дней​​ конечная_дата – в​​Значение​

​ задать с помощью​ пример математических операций​ значение: =РАЗНДАТ(A1;B1;»y»).​ на следующих уроках​: Добрый день Уважаемые​​ начала года без​​ Вы не найдете​Преобразует дату в числовом​Возвращает дату в числовом​ необходимо учитывать, что​=ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))>B2;​Результат3:​ даты до сегодняшнего​начальная_дата 01.02.2007, конечная_дата​ между двумя датами​ ячейке​Описание​ диалогового окна «Формат​ с датами. Так​Таким образом, применение функции​ – время.​ форумчане!​ учета лет​​ эту функцию в​ формате в день​​ формате, отстоящую на​ разница в днях​B2-ДАТА(ГОД(B2)-1;МЕСЯЦ(A2);ДЕНЬ(A2));​4 (дня) -​

​ дня. Подробнее читайте​

​ 01.03.2009​

​ можно посчитать по​В2​»d»​ ячеек». Для его​ же, мы убедимся,​ позволило нам точно​Так как дата является​Подскажите пожалуйста, возможно​»md»​ списке Мастера функций,​ недели.​ заданное число месяцев​ будет одинаковой для​B2-ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2)))​ совершенно непонятный и​

​ в одноименной статье​ ​Результат:​
​ формуле =ЧИСТРАБДНИ(B2;A2)​ ​.​
​разница в днях​ ​ вызова нажмите: CTRL+1.​
​ что для Excel​ ​ вычислить возраст по​ числом, значит можно​ ли при использовании​
​разница в днях без​ ​ нажав кнопку​НОМНЕДЕЛИ​ вперед или назад​
​ нескольких начальных дат​ ​Найдем разницу дат 16.03.2015​ НЕПРАВИЛЬНЫЙ результат. Ответ​

​ Сколько лет, месяцев,​

Вычисление разницы между двумя датами функцией РАЗНДАТ

​2 (года)​Формула =РАЗНДАТ(A2;B2;»m») вернет количество​Формула =РАЗНДАТ(A2;B2;»d») вернет простую​»m»​ На закладке «Число»​ тип данных дата​ дате рождения в​ проводить с ним​

​ функции «РАЗНДАТ» при​ учета месяцев и​

​fx​Преобразует дату в числовом​ от начальной даты.​ (см. рисунок выше,​ и 30.01.15. Функция​

​ должен быть =1.​ дней прошло с​

​Пример2:​ полных месяцев между​

planetaexcel.ru

Отрицательный результат в формуле РАЗНДАТ (Формулы/Formulas)

​ разницу в днях​​разница в полных месяцах​
​ выберите в списке​ является числом.​ Excel.​ математические вычислительные и​ сопоставлении разницы лет​ лет​- она является​
​ формате в число,​КОНМЕСЯЦА​
​ даты 28-31.01.2015). В​ РАЗНДАТ() с параметрами​
​ Более того, результат​ конкретной даты.​:)

​начальная_дата 01.04.2007, конечная_дата​​ двумя датами.​ между двумя датами.​
​»y»​
​ «Числовые форматы» -​Заполните таблицу датами, так​

​Внимание! Чтобы перевести дни​​ расчетные операции. Посчитать​

excelworld.ru

Функция «РАЗНДАТ» или 5 больше 10 (Формулы/Formulas)

​ (до 10 лет)​​»ym»​ недокументированной возможностью Excel.​
​ которое указывает, на​Возвращает дату в числовом​ остальных случаях формулы​ md и ym​ вычисления зависит от​
​Формула может быть заменена​ 01.03.2009​Пример1:​Пример1: ​разница в полных годах   ​ «Дата». В разделе​ как показано на​
​ в года не​ количество дней между​сделать так, чтобы​разница в полных месяцах​
​ Точнее говоря, найти​

​ какую неделю года​​ формате для последнего​

​ эквивалентны. Какую формулу​​ подсчитает, что разница​ версии EXCEL.​ альтернативным выражением:​
​Результат:​начальная_дата 01.02.2007, конечная_дата​начальная_дата 25.02.2007, конечная_дата 26.02.2007​»ym»​ «Тип» отображаются самые​

​ рисунке:​​ достаточно формулы: =(B1-A1)/365.​
​ двумя датами Excel​ первая цифра была​
​ без учета лет​
​ описание этой функции​

excelworld.ru

Как вычислить дату в Excel

​ приходится дата.​ дня месяца, отстоящего​ применять? Это решать​ составляет 1 месяц​Версия EXCEL 2007 с​=ОСТАТ(C7;12)​1 (год)​ 01.03.2007​

​Результат: ​разница в полных месяцах​ популярные форматы для​Разные способы ввода дат.​ Более того даже​ не составляет особых​ «0» к примеру​Например:​ и ее аргументов​РАБДЕНЬ​ вперед или назад​

Как в Excel посчитать дни между датами?

​ пользователю в зависимости​ и 14 дней.​ SP3:​В ячейке​Подробнее читайте в статье​Результат:​1 (день).​ без учета лет​ отображения дат.​ В столбце А​ если мы знаем​ проблем. Для наглядного​ разница между 2000​

  1. ​Т.е. при желании подсчитать​ можно только в​Возвращает дату в числовом​ на заданное число​
  2. ​ от условия задачи.​ Так ли это​Результат – 143 дня!​
  3. ​С7​ Полный возраст или​

Формулы с датами.

​1 (месяц)​Этот пример показыват, что​»md»​Скачать примеры вычисления даты​ – способ ввода,​ что 1 сутки​ примера сначала выполним​ и 2005 гг.​ и вывести, например,​ полной версии англоязычной​ формате, отстоящую вперед​ месяцев.​Чтобы просмотреть более подробные​

​ на самом деле?​

Вычисление возраста по дате рождения в Excel

​ Больше чем дней​должна содержаться разница​ стаж.​

  1. ​Пример2:​ при подсчете стажа​разница в днях без​ в Excel​
  2. ​ а в столбце​ = 0,0027397260273973 года,​
  3. ​ сложение, а потом​ была 05 а​ ваш стаж в​ справки, поскольку на​ или назад на​ЧАС​ сведения о функции,​

Функция РАЗНДАТ.

​Имея формулу, эквивалентную РАЗНДАТ(), можно​ в месяце!​ в полных месяцах​Формула может быть заменена​начальная_дата 01.03.2007, конечная_дата 31.03.2007​

​ необходимо использовать функцию​ учета месяцев и​Читайте также: Функции для​ B – результат​ то формула:=(B1-A1)*0,0027397260273973 так​ вычитание дат. Для​ не 5.​ виде «3 г.​ самом деле она​ заданное количество рабочих​

​Преобразует дату в числовом​ щелкните ее название​ понять ход вычисления.​Версия EXCEL 2007:​ (см. п.2).​ альтернативным выражением:​Результат:​ РАЗНДАТ() с осторожностью.​ лет​ работы с датами​

​ отображения.​ же не даст​

​ этого:​ ​а то эксель​
​ 4 мес. 12​ ​ оставлена для совместимости​
​ дней.​ ​ формате в часы.​
​ в первом столбце.​ ​ Очевидно, что в​
​Разница между 28.02.2009 и​ ​Формула =РАЗНДАТ(A2;B2;»md») вернет количество​=ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2)) ГОД(B2)-ГОД(A2);ГОД(B2)-ГОД(A2)-1)​
​0​ ​ Очевидно, что если​ВНИМАНИЕ! Функция для​
​ в Excel​ ​Обратите внимание, что в​ точного результата.​

​На чистом листе в​ считает, что 10​

Разные параметры РАЗНДАТ.

​ дн.», необходимо ввести​ со старыми версиями​РАБДЕНЬ.МЕЖД​НОМНЕДЕЛИ.ISO​Примечание:​

Ввод даты в ячейку Excel

​ нашем случае количество​ 01.03.2009 – 4​ дней между двумя​Формула =РАЗНДАТ(A2;B2;»ym») вернет количество​При расчете стажа, считается,​ сотрудник работал 25​ некоторых версий EXCEL​

​На следующем уроке мы​ формате ячеек по​Дни в года наиболее​

Способы ввода дат.

​ ячейку А1 введите​ лет меньше чем​ в ячейку следующую​ Excel и Lotus​Возвращает числовое значение даты,​Возвращает номер недели по​

​ Маркер версии обозначает версию​ полных месяцев между​ дня!​ датами без учета​ полных месяцев между​ что сотрудник отработавший​ и 26 февраля,​ возвращает ошибочное значение,​ на готовых примерах​ умолчанию «Общий», даты​

​ точно преобразует функция:=РАЗНДАТ().​ текущею дату нажав​ 5 пример приложен.​ формулу:​ 1-2-3. Однако, несмотря​ предшествующей заданному количеству​ ISO для заданной​ Excel, в которой​ датами = 1,​Причем в EXCEL 2003​

Вычисление даты Excel

​ месяцев и лет.​ двумя датами без​ все дни месяца​ то отработал он​ если день начальной​ будем работать со​ также как и​ Английская версия =DATEDIF().​ CTRL+;.​Заранее спасибо!​

Из даты в число.

​=РАЗНДАТ(A1;A2;»y»)&» г. «&РАЗНДАТ(A1;A2;»ym»)&» мес.​ на то, что​ рабочих дней или​ даты.​ она впервые появилась.​ т.е. весь февраль.​ с SP3 формула​

​ Использовать функцию РАЗНДАТ()​ учета лет (см.​ — отработал 1​ 2 дня, а​ даты больше дня​ временем и периодами​ число выравниваются по​ Вы не найдете​В ячейке A2 введите​pabchek​ «&РАЗНДАТ(A1;A2;»md»)&» дн.»​ эту функцию не​

Форматы дат.

​ следующей за ними,​МИНУТЫ​

​ В более ранних​ Для вычисления дней,​ возвращает верный результат​

​ с этим аргументом​ примеры ниже).​ полный месяц. Функция РАЗНДАТ() так​ не 1. То​ конечной даты (например,​

exceltable.com

​ суток.​

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

Первый способ. Используем оператор вычитания и деления.

Первый шаг. Перед нами таблица, в ней указано две даты.

Второй шаг. Даты в программе эксель представлены в виде чисел, поэтому если одну из другой вычесть, то получите количество дней между ними. Чтобы получить количество месяцев, разделим на среднюю продолжительность месяца, равную 30 дням.

В итоге в ячейке «С3» запишем простую формулу: =(B3-A3)/30, получим ответ семь месяцев.

Второй способ. Рассчитаем количество месяцев между датами, специальной функцией.

В экселе есть функция РАЗНДАТ(Х;У;Z), где Х – начальная дата, У – конечная дата, Z – аргумент, что будем рассчитывать, в нашем случае он будет равен букве «m».

В ячейке «С7» запишем тогда следующую формулу: =РАЗНДАТ(A7;B7;»m»). Ответ снова получим семь.

Если Вам требуется рассчитать стаж (страховой) в годах, месяцах, днях, то, пожалуйста, воспользуйтесь расчетами выполненными в статье Расчет страхового (трудового) стажа в MS EXCEL.

Функции РАЗНДАТ( ) нет в справке EXCEL2007 и в Мастере функций (SHIFT+F3), но она работает, хотя и не без огрех.

Синтаксис функции:

РАЗНДАТ(начальная_дата; конечная_дата; способ_измерения)

Аргумент начальная_дата должна быть раньше аргумента конечная_дата.

Аргумент способ_измерения определяет, как и в каких единицах будет измеряться интервал между начальной и конечной датами. Этот аргумент может принимать следующие значения:

Значение

Описание

разница в полных месяцах

разница в полных годах

разница в полных месяцах без учета лет

разница в днях без учета месяцев и лет
ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение, если день начальной даты больше дня конечной даты (например, в EXCEL 2007 при сравнении дат 28.02.2009 и 01.03.2009 результат будет 4 дня, а не 1 день). Избегайте использования функции с этим аргументом. Альтернативная формула приведена ниже.

разница в днях без учета лет
ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение. Избегайте использования функции с этим аргументом.

Ниже приведено подробное описание всех 6 значений аргумента способ_измерения, а также альтернативных формул (функцию РАЗНДАТ() можно заменить другими формулами (правда достаточно громоздкими). Это сделано в файле примера ).

В файле примера значение аргумента начальная_дата помещена в ячейке А2, а значение аргумента конечная_дата – в ячейке В2.

1. Разница в днях («d»)

Формула =РАЗНДАТ(A2;B2;»d») вернет простую разницу в днях между двумя датами.

Пример1: начальная_дата 25.02.2007, конечная_дата 26.02.2007
Результат: 1 (день).

Этот пример показыват, что при подсчете стажа необходимо использовать функцию РАЗНДАТ() с осторожностью. Очевидно, что если сотрудник работал 25 и 26 февраля, то отработал он 2 дня, а не 1. То же относится и к расчету полных месяцев (см. ниже).

Пример2: начальная_дата 01.02.2007, конечная_дата 01.03.2007
Результат: 28 (дней)

Пример3: начальная_дата 28.02.2008, конечная_дата 01.03.2008
Результат: 2 (дня), т.к. 2008 год — високосный

Эта формула может быть заменена простым выражением =ЦЕЛОЕ(B2)-ЦЕЛОЕ(A2) . Функция ЦЕЛОЕ() округляет значение до меньшего целого и использована для того случая, если исходные даты введены вместе с временем суток ( РАЗНДАТ() игнорирует время, т.е. дробную часть числа, см. статью Как Excel хранит дату и время).

Примечание: Если интересуют только рабочие дни, то количество рабочих дней между двумя датами можно посчитать по формуле =ЧИСТРАБДНИ(B2;A2)

2. Разница в полных месяцах («m»)

Формула =РАЗНДАТ(A2;B2;»m») вернет количество полных месяцев между двумя датами.

Пример1: начальная_дата 01.02.2007, конечная_дата 01.03.2007
Результат: 1 (месяц)

Пример2: начальная_дата 01.03.2007, конечная_дата 31.03.2007
Результат: 0

При расчете стажа, считается, что сотрудник отработавший все дни месяца — отработал 1 полный месяц. Функция РАЗНДАТ() так не считает!

Пример3: начальная_дата 01.02.2007, конечная_дата 01.03.2009
Результат: 25 месяцев

Формула может быть заменена альтернативным выражением:
=12*(ГОД(B2)-ГОД(A2))-(МЕСЯЦ(A2)-МЕСЯЦ(B2))-(ДЕНЬ(B2)

Внимание: В справке MS EXCEL (см. раздел Вычисление возраста) имеется кривая формула для вычисления количества месяце между 2-мя датами:

Если вместо функции ТДАТА() — текущая дата использовать дату 31.10.1961, а в А3 ввести 01.11.1962, то формула вернет 13, хотя фактически прошло 12 месяцев и 1 день (ноябрь и декабрь в 1961г. + 10 месяцев в 1962г.).

3. Разница в полных годах («y»)

Формула =РАЗНДАТ(A2;B2;»y») вернет количество полных лет между двумя датами.

Пример1: начальная_дата 01.02.2007, конечная_дата 01.03.2009
Результат: 2 (года)

Пример2: начальная_дата 01.04.2007, конечная_дата 01.03.2009
Результат: 1 (год)

Подробнее читайте в статье Полный возраст или стаж.

Формула может быть заменена альтернативным выражением:
=ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))

4. Разница в полных месяцах без учета лет («ym»)

Формула =РАЗНДАТ(A2;B2;»ym») вернет количество полных месяцев между двумя датами без учета лет (см. примеры ниже).

Пример1: начальная_дата 01.02.2007, конечная_дата 01.03.2009
Результат: 1 (месяц), т.к. сравниваются конечная дата 01.03.2009 и модифицированная начальная дата 01.02.2009 (год начальной даты заменяется годом конечной даты, т.к. 01.02 меньше чем 01.03)

Пример2: начальная_дата 01.04.2007, конечная_дата 01.03.2009
Результат: 11 (месяцев), т.к. сравниваются конечная дата 01.03.2009 и модифицированная начальная дата 01.04.2008 (год начальной даты заменяется годом конечной даты за вычетом 1 года , т.к. 01.04 больше чем 01.03)

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

Формула может быть заменена альтернативным выражением:
=ОСТАТ(C7;12)
В ячейке С7 должна содержаться разница в полных месяцах (см. п.2).

5. Разница в днях без учета месяцев и лет («md»)

Формула =РАЗНДАТ(A2;B2;»md») вернет количество дней между двумя датами без учета месяцев и лет. Использовать функцию РАЗНДАТ() с этим аргументом не рекомендуется (см. примеры ниже).

Пример1: начальная_дата 01.02.2007, конечная_дата 06.03.2009
Результат1: 5 (дней), т.к. сравниваются конечная дата 06.03.2009 и модифицированная начальная дата 01.03.2009 (год и месяц начальной даты заменяется годом и месяцем конечной даты, т.к. 01 меньше чем 06)

Пример2: начальная_дата 28.02.2007, конечная_дата 28.03.2009
Результат2: 0, т.к. сравниваются конечная дата 28.03.2009 и модифицированная начальная дата 28.03.2009 (год и месяц начальной даты заменяется годом и месяцем конечной даты)

Пример3: начальная_дата 28.02.2009, конечная_дата 01.03.2009
Результат3: 4 (дня) — совершенно непонятный и НЕПРАВИЛЬНЫЙ результат. Ответ должен быть =1. Более того, результат вычисления зависит от версии EXCEL.

Версия EXCEL 2007 с SP3:

Результат – 143 дня! Больше чем дней в месяце!

Версия EXCEL 2007:

Разница между 28.02.2009 и 01.03.2009 – 4 дня!

Причем в EXCEL 2003 с SP3 формула возвращает верный результат 1 день. Для значений 31.12.2009 и 01.02.2010 результат вообще отрицательный (-2 дня)!

Не советую использовать формулу с вышеуказанным значением аргумента. Формула может быть заменена альтернативным выражением:
=ЕСЛИ(ДЕНЬ(A2)>ДЕНЬ(B2);
ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B2;-1);0))-ДЕНЬ(A2)+ДЕНЬ(B2);
ДЕНЬ(B2)-ДЕНЬ(A2))

Данная формула лишь эквивалетное (в большинстве случаев) выражение для РАЗНДАТ() с параметром md. О корректности этой формуле читайте в разделе «Еще раз о кривизне РАЗНДАТ()» ниже.

6. Разница в днях без учета лет («yd»)

Формула =РАЗНДАТ(A2;B2;»yd») вернет количество дней между двумя датами без учета лет. Использовать ее не рекомендуется по причинам, изложенным в предыдущем пункте.

Результат, возвращаемый формулой =РАЗНДАТ(A2;B2;»yd») зависит от версии EXCEL.

Формула может быть заменена альтернативным выражением:
=ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))>B2;
B2-ДАТА(ГОД(B2)-1;МЕСЯЦ(A2);ДЕНЬ(A2));
B2-ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2)))

Еще раз о кривизне РАЗНДАТ()

Найдем разницу дат 16.03.2015 и 30.01.15. Функция РАЗНДАТ() с параметрами md и ym подсчитает, что разница составляет 1 месяц и 14 дней. Так ли это на самом деле?

Имея формулу, эквивалентную РАЗНДАТ() , можно понять ход вычисления. Очевидно, что в нашем случае количество полных месяцев между датами = 1, т.е. весь февраль. Для вычисления дней, функция находит количество дней в предыдущем месяце относительно конечной даты, т.е. 28 (конечная дата принадлежит марту, предыдущий месяц — февраль, а в 2015г. в феврале было 28 дней). После этого отнимает день начала и прибавляет день конечной даты = ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B6;-1);0))-ДЕНЬ(A6)+ДЕНЬ(B6) , т.е. 28-30+16=14. На наш взгляд, между датами все же 1 полный месяц и все дни марта, т.е 16 дней, а не 14! Эта ошибка проявляется, когда в предыдущем месяце относительно конечной даты, дней меньше, чем дней начальной даты. Как выйти из этой ситуации?

Модифицируем формулу для расчета дней разницы без учета месяцев и лет:

При применении новой функции необходимо учитывать, что разница в днях будет одинаковой для нескольких начальных дат (см. рисунок выше, даты 28-31.01.2015). В остальных случаях формулы эквивалентны. Какую формулу применять? Это решать пользователю в зависимости от условия задачи.

В этом курсе:

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

Используйте функцию РАЗНДАТ, если требуется вычислить разницу между двумя датами. Сначала введите дату начала в ячейку и дату окончания в другой. Затем введите формулу, например одну из указанных ниже.

Предупреждение: Если значение нач_дата больше значения кон_дата, возникнет ошибка #ЧИСЛО!

Разница в днях

В этом примере Дата начала находится в ячейке D9, а Дата окончания — в E9. Формула будет показана на F9. «D» возвращает число полных дней между двумя датами.

Разница в неделях

В этом примере Дата начала находится в ячейке D13, а Дата окончания — в E13. «D» возвращает число дней. Но обратите внимание на то, что в конце есть /7 . Это делит количество дней на 7, так как в неделю есть 7 дней. Обратите внимание, что этот результат также необходимо отформатировать как число. Нажмите клавиши CTRL + 1. Затем щелкните число _гт_ десятичных разрядов: 2.

Разница в месяцах

В этом примере Дата начала находится в ячейке D5, а Дата окончания — в ячейку «вниз». В формуле «м» возвращает число полных месяцев между двумя днями.

Разница в годах

В этом примере Дата начала находится в ячейке D2, а Дата окончания — в E2. «Y» возвращает число полных лет между двумя днями.

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

Вы также можете рассчитать возраст или время обслуживания других пользователей. Результат может быть похож на «2 года», «4 месяца», «5 дней» «.

1. Используйте РАЗНДАТ для поиска общего числа лет.

В этом примере Дата начала находится в ячейке D17, а Дата окончания — в E17. В формуле «y» возвращает число полных лет между двумя днями.

2. для поиска месяцев используйте РАЗНДАТ еще раз, указав «ГМ».

В другой ячейке используйте формулу РАЗНДАТ с параметром «ГМ» . «ГМ» возвращает число оставшихся месяцев после последнего полного года.

3. Используйте другую формулу для поиска дней.

Теперь нужно найти количество оставшихся дней. Это можно сделать, написав формулу другого типа, показанную выше. Эта формула вычитает первый день окончания месяца (01.05.2016) из исходной даты окончания в ячейке E17 (06.05.2016). Вот как это делается: сначала функция ДАТА создает дату 01.05.2016. Она создается с помощью года в ячейке E17 и месяца в ячейке E17. 1 обозначает первый день месяца. Результатом функции ДАТА будет 01.05.2016. Затем мы вычитаем эту дату из исходной даты окончания в ячейке E17 (06.05.2016), в результате чего получается 5 дней.

Предупреждение: Мы не рекомендуем использовать аргумент РАЗНДАТ «MD», так как он может вычислять неверные результаты.

4. необязательно: Объедините три формулы в одну.

Вы можете разместить все три вычисления в одной ячейке, как показано в этом примере. Использование амперсандов, кавычек и текста. Это более длинная формула для ввода, но по крайней мере все это в одной из них. Совет. Нажмите клавиши ALT + ВВОД, чтобы разместить разрывы строк в формуле. Это упрощает чтение. Кроме того, если вы не видите формулу целиком, нажмите клавиши CTRL + SHIFT + U.

Скачивание примеров

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

Другие расчеты даты и времени

Как показано выше, функция РАЗНДАТ вычисляет разницу между датой начала и конечной датой. Однако вместо ввода определенных дат можно также использовать функцию Today () в формуле. При использовании функции TODAY () Excel использует текущую дату на компьютере. Имейте в виду, что при повторном открытии файла в будущем этот файл изменится.

Обратите внимание на то, что на момент написания статьи день – 6 октября 2016 г.

Используйте ЧИСТРАБДНИ. INTL, если требуется вычислить количество рабочих дней между двумя датами. Кроме того, вы можете также исключить выходные и праздничные дни.

Прежде чем начать, выполните указанные ниже действия.Решите, нужно ли исключить даты праздников. Если это так, введите список дат праздников в отдельную область или на лист. Каждый день праздников помещается в отдельную ячейку. Затем выделите эти ячейки, а затем выберите формулы _Гт_ присвоить имя. Назовите диапазон михолидайси нажмите кнопку ОК. Затем создайте формулу, выполнив указанные ниже действия.

1. Введите дату начала и дату окончания.

В этом примере Дата начала находится в ячейке D53, а Дата окончания — в ячейке E53.

2. в другой ячейке введите формулу, например:

Введите формулу, например приведенный выше пример. 1 в формуле определяет «Суббота» и «воскресенье» в качестве выходных дней и исключает их из итогового значения.

Примечание. в Excel 2007 нет ЧИСТРАБДНИ. МЕЖД. Однако у него есть ЧИСТРАБДНИ. Приведенный выше пример будет выглядеть следующим образом в Excel 2007: = ЧИСТРАБДНИ (D53, E53). Вы не укажете 1, так как ЧИСТРАБДНИ предполагает, что выходные дни — суббота и воскресенье.

3. при необходимости измените значение 1.

Если Суббота и воскресенье не являются выходными днями, измените значение 1 на другой в списке IntelliSense. Например, 2 устанавливает воскресенье и понедельник в выходные дни.

Если вы используете Excel 2007, пропустите этот шаг. Функция ЧИСТРАБДНИ в Excel 2007 всегда предполагает, что выходные дни — суббота и воскресенье.

4. Введите имя диапазона праздников.

Если вы создали имя диапазона праздников в приведенном выше разделе «Начало работы», введите его в конце, как показано ниже. Если у тебя нет праздников, вы можете покинуть запятую и Михолидайс. Если вы используете Excel 2007, вышеприведенный пример будет выглядеть следующим образом: = ЧИСТРАБДНИ (D53, E53, михолидайс).

ПероЕсли вы не хотите ссылаться на имя диапазона праздников, вы также можете ввести диапазон, например D35: E:39. Кроме того, вы можете ввести каждый праздник в формуле. Например, если праздничные дни – 1 января и 2 из 2016, введите их следующим образом: = ЧИСТРАБДНИ. Межд (D53, E53, 1, <«1/1/2016», «1/2/2016»>). В Excel 2007 оно будет выглядеть следующим образом: = ЧИСТРАБДНИ (D53, E53, <«1/1/2016», «1/2. 2016»>)

Чтобы вычислить затраченное время, можно вычесть один раз из другого. Сначала введите время начала в ячейке и время окончания в другой. Убедитесь в том, что все время, в том числе часы, минуты и пробелы, заполните до полудня или PM. Вот что нужно для этого сделать:

1. Введите время начала и время окончания.

В этом примере время начала находится в ячейке D80, а время окончания — в E80. Убедитесь, что вводите часы, минуты и пробелы перед символами AM и PM.

2. Установите формат ч/PM.

Выберите обе даты и нажмите клавиши CTRL + 1 (или + 1 на компьютере Mac). Убедитесь, что выбран параметр пользовательские _гт_ ч/PM, если он еще не установлен.

3. вычитание двух значений.

В другой ячейке вычитаете начальную ячейку из ячейки «время окончания».

4. Задайте формат ч.

Нажмите клавиши CTRL+1 (или +1 на Mac). Выберите » пользовательские _гт_», чтобы исключить из него результаты «AM» и «PM».

Чтобы вычислить время между двумя датами и временем, вы можете просто вычесть один из них. Однако вы должны применить форматирование к каждой ячейке, чтобы убедиться, что Excel возвращает нужный результат.

1. Введите два полных значения даты и времени.

В одной ячейке введите дату и время начала. В другой ячейке введите дату и время полного окончания. Каждая ячейка должна иметь месяц, день, год, час, минуту и пробел до полудня или PM.

2. Задайте формат 3/14/12 1:30 PM.

Выберите обе ячейки, а затем нажмите клавиши CTRL + 1 (или + 1 на компьютере Mac). Затем выберите Дата _ГТ_ 3/14/12 1:30 PM. Это не Дата, которую вы настроили, а вот только пример того, как будет выглядеть формат. Обратите внимание, что в версиях до Excel 2016 этот формат может иметь другой образец даты, например 3/14/ 01 1:30 PM.

3. вычитание двух значений.

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

4. Задайте формат [h]: мм.

Нажмите клавиши CTRL+1 (или +1 на Mac). Выберите пункт (все форматы). В поле тип введите [h]: мм.

Skip to content

8 способов — как посчитать возраст в Excel по дате рождения.

В Excel нет специальной функции, чтобы посчитать возраст, однако существует несколько различных способов его определения на основе даты рождения. Вы узнаете несколько приемов, как рассчитать его в количестве полных лет, в годах, месяцах и днях на текущий момент или на какой-то определённый момент времени. Мы объясним преимущества и недостатки каждого способа, покажем, как создать идеальную формулу расчета возраста в Экселе и настроить ее для решения некоторых конкретных задач.

  • Основная формула для расчета возраста
  • Как определить возраст с функцией ДОЛЯГОДА.
  • Как узнать возраст при помощи функции РАЗНДАТ
  • Возраст в днях, месяцах и годах
  • Сколько будет лет на определенную дату?
  • Сколько вам будет в определенный год?
  • Узнаём дату, когда человек достигает N лет
  • Калькулятор возраста для Excel.

В повседневной жизни вопрос «Сколько вам лет?» обычно подразумевает ответ, указывающий, сколько лет вы прожили. В Microsoft Excel вы можете создать формулу для исчисления точной продолжительности жизни в месяцах, днях, часах и даже минутах. Но давайте не будем нарушать традицию и научимся сначала считать по полным годам.

Основная формула Excel расчета для возраста в годах.

Как вы обычно определяете, сколько вам лет? Просто вычитая дату рождения из текущей. Этот традиционный подход, знакомый нам еще с детства,  может также использоваться в Excel.

Если предположить, что день рождения (ДР) записан в ячейке B2, то вычислить возраст в годах можно следующим образом:

=(СЕГОДНЯ()-B2)/365

=(TODAY()-B2)/365

Первая часть выражения (СЕГОДНЯ()-B2) возвращает разницу между текущей и датой рождения в днях. А затем вы делите это на 365, чтобы получить количество лет.

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

Чтобы отобразить количество прожитых лет, используйте один из предлагаемых методов округления десятичного числа до ближайшего целого:

=ЦЕЛОЕ((СЕГОДНЯ()-B2)/365)

Функция ЦЕЛОЕ округляет в меньшую сторону до ближайшего целого.

=ОКРУГЛ((СЕГОДНЯ()-B3)/365;0)

Округляет количество прожитых лет по стандартным правилам в зависимости от значения дробной части (более 0,5 — в большую сторону).

=ОКРУГЛВНИЗ((СЕГОДНЯ()-B4)/365;0)

Округляет в меньшую сторону.

=ОТБР((СЕГОДНЯ()-B5)/365;0)

Отбрасывает дробную часть, оставляя только целое.

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

Недостатки:  использование этого выражения в Экселе дает довольно точные результаты, но не безупречные. Деление на среднее число дней в году в большинстве случаев работает нормально, но иногда все же показывает неверный возраст. Например, если кто-то родился 29 февраля, а сейчас 28 февраля, программа сделает человека на один день старше.

В качестве альтернативы вы можете использовать в знаменателе 365,25 вместо 365, поскольку каждый четвертый год состоит из 366 дней. Однако и этот подход не идеален. Например, если вы рассчитываете возраст ребенка, который еще не прожил високосный год, деление на 365,25 дает неправильный результат.

В целом, вычитание ДР из текущей даты прекрасно работает в обычной жизни, но не является идеальным подходом в Excel. Ведь мы здесь ожидаем получить точный ответ.

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

Как определить возраст с функцией ДОЛЯГОДА.

Более надежный способ расчета, чем те, о которых мы говорили ранее, — это использование функции ДОЛЯГОДА (YEARFRAC в английском варианте), которая возвращает часть года, то есть количество целых дней между двумя датами.

Синтаксис здесь следующий:

YEARFRAC (дата_начала, дата_окончания, [базис])

Первые два аргумента очевидны и вряд ли требуют какого-либо дополнительного объяснения. А вот Базис — это аргумент, который определяет основу для подсчета дней.

Чтобы составить абсолютно точную формулу, передайте в ДОЛЯГОДА следующие значения:

  • Дата_начала — дата рождения.
  • Дата_окончания — функция СЕГОДНЯ() для использования текущего момента времени.
  • Базис — используйте 1, которая предписывает Excel делить фактическое количество дней в месяце на фактическое количество дней в году. Никаких усредненных цифр типа 360 или 365 здесь не используется.

Учитывая вышеизложенное, формула Excel для расчета возраста по дате рождения выглядит следующим образом:

=ДОЛЯГОДА(дата рождения, СЕГОДНЯ (), 1)

Предполагая, что ДР вписан в ячейку B2, выражение принимает следующий вид:

=ДОЛЯГОДА(B2, СЕГОДНЯ(), 1)

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

Итак, вот улучшенный вариант:

Метод округления можете выбрать сами.

=ЦЕЛОЕ(ДОЛЯГОДА(B2;СЕГОДНЯ();1))

=ОКРУГЛ(ДОЛЯГОДА(B3;СЕГОДНЯ();1);0)

=ОКРУГЛВНИЗ(ДОЛЯГОДА(B4;СЕГОДНЯ();1);0)

=ОТБР(ДОЛЯГОДА(B5;СЕГОДНЯ();1);0)

Особенности применения этих функций мы уже рассмотрели выше.

Как узнать возраст в Excel при помощи РАЗНДАТ.

Еще один способ — использование функции РАЗНДАТ (DATEDIF):

= РАЗНДАТ(дата_нач; дата_кон; аргумент)

где

дата_нач и дата_кон — две даты, разницу между которыми необходимо рассчитать,

Она может возвращать разницу в различных единицах времени, таких как годы, месяцы и дни, в зависимости от параметра, который вы задаете в аргументе:

  • Y — возвращает количество лет.
  • M — количество месяцев.
  • D — количество дней.
  • YM — возвращает месяцы, игнорируя дни и годы.
  • MD — разница в днях, игнорируя месяцы и годы.
  • YD — разница в днях, игнорируя годы.

Поскольку мы хотим подсчитать возраст в годах, мы используем параметр «Y»:

=РАЗНДАТ( дата рождения, СЕГОДНЯ(), «Y»)

В этом примере день рождения записан в ячейке B2, и вы ссылаетесь на него в своей формуле возраста:

=РАЗНДАТ(B2;СЕГОДНЯ();»Y»)

В этом случае дополнительная операция округления не требуется, так как РАЗНДАТ с аргументом «Y» сразу выводит количество лет.

Рассчитываем в днях, месяцах и годах.

Высчитывать можно не только количество лет, как это обычно принято, но и более мелкие единицы времени.

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

Фактически, определение чьего-либо возраста на основе даты рождения является частным случаем расчета разницы в датах в Excel, где конечной датой является текущий момент времени. Итак, вы используете обычную функцию РАЗНДАТ:

=РАЗНДАТ(B2;СЕГОДНЯ();»Y»)&» лет, «&РАЗНДАТ(B2;СЕГОДНЯ();»YM»)&» мес., «&РАЗНДАТ(B2;СЕГОДНЯ();»MD»)&» д.»

Где В2 — дата рождения.

Ну а если нужно сделать совсем красиво, используйте более сложное выражение:

=ЕСЛИ(РАЗНДАТ(B2;СЕГОДНЯ();»y»);РАЗНДАТ(B2;СЕГОДНЯ();»y»)&» «&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(B2;СЕГОДНЯ();»y»)-11;100);9);10);»[<1]год;[<4]года;лет»)&» «;)& ЕСЛИ(РАЗНДАТ(B2;СЕГОДНЯ();»ym»);РАЗНДАТ(B2;СЕГОДНЯ();»ym»)&» меся»&ТЕКСТ(ОСТАТ(РАЗНДАТ(B2;СЕГОДНЯ();»ym»)-1; 11);»[<1]ц;[<4]ца;цев»)&» «;)& ЕСЛИ(РАЗНДАТ(B2;СЕГОДНЯ();»md»);РАЗНДАТ(B2;СЕГОДНЯ();»md»)&» д»&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(B2;СЕГОДНЯ();»md»)-11;100);9); 10);»[<1]ень;[<4]ня;ней»);)

И вот что получится:

Более подробно об использовании функции РАЗНДАТ читайте в материале о расчете разности между датами в Excel.

Сколько вам будет на определённую дату?

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

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

Итак, вот как это может выглядеть:

Вот расчет:

=РАЗНДАТ(B2;C3;»Y»)&» лет, «&РАЗНДАТ(B2;C3;»YM»)&» мес., «&РАЗНДАТ(B2;C3;»MD»)&» д.»

или же —

=ЕСЛИ(РАЗНДАТ(B2;C3;»y»);РАЗНДАТ(B2;C3;»y»)&» «&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(B2;C3;»y»)-11;100);9);10);»[<1]год;[<4]года;лет»)&» «;)& ЕСЛИ(РАЗНДАТ(B2;C3;»ym»);РАЗНДАТ(B2;C3;»ym»)&» меся»&ТЕКСТ(ОСТАТ(РАЗНДАТ(B2;C3;»ym»)-1; 11);»[<1]ц;[<4]ца;цев»)&» «;)& ЕСЛИ(РАЗНДАТ(B2;C3;»md»);РАЗНДАТ(B2;C3;»md»)&» д»&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(B2;C3;»md»)-11;100);9); 10);»[<1]ень;[<4]ня;ней»);)

Сколько вам будет лет в определенный год?

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

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

Если предположить, что ДР указан в столбце B, начиная со строки 2, а год последнего медицинского осмотра находится в столбце C, то расчет выглядит следующим образом:

=РАЗНДАТ(B2;ДАТА(C2;1;1);»Y»)

Поскольку точный срок медицинского осмотра не определен, вы используете функцию ДАТА с произвольным аргументом дня и месяца, например, DATА(C3; 1; 1).

Функция ДАТА извлекает номер года из ячейки С2, создает полную дату, используя введенные вами номера месяца и дня (в этом примере 1 января), и передает ее в РАЗНДАТ. В результате вы получаете сумму прожитых пациентом лет по состоянию на 1 января определенного года.

Узнайте дату, когда человек достигает N лет

Предположим, ваш друг родился 21 марта 1974 года. Как вам определить, когда ему исполняется 50 лет? Обычно вы просто добавляете 50 лет к ДР человека. В Excel вы делаете то же самое, используя ДАТА:

=ДАТА(ГОД(B2) + 50; МЕСЯЦ(B2); ДЕНЬ(B2))

Где B2 — день рождения.

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

Калькулятор возраста для Excel

Пользователям надстройки Ultimate Suite не нужно беспокоиться о создании своего собственного калькулятора возраста в Excel — это всего лишь пара щелчков мышью:

  1. Выберите ячейку, в которую вы хотите вставить формулу возраста, перейдите на вкладку «Ablebits Tools»> группу «Date & Time» и нажмите кнопку «Мастер даты и времени (Date & Time Wizard)» .
  2. Мастер даты и времени запустится, и вы перейдете прямо на вкладку «Возраст (Age)».
  3. Здесь вам нужно указать 3 параметра:
    • Данные о рождении в виде ссылки на ячейку или дату в формате  дд/мм/гггг.
    • Рассчитывать возраст на сегодняшний день или на конкретную дату.
    • Выберите, следует ли рассчитывать возраст в днях, месяцах, годах, неделях, или в полном виде (лет, месяцев, дней).
  4. Нажмите кнопку « Вставить формулу (Insert Formula)» .

Готово!

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

Как вы могли заметить, формула, созданная калькулятором возраста в Excel, более сложна, чем те, которые мы обсуждали до сих пор.

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

Либо вовсе не добавляйте текст и получите возраст в виде текста «лет/месяцев/дней» (см. ячейку B7 на скриншоте выше).

Если вы хотите избавиться от нулевых единиц, таких как «0 дней», установите флажок «Не показывать нулевые значения».

Также вы можете более подробно узнать о мастере даты и времени здесь.

Если вам интересно протестировать этот калькулятор возраста, а также открыть для себя еще 60 надстроек для экономии времени в Excel, то можете загрузить пробную версию  Ultimate Suite. Если вам понравились инструменты и вы решили получить лицензию, не пропустите это специальное предложение для читателей нашего сайта.

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

Также рекомендуем почитать о работе с датами:

Как перевести время в число В статье рассмотрены различные способы преобразования времени в десятичное число в Excel. Вы найдете множество формул для преобразования времени в часы, минуты или секунды. Поскольку Microsoft Excel использует числовую систему для работы с временем, вы можете…
Формат времени в Excel Вы узнаете об особенностях формата времени Excel, как записать его в часах, минутах или секундах, как перевести в число или текст, а также о том, как добавить время с помощью…
Как вывести месяц из даты На примерах мы покажем, как получить месяц из даты в таблицах Excel, преобразовать число в его название и наоборот, а также многое другое. Думаю, вы уже знаете, что дата в…
Как быстро вставить сегодняшнюю дату в Excel? Это руководство показывает различные способы ввода дат в Excel. Узнайте, как вставить сегодняшнюю дату и время в виде статической метки времени или динамических значений, как автоматически заполнять столбец или строку…
Количество рабочих дней между двумя датами в Excel Довольно распространенная задача: определить количество рабочих дней в период между двумя датами – это частный случай расчета числа дней, который мы уже рассматривали ранее. Тем не менее, в Excel для…

На чтение 5 мин Просмотров 2.2к. Опубликовано 27.02.2022

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

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

Содержание

  1. Стандартный расчет количества дней
  2. С помощью функции ДНИ
  3. С помощью функции РАЗНДАТ
  4. Расчет кол-ва рабочих дней
  5. Расчет кол-ва неполных рабочих дней между двумя датами
  6. Количество понедельников между двумя датами

Стандартный расчет количества дней

Итак, в Excel есть две функции для вычисления кол-ва дней.

С помощью функции ДНИ

Чтобы получить результат от функции нам понадобится дата начала и дата конца.

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

Хороший пример вы можете видеть на картинке ниже:

Используем эту формулу:

=ДНИ(B2;B1)  

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

Эта функция вычислит количество дней между этими датами, но если вы хотите чтобы расчет велся «включительно» с датами начала и конца, то добавьте к результату + 1 (просто пропишите это в функции).

С помощью функции РАЗНДАТ

Эта функция аналогична, её отличие в том, что можно указать больше параметров. То есть больше «подстроить» под ситуацию.

Также можно вычислить кол-во месяцев или лет между датами.

Допустим, мы имеем то что указано на картинке ниже:

Пропишем формулу:

=РАЗНДАТ(B1;B2;"D")  

Эта функция использует три наших аргумента:

  • Дата начала — B1
  • Дата окончания — B2
  • «D» — текстовая строка

Важный момент: этой функции не будет в подсказке при написании названия функции, т.е. если вы будете писать РАЗНДАТ, Excel будет вести себя так, как будто он не знает что это за функция, но это не так.

Функция РАЗНДАТ больше подходит для ситуаций, когда нужно вычислить кол-во лет или месяцев между датами, в других ситуациях удобнее применять ДНИ (функцию).

Вот формула, которая даст результат по месяцам, которые будут между датами:

=РАЗНДАТ(B1;B2;"M") 

А эта формула, тоже самое что и прошлая, только вычисляет кол-во лет:

=РАЗНДАТ(B1;B2;"Y")  

Расчет кол-ва рабочих дней

Итак, рабочие дни можно вычислить двумя способами:

  • Функция Excel ЧИСТРАБДНИ — ее следует использовать, если выходные дни — суббота и воскресенье.
  • Функция Excel ЧИСТРАБДНИ.МЕЖД — используйте ее, когда выходные дни отличаются от субботы и воскресенья.

Сначала быстро рассмотрим синтаксис и аргументы фунции ЧИСТРАБДНИ.

Функция Excel ЧИСТРАБДНИ

=ЧИСТРАБДНИ(нач_дата, конеч_дата, [праздники])

  • нач_дата — это дата начала отсчета.
  • end_date — это конечная дата отсчета.
  • [праздники] — (Необязательно) Отдельная дата или диапазон дат, которые не будут учитываться в расчетах.

Посмотрим на стандартный пример, когда нужно посчитать кол-во рабочих дней.

Мы будем использовать эту формулу:

=ЧИСТРАБДНИ(B2;C2;$F$2:$F$6)  

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

Но бывают и другие ситуации, к примеру, в разных странах выходные на неделе строятся по-разному, это может быть пятница и так далее.

Именно для таких ситуаций и появилась функция ЧИСТРАБДНИ.МЕЖД.

Посмотрим что из себя представляет эта функция.

Функция Excel ЧИСТРАБДНИ.МЕЖД

=ЧИСТРАБДНИ.МЕЖД(нач_дата; конеч_дата; [выходные]; [праздники])

  • нач_дата — значение даты, представляющее собой начальную дату.
  • конеч_дата — значение даты, представляющее дату окончания.
  • [нерабочие дни] — (Необязательно) в этом аргументе указываются исключительные дни(праздники и т.д.), если аргумента не будет, выходные останутся по-стандарту(суббота и воскресенье).

А сейчас, попробуем посчитать кол-во рабочих дней, если выходными будут пятница и суббота.

Допустим, таблица такая же как и в прошлом примере:

Будем использовать формулу:

=ЧИСТРАБДНИ.МЕЖД(B2;C2;7;$F$2:$F$6)  

3 аргумент в функции сообщает Excel, что пятница и суббота выходные.

Также, мы можем использовать ЧИСТРАБДНИ.МЕЖД для расчета выходных между двумя датами.

Она конечно вычисляет кол-во рабочих дней, но мы можем адаптировать это «под себя».

Допустим, таблица все та же:

Формула, которая нам подойдет:

=ДНИ(C2;B2)+1-РАЗНДАТ(B2;C2)

Расчет кол-ва неполных рабочих дней между двумя датами

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

Допустим, у нас есть похожая таблица с данными:

Формула, для нашего случая, будет такой:

=ЧИСТРАБДНИ.МЕЖД($B$3;$C$3;"1010111";$E$3:$E$7)  

Для обозначения выходных дней, мы использовали «1010111».

  • 0 — рабочий день
  • 1 — неполный рабочий день

Первая цифра из этого числа — понедельник, последняя — воскресенье

Грубо говоря, «0000011» значит, что с понедельника по пятницу — рабочие дни, а суббота и воскресенье — нерабочие (выходные).

По той же логике, «1010111» означает, что только вторник и четверг являются рабочими, а остальные 5 дней — нерабочими.

Если вам нужно исключить какие-то дни из расчетов, можете исключать их таким образом.

Количество понедельников между двумя датами

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

Функция, которая выведет кол-во понедельников:

=ЧИСТРАБДНИ(B2;C2;"0111111")  

В этой формуле «0» означает рабочий день, а «1» — нерабочий день.

Формула рассчитывает количество рабочих дней, с учетом того что единственный рабочий день — это понедельник.

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

  • Редакция Кодкампа

17 авг. 2022 г.
читать 1 мин


Мы можем использовать функцию DATEDIF() для вычисления разницы между двумя датами в Excel.

Эта функция использует следующий синтаксис:

=DATEDIF(Начальная_Дата, Конечная_Дата, Метрика)

куда:

  • Start_Date: дата начала
  • End_Date: Дата окончания
  • Метрика: метрика для расчета. Варианты включают:
  • «д»: дни
  • «м»: Месяцы
  • «г»: годы

Важно отметить, что эта функция не появится автоматически в Excel, пока вы полностью не введете =РАЗНДАТ( в одну из ячеек.

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

Пример 1: разница в днях

На следующем изображении показано, как рассчитать разницу (в днях) между двумя датами:

Разница дат в днях в Excel

Это говорит нам о том, что между 01.01.2018 и 01.02.2021 1127 полных дней.

Пример 2: разница в месяцах

На следующем изображении показано, как рассчитать разницу (в месяцах) между двумя датами:

Разница дат в месяцах в Excel

Пример 3: Разница в годах

На следующем изображении показано, как рассчитать разницу (в годах) между двумя датами:

Разница в годах между двумя датами в Excel

Пример 4: Разница в годах и месяцах

На следующем рисунке показано, как рассчитать разницу (в годах и месяцах) между двумя датами:

Разница в годах и месяцах между двумя датами в Excel

Вы можете найти больше руководств по Excel на этой странице .

Написано

Редакция Кодкампа

Замечательно! Вы успешно подписались.

Добро пожаловать обратно! Вы успешно вошли

Вы успешно подписались на кодкамп.

Срок действия вашей ссылки истек.

Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.

Успех! Ваша платежная информация обновлена.

Ваша платежная информация не была обновлена.

Понравилась статья? Поделить с друзьями:
  • Чем заменить программу microsoft word
  • Чем заменить или в excel
  • Чем заменить еще один символ excel
  • Чем заменить гиперссылку в excel
  • Чем заменить word на телефоне