Skip to content
Из этого обзора вы узнаете несколько быстрых и простых способов подсчета, сколько дней проходит между двумя датами в Excel.
Вам интересно, сколько составляет разница в днях, месяцах и годах между двумя датами? Может быть, вам нужно знать количество дней между сегодняшним днем и какой-либо точкой в прошлом или будущем?
Какова бы ни была ваша проблема, один из приведенных ниже примеров в Excel наверняка подскажет вам решение.
- Простой калькулятор дней
- Как рассчитать разницу в днях?
- Расчёт разницы между датами при помощи функции РАЗНДАТ (DATEDIF)
- Разница в днях
- В полных месяцах
- В полных годах
- В полных месяцах без учёта лет
- Разница в днях без учета месяцев и лет
- В днях без учёта лет
- Как посчитать разницу в днях, месяцах и годах
- Подсчёт с помощью функции ДНИ
- Как рассчитать количество дней между сегодняшним днем и другой датой
- Мастер даты и времени — простой способ создавать формулы разницы дат в Excel
Простой калькулятор дней.
Если вы ищете быстрый ответ, просто укажите две даты в соответствующих ячейках, и наш калькулятор покажет вам, сколько суток между ними:
Хотите узнать формулу, которая рассчитала эти результаты? Это так же просто, как =B3-B2:)
Обратите внимание, что нужно четко знать, что именно вы хотите подсчитать: «дни включительно» или «дни между».
Кроме того, прежде чем выполнять операции с датой-временем, нужно установить правильный формат в ячейках вашей таблицы. Чаще всего Эксель сам подбирает нужный формат представления данных, но все же лучше подстраховаться.
Для этого выберите клетку или диапазон ячеек с числами, которые вы хотите представить как даты, и нажмите комбинацию клавиш Ctrl + 1, чтобы открыть диалоговое окно «Формат ячеек». На вкладке «Числовые форматы» в пункте «Дата», выберите подходящий для вас внешний вид в разделе «Тип» и нажмите кнопку «ОК».
Далее вы найдете подробное объяснение того, как работает эта формула, и узнаете несколько других способов вычисления.
Как рассчитать разницу в днях?
Самый простой способ рассчитать дни между датами в Эксель — вычесть одну из другой:
= Более новая — Более старая
Как мы уже сказали ранее, чтобы узнать, сколько времени пройдет в периоде между ячейками В3 и B2, используйте следующую формулу:
=B3 — В2
где В2 — более ранняя, а B3 — более.
Результатом подсчета является целое число, которое представляет количество дней внутри временного интервала.
Однако, будьте здесь внимательны: при подобном подсчете отработанных дней в том случае, если человек работал и в первый, и в последний день, то 1 день будет «потерян». Добавьте в вашу формулу +1 день.
Как работает эта формула?
Как вы, вероятно, знаете, Microsoft Excel хранит даты в виде порядковых номеров, начинающихся с 1 января 1900 года, которому соответствует номер 1. В этой системе 2 января 1900 года сохраняется как число 2, 3 января 1900 года как 3 и так далее. Таким образом, вычитая одну дату из другой, вы фактически вычитаете целые числа, представляющие их.
В нашем примере формула в C5 на самом деле вычитает 43892 (числовое значение 2 марта 2020г.) из 43900 (числовое значение 10 марта 2020г.) и возвращает результат 8 дней.
Положительный момент этого метода в том, что он отлично работает во всех случаях, независимо от того, какая дата старше, а какая новее. Если вы вычитаете более позднюю дату из более ранней, то формула просто возвращает разницу в виде отрицательного числа.
Рассчитать разницу между датами в Excel с помощью РАЗНДАТ (DATEDIF).
Другой способ — как в Экселе посчитать дни в заданном временном интервале — использование функции РАЗНДАТ (в английском варианте – DATEDIF), которая специально разработана для расчета разности во времени и представления её в различных единицах: дни, месяцы и годы.
А вот ее синтаксис:
= РАЗНДАТ(дата_нач; дата_кон; аргумент)
где
дата_нач и дата_кон — две временных отметки, разницу между которыми необходимо рассчитать,
аргумент – указывает, как представить результат; может иметь одно из следующих значений:
- Y Число полных лет.
- M Число полных месяцев.
- D Число дней.
- MD Разница в днях (значения месяца и года не учитываются).
- YM Разница в месяцах (значения дня и года не учитываются).
- YD Разница в днях, игнорируя значения года.
Чтобы получить количество дней между двумя датами, укажите момент начала в первом аргументе, срок окончания во втором, и «d» в последнем третьем:
РАЗНДАТ(дата_нач; дата_кон; «d»)
DATEDIF (start_date, end_date, «d»)
Примечание. РАЗНДАТ (DATEDIF) — недокументированная функция, то есть ее нет в мастере функций в Excel. Вы не сможете ее вставить при помощи кнопки fx или меню Вставка — Функция. Чтобы создать формулу РАЗНДАТ в таблице Экселя, вам нужно вписать ее название руками и ввести все аргументы вручную, подсказок ввода не будет.
В ней вы можете указывать исходные данные различными способами, такими как:
- Ссылки на ячейки. Например, следующая формула вернет количество дней между A3 и B3:
=РАЗНДАТ(A3; B3; «D»)
Текстовые выражения. Excel понимает даты в различных форматах, например, «2 март 2020», «20.03.2020», «20/03/2020», «2020/03/20», «20-03-2020», «2020-03-20» и т.д.
Вот примеры расчета количества дней во временных промежутках:
=РАЗНДАТ(«2 март 2020»; «2020-03-20»; «D»)
=РАЗНДАТ(«02-03-2020»; «20/03/2020»; «D»)
Естественно, эти значения могут быть записаны и в ячейках, а формула на них будет ссылаться.
- Порядковые номера. Поскольку Microsoft Excel хранит каждую дату как порядковый номер, начинающийся с 1 января 1900 года, вы можете поместить числа, соответствующие датам, непосредственно в формулу. Хотя этот метод полностью поддерживается, все же он не является надежным, поскольку нумерация различается в разных компьютерных системах (Windows и MacOS).
В системе дат 1900 года следующая формула является еще одним способом вычисления месяцев по условиям из предыдущего примера (2 марта 2020 года и 10 марта 2020 года):
=РАЗНДАТ(43900; 43892; «D»)
- Результаты выполнения других функций. Например, следующая формула подсчитывает, срок между сегодня (18 марта 2020г.) и 9 мая 2020 года.
=РАЗНДАТ(СЕГОДНЯ(); «9-05-2020»; «D»)
В отличие от операции вычитания, функция РАЗНДАТ может только вычесть более старую дату из более новой, но не наоборот. Если точка начала позже точки окончания, расчет выдает ошибку #ЧИСЛО!, как в строке 4 на скриншоте ниже:
1. Разница в днях.
В нашем примере формула расчета в D3 выглядит следующим образом:
=РАЗНДАТ(A3; B3; «D»)
Обратите также внимание, что при простом вычитании дат, которые также содержат время, мы получаем в результате дробное число. Так произошло в С5 и С6. Что делать с такими дробями – поговорим чуть позже. А вот время здесь просто игнорируется. В этом вы можете убедиться в диапазоне D5:I6.
Аналогичный результат можно получить формулами:
=ЦЕЛОЕ(В2)-ЦЕЛОЕ(А2)
Время, то есть дробная часть, будет отброшено.
Кстати, если нужно подсчитать только рабочие дни, то следует использовать выражение
=ЧИСТРАБДНИ(В2;А2)
Более подробно о расчете рабочих дней читайте здесь.
2. Разница в полных месяцах.
Обращаемся к ячейке Е3:
=РАЗНДАТ(A3;B3;»m»)
Обратите внимание, выражение вернет количество полных месяцев. В нашем примере 13 месяцев и 7 дней «округлены» ровно до 13. И последний день интервала, как мы уже говорили, эта функция не учитывает. В частности,
=РАЗНДАТ(“01.03.2020”;”31.03.2020”;»m»)
возвращает результат 0, так как последний день не включается в расчет. Вы это видите в ячейке E7. Это также будет важно при расчете стажа и отработанного времени. Учитывайте эту особенность и просто добавляйте 1 дополнительный день!
Формула может быть заменена альтернативным выражением:
= 12*(ГОД(B3)-ГОД(A3))- (МЕСЯЦ(A3)-МЕСЯЦ(B3))-(ДЕНЬ(B3)<ДЕНЬ(A3))
3. Разница в полных годах.
Формула в ячейке F3 вернет количество полных лет:
=РАЗНДАТ(A3;B3;»Y»)
Опять же, считается только полный год, остальное отбрасывается.
Ну и альтернативный способ расчета —
= ЕСЛИ(ДАТА(ГОД(B3); МЕСЯЦ(A3);ДЕНЬ(A3))<= B3; ГОД(B3)-ГОД(A3);ГОД(B3)-ГОД(A3)-1)
4. Разница в полных месяцах без учета лет.
Используем в I3 аргумент «YM».
=РАЗНДАТ(A3;B3;»YM»)
Второй параметр и конечная точка у нас – 10.04.2020 г. Поскольку годы мы здесь игнорируем, то год первого параметра также становится 2020. И мы теперь сравниваем 10.04.2020 и 2.03.2020г.
Результат – 1 полный месяц.
А вот если начало, предположим, будет 01.09.2015г.? Ведь ее нельзя модифицировать до 01.09.2020, поскольку тогда функция выдаст ошибку. И программа ее меняет на 01.09.2019. Результат здесь – 7 полных месяцев.
Я очень сомневаюсь, что кто-то будет проводить подобный расчет. Но он нам будет нужен, чтобы подсчитать количество дней, месяцев и лет между двумя точками. Об этом мы поговорим чуть ниже.
Ну и альтернативный расчет –
=ОСТАТ((12*(ГОД(B3)-ГОД(A3))- (МЕСЯЦ(A3)-МЕСЯЦ(B3))-(ДЕНЬ(B3)<ДЕНЬ(A3)))/12)
5. Разница в днях без учета месяцев и лет.
Здесь немного сложнее. Итак, в G3 пишем:
=РАЗНДАТ(A3;B3;»MD»)
Разберем, как получен результат в G3. Поскольку для нас не важны месяц и год, мы в начальной дате меняем их на текущие. То есть вместо 02.03.2019 рассматриваем 02.04.2020. Сравниваем с 10.04.2020 и получаем 8 дней. Есть ли в таком результате смысл? Вряд ли. Поэтому и не рекомендуется применение этого аргумента как отдельного расчета.
Быть может, поэтому РАЗНДАТ и нет в списке официальных функций Excel.
6. Разница в днях без учета лет.
То же самое, что и в предыдущем аргументе. Считаем количество суток между двумя точками без учета лет.
=РАЗНДАТ(A3;B3;»YD»)
Для начального момента — 02.03.2019 и конечного – 10.04.2020, разница в 39 дней выглядит явной ошибкой. Аналогично – между 01.09.2015 и 10.04.2020 совсем не 222 дня.
Следовательно, использование этого аргумента также не рекомендуем.
А зачем же всё это нужно? Ответ читайте в следующем разделе.
Как посчитать разницу в днях, месяцах и годах.
Чтобы подсчитать, сколько полных лет, месяцев и дней составляет разница «от» и «до» с использованием одной формулы, вы просто объединяете три функции в одно выражение:
=РАЗНДАТ(B2;B3;»Y»)&» лет, «&РАЗНДАТ(B2;B3;»YM»)&» месяцев, «&РАЗНДАТ(B2;B3;»MD»)&» дней»
Если вы не хотите отображать нулевые значения лет, месяцев и дней, то выражение можно изменить, добавив условие ЕСЛИ:
=ЕСЛИ(РАЗНДАТ(B2;B3;»Y»)>0;РАЗНДАТ(B2;B3;»Y»)&» лет «;»»)&ЕСЛИ(РАЗНДАТ(B2;B3;»YM»)>0;РАЗНДАТ(B2;B3;»YM»)&» месяцев «;»»)&ЕСЛИ(РАЗНДАТ(B2;B3;»MD»)>0;РАЗНДАТ(B2;B3;»MD»)&» дней»;»»)
Более подробно об условиях и функции ЕСЛИ читайте здесь.
А вот еще один более сложный, но зато более универсальный вариант расчета разницы в днях, месяцах и годах с учетом склонений и падежей:
=ЕСЛИ(РАЗНДАТ(B2;B3;»y»);РАЗНДАТ(B2;B3;»y»)&» «&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(B2;B3;»y»)-11;100);9);10);»[<1]год;[<4]года;лет»)&» «;)& ЕСЛИ(РАЗНДАТ(B2;B3;»ym»);РАЗНДАТ(B2;B3;»ym»)&» меся»&ТЕКСТ(ОСТАТ(РАЗНДАТ(B2;B3;»ym»)-1; 11);»[<1]ц;[<4]ца;цев»)&» «;)& ЕСЛИ(РАЗНДАТ(B2;B3;»md»)>0;РАЗНДАТ(B2;B3;»md»)&» д»&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(B2;B3;»md»)-11;100);9); 10);»[<1]ень;[<4]ня;ней»);)
Выглядит угрожающе, но зато работает.
Подсчет с помощью функции ДНИ
У пользователей Excel 2013 и 2016 есть еще один удивительно простой способ посчитать количество дней во временном интервале — функция ДНИ.
ДНИ (дата_окончания; дата_начала)
Обратите внимание, что по сравнению с РАЗНДАТ, функция ДНИ требует указания дат в обратном порядке.
Итак, наше выражение принимает вид:
=ДНИ(B3;A3)
Как и обычное вычитание, оно возвращает разницу в виде положительного или отрицательного числа, в зависимости от того, больше или меньше срок окончания, чем начало:
Думаю, в большинстве случаев можно использовать простое вычитание. Возможно, при этом только нужно будет изменить формат ячейки, убрав дробную часть.
Как рассчитать количество дней между сегодня и другой датой.
Для этого расчета вы можете использовать любую из формул, описанных выше, и применить функцию СЕГОДНЯ (TODAY в английском варианте) в качестве одного из аргументов.
Чтобы рассчитать количество прошедших дней с определенного момента, то есть между прошлым и сегодняшним днем:
=СЕГОДНЯ() – Дата_в_прошлом
Для подсчета количества дней, оставшихся до наступления какого-то события, то есть между будущим временем и сегодняшним днем:
=Дата_в_будущем — СЕГОДНЯ()
В качестве примера, давайте посчитаем разницу между текущим моментом времени и более ранним — в A4 (сегодня 18 марта 2020г.):
=СЕГОДНЯ()–A3
А теперь давайте выясним, сколько осталось от сегодняшнего дня (18.03.2020г.) до более позднего срока:
Ну а если не менять выражение по сравнению с предыдущим расчетом, то просто получите отрицательное количество дней.
Мастер даты и времени — простой способ создавать формулы разницы дат в Excel
Как показано в первой части этого руководства, функция РАЗНДАТ (DATEDIF) — довольно универсальная, подходящая для самых разных целей. Однако есть один существенный недостаток — она не документирована Microsoft, то есть вы не найдете РАЗНДАТ в списке функций и не увидите всплывающих подсказок для аргументов, когда начнете вводить формулу в ячейку. Чтобы иметь возможность использовать функцию РАЗНДАТ в своих таблицах, вы должны запомнить ее синтаксис и ввести все аргументы вручную, что может занять много времени и привести к ошибкам, особенно у начинающих.
Надстройка Ultimate Suite радикально меняет это положение, поскольку там имеется мастер даты и времени, который может мгновенно создать практически любую формулу разницы дат. Если вы не уверены, какую формулу использовать, позвольте мастеру даты и времени вычислить количество дней между двумя датами за вас Вот каким образом это можно сделать:
- Выберите ячейку, в которую вы хотите вставить формулу.
- Перейдите на вкладку Ablebits Tools и нажмите кнопку Мастер даты и времени (Date & Time Wizard).
- Появится диалоговое окно мастера даты и времени, где вы переходите на вкладку «Разница (Difference)» и вводите необходимые данные для расчёта:
- Щелкните поле Дата 1 и выберите ячейку, содержащую первую дату.
- Щелкните поле Дата 2 и укажите ячейку со второй датой.
- Выберите желаемую единицу или комбинацию единиц времени из раскрывающегося меню «Разница в (Difference in)» . При этом программа позволяет предварительно просмотреть результат в поле и формулу в ячейке.
Инструмент может рассчитать разницу между двумя датами в 15 форматах:
- Годы
- Месяцы
- Недели
- Дни
- Годы + месяцы
- Годы + недели
- Годы + дни
- Месяцы + недели
- Месяцы + дни
- Недели + дни
- Годы + месяцы + недели
- Годы + месяцы + дни
- Годы + недели + дни
- Месяцы + недели + дни
- Годы + месяцы + недели + дни
- Если вас устраивает то, что вы увидели, нажмите кнопку «Вставить формулу (Insert Formula)», в противном случае попробуйте другие единицы измерения.
После того, как формула вставлена в выбранную ячейку, вы можете скопировать ее вниз по столбцу, как обычно дважды щелкнув или перетащив маркер заполнения.
К сожалению, метки даты и времени вставляются по-английски. Однако, поскольку надстройка формирует для вас не текст, а формулу расчета (что вы и видите на скриншоте), то откорректировать формулу и пользоваться в дальнейшем ее русской версией не слишком сложно.
Да и вряд ли вы самостоятельно напишете такую сложную конструкцию 😊
Для наиболее удобного представления результатов доступно еще несколько дополнительных опций:
- Исключить годы и / или месяцы из расчетов. (Годы и / или месяцы просто будут отброшены).
- Показывать или не показывать текстовые метки времени, такие как дни, месяцы, недели и годы .
- Показывать или не показывать нулевые единицы (0 месяцев, например) .
- Возвращает результаты как отрицательные значения, если Дата 1 (дата начала) больше, чем Дата 2 (дата окончания). Думаю, вы сталкивались с ситуацией, когда попытка вычесть из более ранней даты более позднюю приводила к ошибке. Здесь вы просто получите отрицательную разность.
Более подробная информация доступна здесь.
Преимущества использования мастера формул даты и времени
Помимо скорости и простоты, Мастер даты и времени предоставляет еще несколько преимуществ:
- В отличие от обычной формулы РАЗНДАТ, для формулы, созданной мастером, не важно, какая из двух дат меньше, а какая больше. Разница всегда рассчитывается идеально, даже если Дата 1 (дата начала) больше, чем Дата 2 (дата окончания).
- Мастер поддерживает все возможные единицы измерения (дни, недели, месяцы и годы) и позволяет вам выбирать подходящий вариант из 11 различных комбинаций этих единиц.
- Формулы, которые мастер создает для вас, являются обычными формулами Excel, поэтому вы можете редактировать, копировать или перемещать их как обычно. Вы также можете поделиться своими таблицами с другими людьми, и все формулы останутся на своих местах, даже если у кого-то нет Ultimate Suite в их Excel.
Если вам интересно протестировать этот калькулятор дат, а также открыть для себя еще 60 надстроек для упрощения работы и экономии времени в Excel, то можете загрузить пробную версию Ultimate Suite. Если вам понравились инструменты и вы решили купить лицензию, не пропустите это специальное предложение для читателей нашего сайта.
Думаю, теперь операции с датами стали для вас намного проще и понятнее. Если вы не нашли ответ на интересующий вас вопрос, ознакомьтесь с дополнительными материалами, ссылки на которые вы видите чуть ниже. Или напишите нам в комментариях – постараемся ответить.
Также рекомендуем статьи о работе с датами:
ZVI Пользователь Сообщений: 4328 |
Видел кратко сегодня 2 темы Лунтика по замене скрытой функции РАЗНДАТ на обычные формулы. источника , то выложу здесь вариант для дат, больших текущей, аналогично использованию РАЗНДАТ с параметрами «m» и «md». В столбце F — формулы с использованием РАЗНДАТ а в столбце G — обычными формулами. |
БМВ Модератор Сообщений: 21380 Excel 2013, 2016 |
ZVI, Владимир, добрый день. В указанной первой теме Лунтик так и не смог пояснить «правил игры» по этому и закрыли на четвертом листе первую. что касается техники, то по прежнему остается открытый вопрос,
, то есть между 28.02.2019 и 29.02.2020 12 месяцев или 12 месяцев и 1 день. Изменено: БМВ — 07.02.2019 20:31:39 По вопросам из тем форума, личку не читаю. |
ZVI Пользователь Сообщений: 4328 |
Михаил, добрый вечер, я специально не вникал в нюансы Fuzzy Logic темы, а лишь изобразил прямой аналог РАЗНДАТ по результату, так как где-то там звучало, что в ОpenОffice нет такой функции. А сойдет или нет — мне не очень-то и важно Изменено: ZVI — 07.02.2019 22:21:15 |
ZVI Пользователь Сообщений: 4328 |
На всякий случай, когда-то уже приводил примеры ошибок функции РАЗНДАТ в теме Разница дат Причем, у разных версий Office попадались свои ошибки. |
Лунтик Пользователь Сообщений: 213 |
ZVI, смотрите, для сегодняшнего дня у Вас в ячейке C24 10 мес 30 дн, а должно быть 10 мес 27 дн. То есть месяцы должны считаться календарные. Подскажите, пожалуйста, как поправить формулу? Ребята, вот мне реально не понятно, — что Вам не понятно. Есть рабочие формулы Михаила Витальевича С. и ZVI. Их нужно лишь чуть-чуть переделать. Всё вроде объяснено и в файле показано. Что не понятно? |
БМВ Модератор Сообщений: 21380 Excel 2013, 2016 |
Вы напишите как вы считает и почему это так, какие дни входят и почему именно так, только не так как файле: A и B должно быть С. Про всю бесполезность такого отображения этого Вам уже написали ранее. Это все равно что навигатор бы подсказывал, что через 100км 431м 24см вам резко вправо. По вопросам из тем форума, личку не читаю. |
Лунтик Пользователь Сообщений: 213 |
#7 11.02.2019 14:25:58
Так мне именно это и нужно.
Считаем для ячейки С24: 10 месяцев — это понятно — дней: 17 дней в этом феврале оставшихся + 10 дней января 2020 = 27 дней. Подскажите, пожалуйста, как исправить формулу. |
||||
ZVI Пользователь Сообщений: 4328 |
=12*(ГОД(C24)-ГОД(СЕГОДНЯ()))+МЕСЯЦ(C24)-МЕСЯЦ(СЕГОДНЯ())-(ДЕНЬ(C24)<ДЕНЬ(СЕГОДНЯ()))&» мес «&ЕСЛИ(ДЕНЬ(C24)<ДЕНЬ(СЕГОДНЯ());ДЕНЬ(C24)+ДЕНЬ(КОНМЕСЯЦА(СЕГОДНЯ();0))-ДЕНЬ(СЕГОДНЯ());ДЕНЬ(C24)-ДЕНЬ(СЕГОДНЯ()))&» дн» или немного покороче: Изменено: ZVI — 11.02.2019 15:18:55 |
БМВ Модератор Сообщений: 21380 Excel 2013, 2016 |
#9 11.02.2019 15:12:30
а теперь все тоже про с23 4 мес 45 дней устроит? 17 в феврале и 28 в июне — так? Изменено: БМВ — 11.02.2019 15:20:26 По вопросам из тем форума, личку не читаю. |
||
ZVI Пользователь Сообщений: 4328 |
#10 11.02.2019 15:21:35
Михаил, да вроде учел же ж )) Прикрепленные файлы
Изменено: ZVI — 11.02.2019 15:26:19 |
||
Лунтик Пользователь Сообщений: 213 |
#11 11.02.2019 15:25:06 Меня английский эксель. Вставляю руками — формула как-то меняется. Покажите в файле, пожалуйста.
Так тут уже за 31 день. Нужно КАЛЕНДАРНЫЕ месяцы считать. |
||
ZVI Пользователь Сообщений: 4328 |
#12 11.02.2019 16:13:33
К сообщению #18 прикреплен файл |
||
Лунтик Пользователь Сообщений: 213 |
#13 11.02.2019 16:29:45
Было упомянуто, что это — даты сертификатов. А кто считает срок действия сертификата иначе, чем по календарным месяцам? Да и исходя из объяснений по конкретным ячейкам разве сложно было понять? |
||
Лунтик Пользователь Сообщений: 213 |
#14 11.02.2019 16:30:37 К тому же
в посте 9 |
||
ZVI Пользователь Сообщений: 4328 |
Лунтик, Вы файл смотреть-то будете? |
БМВ Модератор Сообщений: 21380 Excel 2013, 2016 |
Del Изменено: БМВ — 11.02.2019 21:57:53 По вопросам из тем форума, личку не читаю. |
Лунтик Пользователь Сообщений: 213 |
#17 11.02.2019 16:58:31
Было много работы. Посмотрел только сейчас. В ячейке C5 получается 53 мес 11 дн., а должно быть 53 мес 9 дн. Скажите, пожалуйста, как поправить формулу? |
||
ZVI Пользователь Сообщений: 4328 |
#18 11.02.2019 17:04:03
Покажите расчет, как получается 9 |
||
Михаил Витальевич С. Пользователь Сообщений: 10514 |
#19 11.02.2019 17:04:04
объясните, почему? |
||
ZVI Пользователь Сообщений: 4328 |
Посмотрите, так Вам нужно? |
Лунтик Пользователь Сообщений: 213 |
#21 11.02.2019 17:14:06 Испортилась ячейка C23: было 4 мес 17 дн — и это правильно, а стало 4 мес 15 дн. Скажите, пожалуйста, как поправить формулу?
Объясняю: 53 мес — понятно, дни: я считаю так: поставим в ячейку C5 дату 01.08.2023. Считаем: 17 дней февраля и 1 день августа — 18 дней. Вычитаем 9 дней (между 1 августа и 22 июля) и получаем 9 дней. Итого 53 мес 9 дней. |
||
ZVI Пользователь Сообщений: 4328 |
…Удалено… Изменено: ZVI — 12.02.2019 14:30:33 |
ZVI Пользователь Сообщений: 4328 |
Лунтик, посчитайте по такой логике все остальные ячейки, где дата больше текущей, и приложите результат. |
MCH Пользователь Сообщений: 3875 |
#24 11.02.2019 18:04:58 Если нужно быстро посчитать количество дней/месяцев между датами, то можно воспользоваться функцией ДНЕЙ360(), в ней есть разные варианты (методы)
РАЗНДАТ имеет определенные ошибки, Владимир дал ссылку Наверняка задача имеет свое прикладное назначение и есть методология для подсчета (лет, месяцев, дней) Постановление Правительства РФ от 24 июля 2002 г. N 555″Об утверждении Правил подсчета и подтверждения страхового стажа для установления трудовых пенсий» в п. 35 указано:
Думаю, что функция ДНЕЙ360() как раз для этого случая. |
||||
Михаил Витальевич С. Пользователь Сообщений: 10514 |
#25 11.02.2019 18:33:21
Ещё есть ДОЛЯГОДА()… тоже можно использовать, и даже формулы полегче получаются… |
||
ZVI Пользователь Сообщений: 4328 |
Лунтик, в приложенной таблице заполните, пожалуйста, столбцы C:D , а в E напишите комментарии по расчету. Изменено: ZVI — 11.02.2019 19:00:24 |
sokol92 Пользователь Сообщений: 4445 |
#27 11.02.2019 19:02:41 Здравствуйте, коллеги! Не может быть никакой логики для разности в месяцах, если ее нет для суммы.
Например, добавляя два раза по месяцу к 31.01.2019, мы получаем результат, отличающийся от добавления двух месяцев сразу на три дня. Изменено: sokol92 — 11.02.2019 19:06:39 Владимир |
||
ZVI Пользователь Сообщений: 4328 |
Методики с датами обычно все какие-то кривоватые (стаж и выслуги и т.п.), да и в VBA даты обязаны были унаследовать ошибки истории Изменено: ZVI — 12.02.2019 11:53:57 |
Лунтик Пользователь Сообщений: 213 |
#29 12.02.2019 11:42:40
Пожалуйста. Прикрепленные файлы
|
||
Сергей Пользователь Сообщений: 11251 |
#30 12.02.2019 12:11:49 вариант для дней для последнего примера
Прикрепленные файлы
Лень двигатель прогресса, доказано!!! |
||
Довольно часто при работе датами в таблице Эксель возникает необходимость определения временного промежутка между ними, который измеряется в днях. В Excel существуют различные способы для выполнения данной задачи. Давайте рассмотрим их.
Содержание
- Расчет разности дат
- Метод 1: использование формулы вычитания
- Метод 2: функция РАЗНДАТ
- Метод 3: функция ЧИСТРАБДНИ для определения количества рабочих дней
- Заключение
Расчет разности дат
Для корректной работы с датами сперва нужно задать ячейкам соответствующий формат. В противном случае возможны проблемы с корректным отображением дат, что сделает невозможным их дальнейшую обработку.
На самом деле Эксель способен самостоятельно определять формат ячейки после ввода в нее информации. Но этот механизм не всегда срабатывает как надо, поэтому стоит заранее самостоятельно настроить формат ячеек или проверить, правильно ли его определила программа.
- Для начала выделяем целевой диапазон ячеек, воспользовавшись зажатой левой кнопкой мыши.
- Щелкаем по выделенной области правой кнопкой мыши и в открывшемся контекстном меню выбираем команду “Формат ячеек“. Аналогичного результата можно добиться, используя комбинацию клавиш Ctrl+1.
- Перед нами окно настроек формата ячеек:
- по умолчанию мы должны оказаться во вкладке “Число” (если это не так, переключаемся в нее);
- в списке “Числовые форматы” находим позицию “Дата” и кликаем на нее;
- в поле “Тип” выбираем нужный образец представления данных, в соответствии с которым они будут отображаться на листе;
- нажимаем OK.
- Теперь все значения, вводимые в ячейки выделенной области будут восприниматься программой как данные в формате “Дата“.
Метод 1: использование формулы вычитания
Начнем, пожалуй, с самого простого способа – вычитания двух дат, представленного в виде обычной формулы.
- Вносим две даты, между которыми будем определять разницу в днях, в две разные ячейки отформатированного ранее диапазона.
- Теперь выделим ячейку, в которой планируем отобразить результат нашего вычисления.
ВАЖНО: Количество дней обозначается простым целым числом, следовательно, ячейка для его вывода должна иметь отличный от “Дата” формат, а именно – “Общий“. В противном случае полученный результат будет отображаться в формате даты, что не позволит оценить корректность проведенных вычислений. Для определения текущего формата ячейки достаточно взглянуть на соответствующее поле, расположенное в разделе инструментов “Число” на ленте вкладки “Главная“. - В нашем случае установлено значение “Дата“. Для его изменения вновь вызываем окно формата ячеек и по описанному выше алгоритму устанавливаем числовой формат “Общий“. Для сохранения изменений жмем ОК.
- Теперь можно переходить непосредственно к вычислениям:
- в итоговую ячейку вводим знак “=“;
- кликаем по ячейке с конечной датой (более поздней);
- вводим с клавиатуры символ “–” (знак минус);
- кликаем по ячейке с начальной датой.
- Для получения результата жмем клавишу Enter. В итоге получаем целое число – количество дней между двумя датами.
Метод 2: функция РАЗНДАТ
Следующий способ – это определение разницы между двумя датами при помощи функции РАЗНДАТ.
Функция имеет следующий синтаксис: =РАЗНДАТ(начальная_дата;конечная_дата;единица).
Если с двумя первыми аргументами все понятно – их суть соответствует названию, то на третьем (“единица“) стоит остановиться подробнее, так как именно он позволяет варьировать результат использования функции, выбирая единицу расчета разницы между датами:
- “d” — количество дней между датами;
- “m” — количество полных месяцев между датами;
- “y” — количество полных лет между датами;
- “YM” — разница между датами в месяцах;
- “MD” — разница между датами в днях, без учета месяцев и лет;
- “YD” — разница между датами в днях, без учета лет.
В нашем случае покажем пример использование аргумента “YD”, так как целью расчета является определение количества дней между датами в пределах года.
Основное отличие от простого вычитания одной даты из другой – в порядке следования аргументов функции: в качестве первого аргумента выбирается начальная (более ранняя дата), а в качестве второго – конечная (более поздняя). Опишем ниже алгоритм вычислений.
- Выбираем целевую ячейку, проверяем ее формат по способу, описанному выше.
- Описываемая функция отсутствует в Мастере функций, поэтому вводим ее в ячейку вручную, строго придерживаясь синтаксиса.
- Жмем Enter и проверяем полученный результат. Как мы видим, он аналогичен тому, который мы получили, используя простую формулу вычитания. Значит все сделано верно.
Метод 3: функция ЧИСТРАБДНИ для определения количества рабочих дней
Третий описываемый метод позволяет вычислить количество дней с дополнительным условием – исключением из него нерабочих (выходных и праздничных) дней.
В данном методе используется функция ЧИСТРАБДНИ со следующим синтаксисом: =ЧИСТРАБДНИ(нач_дата;кон_дата;[праздники]).
Первые два аргумента аналогичны функции РАЗНДАТ. Последний аргумент является опциональным, то есть функция будет работать и без его указания. Однако именно он позволяет учесть в критериях вычисления нерабочие праздничные дни, так как по умолчанию из общего количества уберутся только субботы и воскресенья.
Приступаем к вычислениям:
- Так как описываемая функция присутствует в списке Мастера функций, воспользуемся им для большей наглядности: встаем на ячейку, куда будем выводить результат и щелкаем по кнопке “Вставить функцию” (fx), расположенной слева от строки формул.
- В открывшемся окне Мастера функций:
- выбираем категорию “Полный алфавитный перечень”;
- находим и кликаем в списке операторов по строке “ЧИСТРАБДНИ”;
- нажимаем ОК.
- Перед нами появится окно аргументов функции. Здесь можно ввести адреса ячеек вручную или, находясь в поле для заполнения значений аргумента, кликнуть по нужной ячейке на листе. Выбрав начальную и конечную дату, а также указав праздничный день (адрес ячейки), нажимаем ОК.
- Предположим, в этот раз мы заранее не задали формат итоговой ячейки как “Общий”. Тогда мы получим результат, отображающийся в виде даты.
- Следовательно, необходимо снова проверить формат по алгоритму, описанному выше и изменить его на “Общий”.
Заключение
С помощью описанных выше методов можно достаточно легко посчитать количество дней между двумя датами, как с наличием дополнительных критериев, так и без них. Формула вычитания и функция РАЗНДАТ прекрасно подойдут для простого подсчета дней, а функция ЧИСТРАБДНИ поможет с расчетом количества именно рабочих дней между датами. Окончательный выбор зависит от поставленной перед пользователем задачи.
замена формулы разндат |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
17 авг. 2022 г.
читать 1 мин
Мы можем использовать функцию DATEDIF() для вычисления разницы между двумя датами в Excel.
Эта функция использует следующий синтаксис:
=DATEDIF(Начальная_Дата, Конечная_Дата, Метрика)
куда:
- Start_Date: дата начала
- End_Date: Дата окончания
- Метрика: метрика для расчета. Варианты включают:
- «д»: дни
- «м»: Месяцы
- «г»: годы
Важно отметить, что эта функция не появится автоматически в Excel, пока вы полностью не введете =РАЗНДАТ( в одну из ячеек.
В следующих примерах показано, как использовать эту функцию для вычисления разницы между двумя датами в Excel.
Пример 1: разница в днях
На следующем изображении показано, как рассчитать разницу (в днях) между двумя датами:
Это говорит нам о том, что между 01.01.2018 и 01.02.2021 1127 полных дней.
Пример 2: разница в месяцах
На следующем изображении показано, как рассчитать разницу (в месяцах) между двумя датами:
Пример 3: Разница в годах
На следующем изображении показано, как рассчитать разницу (в годах) между двумя датами:
Пример 4: Разница в годах и месяцах
На следующем рисунке показано, как рассчитать разницу (в годах и месяцах) между двумя датами:
Вы можете найти больше руководств по Excel на этой странице .
Написано
Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.
На чтение 16 мин. Просмотров 7.2k.
В этом руководстве описаны важные функции Excel. Нажмите на названия функций для получения дополнительной информации и подробных примеров. Если вы новичок в формулах Excel, эта статья для тебя!
Содержание
- Быстрая навигация
- Функции даты и времени
- Инженерные функции
- Информационные функции
- Логические функции
- Функции ссылки и поиска
- Статистические функции
- Математические функции
- Текстовые функции
Быстрая навигация
ABS | МАКС | РАНГ |
АГРЕГАТ | МАКСЕСЛИ | СЕГОДНЯ |
ВПР | МЕСЯЦ | СЕКУНДЫ |
ВРЕМЯ | МИН | СЖПРОБЕЛЫ |
ВЫБОР | МИНЕСЛИ | СИМВОЛ |
ГИПЕРССЫЛКА | МИНУТЫ | СЛУЧМЕЖДУ |
ГОД | МОДА | СЛЧИС |
ГПР | НАИБОЛЬШИЙ | СМЕЩ |
ДАТА | НАИМЕНЬШИЙ | СОВПАД |
ДАТАМЕС | НАЙТИ | СРЗНАЧ |
ДВССЫЛ | НЕ | СРЗНАЧЕСЛИ |
ДЕНЬ | НОМНЕДЕЛИ | СРЗНАЧЕСЛИМН |
ДЕНЬНЕД | ОБЪЕДИНИТЬ | СТОЛБЕЦ |
ДЛСТР | ОКРВВЕРХ | СТРОКА |
ДОЛЯГОДА | ОКРВНИЗ | СТРОЧН |
ЕЛОГИЧ | ОКРУГЛ | СУММ |
ЕНЕЧЁТ | ОКРУГЛВВЕРХ | СУММЕСЛИ |
ЕОШИБКА | ОКРУГЛВНИЗ | СУММЕСЛИМН |
ЕПУСТО | ОКРУГЛТ | СУММПРОИЗВ |
ЕСЛИ | ОСТАТ | СЦЕП |
ЕСЛИМН | ПЕЧСИМВ | СЦЕПИТЬ |
ЕСЛИОШИБКА | ПОДСТАВИТЬ | СЧЁТ |
ЕСНД | ПОИСК | СЧЁТЕСЛИ |
ЕТЕКСТ | ПОИСКПОЗ | СЧЁТЕСЛИМН |
ЕФОРМУЛА | ПОЛУЧИТЬ.ДАННЫЕ. СВОДНОЙ.ТАБЛИЦЫ |
СЧЁТЗ |
ЕЧЁТН | ПРАВСИМВ | СЧИТАТЬПУСТОТЫ |
ЕЧИСЛО | ПРЕОБР | ТДАТА |
ЗАМЕНИТЬ | ПРОМЕЖУТОЧНЫЕ.ИТОГИ | ТЕКСТ |
И | ПРОПИСН | ТРАНСП |
ИЛИ | ПРОПНАЧ | ЦЕЛОЕ |
ИНДЕКС | ПРОСМОТР | ЧАС |
КОДСИМВ | ПСТР | ЧИСЛСТОЛБ |
КОНМЕСЯЦА | РАБДЕНЬ | ЧИСТРАБДНИ |
ЛЕВСИМВ | РАЗНДАТ | ЧСТРОК |
Функции даты и времени
Excel предоставляет множество функций для работы с датами и временем.
ТДАТА и СЕГОДНЯ
Вы можете получить текущую дату с помощью функции СЕГОДНЯ (TODAY), а текущую дату и время — с помощью функции ТДАТА (NOW). Технически, функция ТДАТА (NOW) возвращает текущую дату и время, но вы можете отформатировать, чтобы было видно только время, как показано ниже:
СЕГОДНЯ (TODAY) возвращает текущую дату
ТДАТА (NOW) возвращает текущую дату и время
Примечание: эти функции пересчитываются при каждом изменении рабочего листа. Если вы хотите статическое значение, введите дату и время с клавиатуры
ДЕНЬ, МЕСЯЦ, ГОД и ДАТА
Вы можете использовать функции ДЕНЬ (DAY), МЕСЯЦ (MONTH) и ГОД (YAER), чтобы разбирать любую дату на ее компоненты, и функцию ДАТА (DATE), чтобы снова собрать все вместе.
=ДЕНЬ («09.10.2018») // возвращает 9
=МЕСЯЦ («09.10.2018») // возвращает 10
=ГОД («09.10.2018») // возвращает 2018
=ДАТА (2018;10;09) // возвращает 09.10.2018
ЧАС, МИНУТЫ, СЕКУНДЫ и ВРЕМЯ
Excel предоставляет набор параллельных функций для времени. Вы можете использовать функции ЧАС (HOUR), МИНУТЫ (MINUTE) и СЕКУНДЫ (SECOND) для извлечения фрагментов времени или собрать время из отдельных компонентов с помощью функции ВРЕМЯ (TIME).
= ЧАС («4:06:18») // возвращает 4
= МИНУТЫ («4:06:18») // возвращает 06
=СЕКУНДЫ («4:06:18») // возвращает 18
=ВРЕМЯ (4;6;18) // возвращает 4:06:18
РАЗНДАТ и ДОЛЯГОДА
Вы можете использовать функцию РАЗНДАТ (DATEDIF), чтобы получить время между датами в годах, месяцах или днях. РАЗНДАТ (DATEDIF) также может быть настроен на получение детализированного времени в пересчете на полное количество лет, месяцев и дней, то есть «1 год, 7 месяцев и 25 дней».
Используйте ДОЛЯГОДА (YEARFRAC), чтобы получить дробные годы
=ДОЛЯГОДА («15.11.2019″;»10.07.2021») // возвращает 1,7
ДАТАМЕС и КОНМЕСЯЦА
Обычная задача с датами — сдвинуть дату вперед (или назад) на заданное количество месяцев. Для этого вы можете использовать функции ДАТАМЕС (EDATE) и КОНМЕСЯЦА (EOMONTH). ДАТАМЕС (EDATE) перемещается по месяцам и сохраняет день. КОНМЕСЯЦА (EOMONTH) работает так же, но всегда возвращает последний день месяца.
= ДАТАМЕС (дата;7) // сдвигает на 7 месяцев вперед
= КОНМЕСЯЦА (дата;7) // сдвигает на 7 месяцев вперед (показывает последний день месяца)
РАБДЕНЬ И ЧИСТРАБДНИ
Чтобы выяснить дату и рабочие дни в будущем, вы можете использовать функцию РАБДЕНЬ (WORKDAY). Чтобы рассчитать количество рабочих дней между двумя датами, вы можете использовать ЧИСТРАБДНИ (NETWORKDAYS).
= РАБДЕНЬ (нач_дата; число_дней; [праздники]) // возвращает дату через n рабочих дней в будущем или прошлом
= ЧИСТРАБДНИ (нач_дата; кон_дата; [праздники] ) // возвращает количество рабочих дней между датами
Примечание: Обе функции автоматически пропускают выходные (суббота и воскресенье), а также пропускают праздничные дни, если таковые имеются. Если вам нужно больше гибкости в днях, считающихся выходными, используйте функции РАБДЕНЬ.МЕЖД (WORKDAY.INTL) и ЧИСТРАБДНИ.МЕЖД (NETWORKDAYS.INTL).
ДЕНЬНЕД И НОМНЕДЕЛИ
Чтобы определить день недели по дате, в Excel предусмотрена функция ДЕНЬНЕД (WEEKDAY). ДЕНЬНЕД возвращает число от 1 до 7, обозначающее понедельник, вторник, среду и т.д. Используйте функцию НОМНЕДЕЛИ (WEEKNUM) для получения номера недели в данном году.
=ДЕНЬНЕД (дата; [тип]) // возвращает числа от 1 до 7
Примечание: чтобы получить привычные дни недели (1 — понедельник, 2 — вторник и т.д.) нужно выбрать тип = 2
= НОМНЕДЕЛИ (дата) // возвращает номер недели в году
Инженерные функции
ПРЕОБР
Большинство инженерных функций довольно технические … в этом разделе вы найдете множество функций для комплексных чисел. Однако функция ПРЕОБР (CONVERT) весьма полезна для ежедневного преобразования единиц измерения. Вы можете использовать ПРЕОБР (CONVERT) для изменения единиц измерения расстояния, веса, температуры и многого другого.
=ПРЕОБР (79;»F»;»C») // возвращает 26
Информационные функции
ЕПУСТО, ЕОШИБКА, ЕЧИСЛО, ЕФОРМУЛА, ЕТЕКСТ, ЕЧЁТН, ЕНЕЧЁТ, ЕЛОГИЧ
В Excel предусмотрено множество функций для проверки значения в ячейке, включая ЕЧИСЛО (ISNUMBER), ЕТЕКСТ (ISTEXT), ЕЛОГИЧ( ISLOGICAL), ЕПУСТО (ISBLANK), ЕОШИБКА (ISERROR) и ЕФОРМУЛА (ISFORMULA). Эти функции иногда называют функциями «Е», и все они возвращают ИСТИНА или ЛОЖЬ в зависимости от содержимого ячейки.
В Excel также есть функции ЕНЕЧЁТ (ISODD) и ЕЧЁТН (ISEVEN), которые проверят число на четность или нечетность.
Кстати, зеленая заливка на скриншоте выше применяется автоматически с использованием условного форматирования.
Логические функции
Эти функции Excel являются ключевым строительным блоком многих расширенных формул. Они возвращают логические значения ИСТИНА или ЛОЖЬ.
И, ИЛИ И НЕ
Ядром логических функций Excel являются функция И (AND), функция ИЛИ (OR) и функция НЕ (NOT). На приведенном ниже экране каждая из этих функций используется для запуска простого теста значений в столбце B:
=И (B6>3;B6<9) значение больше 3 И меньше 9
=ИЛИ (B6=3;B6=9) значение =3 ИЛИ =9
=НЕ (B6=2) значение НЕ равно 2
ЕСЛИОШИБКА и ЕСНД
Функция ЕСЛИОШИБКА (IFERROR) и функция ЕСНД (IFNA) могут использоваться в качестве простого способа отловить и обработать ошибки. На приведенном ниже экране ВПР (VLOOKUP) используется для получения стоимости из пункта меню. Столбец F содержит только функцию ВПР(VLOOKUP) без обработки ошибок. В столбце G показано, как использовать ЕСНД (IFNA) с ВПР (VLOOKUP) для отображения настраиваемого сообщения при вводе нераспознанного элемента.
= ВПР (E5;B5:C9;2;0) // не обрабатывает #Н/Д
= ЕСНД (ВПР (E5; B5:C9; 2;0); «Нет в меню») // ошибки обработаны
В то время как ЕСНД (IFNA) улавливает только ошибку #Н/Д, функция ЕСЛИОШИБКА (IFERROR) отлавливает любую ошибку формулы.
ЕСЛИ и ЕСЛИМН
Функция ЕСЛИ (IF) является одной из наиболее часто используемых функций в Excel. На экране ниже ЕСЛИ (IF) проверяет результаты тестов и назначает «Прошел» или «Не прошел»:
Для выполнения более сложных логических тестов, можно вложить в формулу несколько функций ЕСЛИ.
Новая функция в Excel 2016 Office 365, функция ЕСЛИМН (IFS) может запускать несколько логических тестов без вложения ЕСЛИ (IF).
Функции ссылки и поиска
ВПР и ГПР
Excel предлагает ряд функций для поиска и извлечения данных. Самый известный из всех это ВПР (VLOOKUP):
= ВПР ($C5;$F$5:$G$7;2;ИСТИНА)
ГПР (HLOOKUP) работает как ВПР (VLOOKUP), но рассчитывает данные, расположенные горизонтально:
= ГПР ($С5;$G$4:$I$5;2;ИСТИНА)
ИНДЕКС и ПОИСКПОЗ
Для более сложных поисков ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH) предлагают больше гибкости и мощности:
=ИНДЕКС (C5:E12; ПОИСКПОЗ (H4;B5:B12;0); ПОИСКПОЗ (H5;C4:E4;0))
И функция ИНДЕКС (INDEX), и функция ПОИСКПОЗ (MATCH) являются мощными функциями, которые встречаются во всех видах формул.
ПРОСМОТР
Настройки функции ПРОСМОТР (LOOKUP) «по умолчанию» делают ее очень полезной при решении определенных проблем. ПРОСМОТР (LOOKUP) предполагает, что значения отсортированы в порядке возрастания и всегда выполняет приблизительное совпадение. Когда ПРОСМОТР (LOOKUP) не может найти соответствие, оно будет соответствовать следующему наименьшему значению. В приведенном ниже примере мы используем ПРОСМОТР (LOOKUP), чтобы найти последнюю запись в столбце:
СТРОКА и СТОЛБЕЦ
Вы можете использовать функцию СТРОКА (ROW) и функцию СТОЛБЕЦ (COLUMN), чтобы найти номера строк и столбцов на листе. Обратите внимание, что СТРОКА (ROW) и СТОЛБЕЦ (COLUMN) возвращают значения для текущей ячейки, если ссылка не указана:
Функция строки также часто отображается в расширенных формулах, которые обрабатывают данные с относительными номерами строк.
ЧСТРОК и ЧИСЛСТОЛБ
Функция ЧСТРОК (ROWS) и функция ЧИСЛСТОЛБ (COLUMNS) возвращают количество строк в ссылке. В приведенном ниже примере мы подсчитываем строки и столбцы в таблице Excel с именем «Таблица1».
Примечание: ЧСТРОК (ROWS) возвращает количество строк данных в таблице, исключая строку заголовка.
ГИПЕРССЫЛКА
Вы можете использовать функцию ГИПЕРССЫЛКА (HYPERLINK), чтобы создать ссылку с формулой. ГИПЕРССЫЛКА (HYPERLINK) позволяет создавать как внешние, так и внутренние ссылки:
= ГИПЕРССЫЛКА (C5; B5)
ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ
Функция ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ (GETPIVOTDATA) полезна для извлечения информации из существующих сводных таблиц.
= ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ («Продажи»;$B$4;»Регион»; J6;»Товар»; J7)
ВЫБОР
Функция ВЫБОР (CHOOSE) всегда удобна, когда вам нужно сделать выбор на основе числа:
= ВЫБОР (3;»красный»;»желтый»;»зеленый») // возвращает «зеленый»
ТРАНСП
Функция ТРАНСП (TRANSPOSE) дает вам легкий способ перенести вертикальные данные в горизонтальные и наоборот.
{=ТРАНСП(B4:С9)} вводится с помощью клавиш Ctrl+Shift+Enter
Примечание: ТРАНСП (TRANSPOSE) — это формула, поэтому она динамическая. Если вам просто нужно выполнить однократную операцию транспонирования, используйте специальную вставку.
СМЕЩ
Функция СМЕЩ (OFFSET) полезна для всех видов динамических диапазонов. Из начального местоположения он позволяет вам указать смещения строк и столбцов, а также окончательный размер строк и столбцов. Результатом является диапазон, который может динамически реагировать на изменяющиеся условия и входные данные. Вы можете передать этот диапазон другим функциям, как показано на экране ниже, где СМЕЩ (OFFSET) создает диапазон, который передается функции СУММ (SUM):
= СУММ (СМЕЩ (B4;1;I5;4;1)) // суммирует данные за 3 квартал
ДВССЫЛ
Функция ДВССЫЛ (INDIRECT) позволяет создавать ссылки в виде текста. Поначалу эту концепцию немного сложно понять, но она может быть очень полезна. Ниже мы используем ДВССЫЛ (INDIRECT) для получения значений из ячейки A1 в 5 различных листах. Каждая ссылка динамическая. Если имя листа изменится, ссылка будет обновлена.
=ДВССЫЛ (B5&»!A1!) // =Лист1!A1
Функция INDIRECT также используется для «блокировки» ссылок, чтобы они не изменялись при добавлении или удалении строк или столбцов.
Внимание: СМЕЩ (OFFSET) и ДВССЫЛ (INDIRECT) являются обновляемыми функциями и могут замедлять работу больших или сложных электронных таблиц.
Статистические функции
СЧЁТ и СЧЁТЗ
Вы можете посчитать количество чисел с помощью функции СЧЁТ (COUNT), а непустых ячеек — с помощью СЧЁТЗ (COUNTA). Пустые ячейки можно сосчитать с помощью СЧИТАТЬПУСТОТЫ (COUNTBLANK), но на приведенном ниже экране мы подсчитываем пустые ячейки с помощью СЧЁТЕСЛИ (COUNTIF).
= СЧЁТ (B5:F5) // считает количество чисел
= СЧЁТЗ (B5:F5) // считает количество чисел и ячеек с текстом
= СЧЁТЕСЛИ (B5:F5;»») // считает количество пустых ячеек
СЧЁТЕСЛИ и СЧЁТЕСЛИМН
Для условного подсчета функция СЧЁТЕСЛИ (COUNTIF) может применять один критерий. Функция СЧЁТЕСЛИМН (COUNTIFS) может применять несколько критериев одновременно:
=СЧЁТЕСЛИ (C5:C12;»красный») // количество заказов цвета красный
=СЧЁТЕСЛИ (F5:F12;»>1000″) // количество заказов на сумму больше 1000 р.
=СЧЁТЕСЛИМН (C5:C12;»красный»;F5:F12;»>1000″) // количество заказов цвета красный на сумму больше 1000 р.
=СЧЁТЕСЛИМН (C5:C12;»синий»;D5:D12;»S») // количество заказов цвета синий, размера S
СУММ, СУММЕСЛИ и СУММЕСЛИМН
Чтобы просто суммировать, используйте функцию СУММ (SUM). Для условного суммирования используйте СУММЕСЛИ (SUMIF) или СУММЕСЛИМН (SUMIFS). Следуя той же схеме, что и функции подсчета, функция СУММЕСЛИ (SUMIF) может применять только один критерий, а функция СУММЕСЛИМН (SUMIFS) — несколько критериев.
=СУММ (F5:F12) // сумма всех заказов
=СУММЕСЛИ (C5:C12;»красный»;F5:F12) // сумма заказов цвета красный
=СУММЕСЛИ (F5:F12;»>1000″) // сумма заказов больше 1000 р.
=СУММЕСЛИМН (F5:F12;C5:C12;»красный»;F5:F12;»>1000″) // сумма заказов цвета красный, больше 1000 р.
=СУММЕСЛИМН (F5:F12;C5:C12;»синий»;D5:D12;»S») // сумма заказов цвета синий, размера S
СРЗНАЧ, СРЗНАЧЕСЛИ и СРЗНАЧЕСЛИМН
Следуя той же схеме, вы можете рассчитать среднее с помощью СРЗНАЧ (AVERAGE), СРЗНАЧЕСЛИ (AVERAGEIF) и СРЗНАЧЕСЛИМН (AVERAGEIFS).
=СРЗНАЧ (F5:F12) // средняя сумма заказа
=СРЗНАЧЕСЛИ (C5:C12;»красный»;F5:F12) // средняя сумма заказа цвета красный
=СРЗНАЧЕСЛИМН (F5:F12;C5:C12;»красный»;D5:D12;»S») // средняя сумма заказа цвета красный, размера S
МИН, МАКС, НАИБОЛЬШИЙ, НАИМЕНЬШИЙ
Вы можете найти самые большие и наименьшие значения с помощью МАКС (MAX) и МИН (MIN), а n-е наибольшие и наименьшие значения с помощью НАИБОЛЬШИЙ (LARGE) и НАИМЕНЬШИЙ (SMALL). В приведенном ниже примере «данные» — это именованный диапазон C5: C13, используемый во всех формулах.
=МАКС (данные) // максимальное количество баллов
=МИН (данные) // минимальное количество баллов
=НАИБОЛЬШИЙ (данные;1) // Первый среди наибольших
=НАИБОЛЬШИЙ (данные;2) // Второй среди наибольших
=НАИБОЛЬШИЙ (данные;3) // Третий среди наибольших
=НАИМЕНЬШИЙ (данные;1) // Первый среди наименьших
=НАИМЕНЬШИЙ (данные;2) // Второй среди наименьших
=НАИМЕНЬШИЙ (данные;3) // Третий среди наименьших
МИНЕСЛИ и МАКСЕСЛИ
МИНЕСЛИ (MINIFS) и МАКСЕСЛИ (MAXIFS). Эти функции позволяют найти минимальное и максимальное значения с условиями:
=МАКСЕСЛИ(D5:D15;C5:C15;»М») // максимальный балл среди мужчин
=МАКСЕСЛИ(D5:D15;C5:C15;»Ж») // максимальный балл среди женщин
=МИНЕСЛИ(D5:D15;C5:C15;»М») // минимальный балл среди мужчин
=МИНЕСЛИ(D5:D15;C5:C15;»Ж») // минимальный балл среди женщин
МОДА
Функция МОДА (MODE) возвращает первое наиболее часто встречающееся число в диапазоне:
=МОДА (B5:G5) // возвращает 1
РАНГ
Чтобы ранжировать значения от наибольшего к наименьшему или от наименьшего к наибольшему, используйте функцию РАНГ (RANK):
Математические функции
ABS
Чтобы определить модуль числа, используйте функцию ABS.
=ABS (B5) // возвращает 118,36
СЛЧИС и СЛУЧМЕЖДУ
И функция СЛЧИС (RAND), и функция СЛУЧМЕЖДУ (RANDBEWTEEN) могут генерировать случайные числа на лету. СЛЧИС (RAND) создает длинные десятичные числа от нуля до 1. СЛУЧМЕЖДУ (RANDBETWEEN) генерирует случайные целые числа между двумя заданными числами.
=СЛЧИС() // случайное число от 0 до 1
=СЛУЧМЕЖДУ (1;100) // Случайное число от 1 до 100
ОКРУГЛ, ОКРУГЛВВЕРХ, ОКРУГЛВНИЗ и ЦЕЛОЕ
Чтобы округлить значения в большую или меньшую сторону, используйте функцию ОКРУГЛ (ROUND). Для принудительного округления до заданного количества цифр в большую сторону используйте ОКРУГЛВВЕРХ (ROUNDUP). Для принудительного округления в меньшую сторону используйте ОКРУГЛВНИЗ (ROUNDDOWN). Чтобы полностью удалить десятичную часть числа, используйте функцию ЦЕЛОЕ (INT).
=ОКРУГЛ (12,325;1) // возвращает 12,3
=ОКРУГЛВВЕРХ (12,325;1) // возвращает 12,4
=ОКРУГЛВНИЗ (12,325;1) // возвращает 12,3
=ЦЕЛОЕ (12,325) // возвращает 12
ОКРУГЛТ, ОКРВВЕРХ и ОКРВНИЗ
Чтобы округлить значения до ближайшего кратного, используйте функцию ОКРУГЛТ (MROUND). Функция ОКРВНИЗ (FLOOR) и функция ОКРВВЕРХ (CEILING) также округляются до заданного кратного. ОКРВНИЗ (FLOOR) заставляет округлять вниз, а ОКРВВЕРХ (CEILING) заставляет округлять вверх.
=ОКРУГЛТ (12,325;0,25) // возвращает 12,25
=ОКРВВЕРХ (12,325;0,25) // возвращает 12,5
=ОКРВНИЗ (12,325;0,25) // возвращает 12,25
ОСТАТ
Функция ОСТАТ (MOD) возвращает остаток после деления. Это звучит скучно, но ОСТАТ (MOD) появляется во всех видах формул, особенно в формулах, которые должны делать что-то «каждый раз». В приведенном ниже примере вы увидите, как ОСТАТ (MOD) возвращает ноль каждое третье число, когда делитель равен 3:
СУММПРОИЗВ
Функция СУММПРОИЗВ (SUMPRODUCT) — это мощный и универсальный инструмент для работы со всеми видами данных. Вы можете использовать СУММПРОИЗВ (SUMPRODUCT) для простого подсчета и суммирования на основе критериев, и вы можете использовать его изящными способами, которые просто не работают с СЧЁТЕСЛИМН (COUNTIFS) и СУММЕСЛИМН (SUMIFS). В приведенном ниже примере мы используем СУММПРОИЗВ (SUMPRODUCT) для подсчета и суммирования заказов в марте.
=СУММПРОИЗВ (—(МЕСЯЦ (B5:B12)=3)) // считает количество заказов в марте
=СУММПРОИЗВ (—(МЕСЯЦ (B5:B12)=3);C5:C12) // считает сумму заказов в марте
ПРОМЕЖУТОЧНЫЕ.ИТОГИ
Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ (SUBTOTAL) является «агрегатной функцией», которая может выполнять ряд операций с набором данных. В общем, ПРОМЕЖУТОЧНЫЕ.ИТОГИ (SUBTOTAL) может выполнять 11 операций, включая СУММ (SUM), СРЗНАЧ (AVERAGE), СЧЁТ (COUNT), МАКС (MAX), МИН (MIN) и т.д.
Ключевой особенностью ПРОМЕЖУТОЧНЫЕ.ИТОГИ (SUBTOTAL) является то, что он будет игнорировать строки, которые были «отфильтрованы» из таблицы Excel и строки, которые были скрыты вручную. В приведенном ниже примере ПРОМЕЖУТОЧНЫЕ.ИТОГИ (SUBTOTAL) используется для подсчета и суммирования только 7 видимых строк в таблице:
=ПРОМЕЖУТОЧНЫЕ.ИТОГИ (3;B5:B13) // возвращает 7 =ПРОМЕЖУТОЧНЫЕ.ИТОГИ (9;F5:F13) // возвращает 2 390
АГРЕГАТ
Как и ПРОМЕЖУТОЧНЫе.ИТОГИ (SUBTOTAL), функция АГРЕГАТ (AGGREGATE) может также выполнять ряд агрегатных операций над набором данных и, при необходимости, игнорировать скрытые строки. Ключевые различия заключаются в том, что АГРЕГАТ (AGGREGATE) может выполнять больше операций (всего 19), а также может игнорировать ошибки.
В приведенном ниже примере АГРЕГАТ (AGGREGATE) используется для выполнения операций МИН (MIN), МАКС (MAX), НАИБОЛЬШИЙ (LARGE) и НАИМЕНЬШИЙ (SMALL), игнорируя ошибки. Обычно ошибка в ячейке B9 не позволяет этим функциям возвращать результат.
=АГРЕГАТ (4;6;B5:B13) // MАКС, пропускает ошибки, возвращает 100
=АГРЕГАТ (5;6;B5:B13) // MИН, пропускает ошибки, возвращает 9
Текстовые функции
ЛЕВСИМВ, ПРАВСИМВ и ПСТР
Чтобы извлечь символы слева, справа или из середины текста, используйте функции ЛЕВСИМВ (LEFT), ПРАВСИМВ (RIGHT) и ПСТР (MID).
=ЛЕВСИМВ («AБВ-1234-КРС»;3) // возвращает «AБВ»
=ПРАВСИМВ («AБВ-1234-КРС»;5;4) // возвращает «1234»
=ПРАВСИМВ («AБВ-1234-КРС»;3) // возвращает «КРС»
ДЛСТР
Функция ДЛСТР (LEN) возвращает длину текстовой строки. ДЛСТР (LEN) используется во многих формулах, которые считают слова или символы.
НАЙТИ и ПОИСК
Чтобы найти определенный текст в ячейке, используйте функцию НАЙТИ (FIND) или ПОИСК (SEARCH). Эти функции возвращают числовую позицию совпадающего текста, но ПОИСК (SEARCH) позволяет использовать подстановочные знаки, а НАЙТИ (FIND) учитывает регистр. Обе функции выдают ошибку, когда текст не найден, поэтому оберните в функцию ЕЧИСЛО (ISNUMBER), чтобы вернуть ИСТИНА или ЛОЖЬ.
=НАЙТИ («Яблоко от яблони недалеко падает»;»недалеко») // возвращает 18
=ПОИСК («Раз на раз не приходится»;»при*») // возвращает 15
ЗАМЕНИТЬ и ПОДСТАВИТЬ
Чтобы заменить часть текста с определенной позиции, используйте функцию ЗАМЕНИТЬ (REPLACE). Чтобы заменить конкретный текст новым значением, используйте функцию ПОДСТАВИТЬ (SUBSTITUTE). В первом примере ЗАМЕНИТЬ (REPLACE) удаляет две звездочки (**), заменяя первые два символа пустотой («»). Во втором примере ПОДСТАВИТЬ (SUBSTITUTE) удаляет все хеш-символы (#), заменяя «#» на «».
=ЗАМЕНИТЬ («**Красный»;1;2;»») // возвращает «Красный» =ПОДСТАВИТЬ(«##Красный##»;»#»;»») // возвращает «Красный»
КОДСИМВ и СИМВОЛ
Чтобы выяснить числовой код символа, используйте функцию КОДСИМВ (CODE). Чтобы перевести числовой код обратно в символ, используйте функцию СИМВОЛ (CHAR). В приведенном ниже примере КОДСИМВ (CODE) переводит каждый символ в столбце B в соответствующий код. В столбце F СИМВОЛ (CHAR) переводит код обратно в символ.
=КОДСИМВ («~») // возвращает 126
=СИМВОЛ (126) // возвращает «~»
ПЕЧСИМВ и СЖПРОБЕЛЫ
Чтобы избавиться от лишнего пространства в тексте, используйте функцию СЖПРОБЕЛЫ (TRIM). Чтобы удалить разрывы строк и другие непечатаемые символы, используйте ПЕЧСИМВ (CLEAN).
=СЖПРОБЕЛЫ(B7) // убирает лишние пробелы
=ПЕЧСИМВ(B7) // убирает непечатаемые символы
СЦЕП, СЦЕПИТЬ и ОБЪЕДИНИТЬ
В Excel 2016 Office 365 появились новые функции СЦЕП (CONCAT) и ОБЪЕДИНИТЬ (TEXTJOIN). Функция СЦЕП (CONCAT) позволяет объединять несколько значений, включая диапазон значений без разделителя. Функция ОБЪЕДИНИТЬ (TEXTJOIN) делает то же самое, но позволяет вам указать разделитель, а также может игнорировать пустые значения.
Excel также предоставляет функцию СЦЕПИТЬ (CONCATENATE). Еще можно воспользоваться непосредственно символом амперсанда (&) в формуле.
=ОБЪЕДИНИТЬ («, «;ИСТИНА;B4:J4) // возвращает «до, ре, ми, фа, соль, ля, си»
=СЦЕП (B6:J6) // возвращает «958469027»
СОВПАД
Функция СОВПАД (EXACT) позволяет сравнивать две текстовые строки с учетом регистра.
ПРОПИСН, СТРОЧН и ПРОПНАЧ
Чтобы изменить регистр текста, используйте функции ПРОПИСН (UPPER), СТРОЧН (LOWER) и ПРОПНАЧ (PROPER).
=ПРОПИСН («Светлана БОРИСОВА») // возвращает «СВЕТЛАНА БОРИСОВА»
=СТРОЧН («Светлана БОРИСОВА») // возвращает «светлана борисова»
=ПРОПНАЧ («Светлана БОРИСОВА») // возвращает «Светлана Борисова»
ТЕКСТ
И последнее, но не менее важное — это функция ТЕКСТ (TEXT). Текстовая функция позволяет применять форматирование чисел (включая даты, время и т.д.) как текст. Это особенно полезно, когда вам нужно вставить форматированное число в сообщение, например, «Продажа заканчивается [дата]».
=ТЕКСТ(B5;»# ##0,00 р.»)
=ТЕКСТ(B6;»000###»)
=»Скидка «&ТЕКСТ(B7;»#%»)
=»Курс стартует «&ТЕКСТ(B8;»Д [$-FC19]ММММ»)
Содержание
- Расчет количества дней
- Способ 1: простое вычисление
- Способ 2: функция РАЗНДАТ
- Способ 3: вычисление количеств рабочих дней
- Вопросы и ответы
Для выполнения определенных задач в Excel нужно определять, сколько дней прошло между некоторыми датами. К счастью, у программы имеются инструменты, которые способны решить данный вопрос. Давайте выясним, какими способами можно посчитать разность дат в Экселе.
Расчет количества дней
Прежде, чем начать работать с датами, нужно отформатировать ячейки под данный формат. В большинстве случаев, при введении комплекта символов, похожего на дату, ячейка сама переформатируется. Но лучше все-таки сделать это вручную, чтобы подстраховать себя от неожиданностей.
- Выделяем пространство листа, на котором вы планируете производить вычисления. Кликаем правой кнопкой мыши по выделению. Активируется контекстное меню. В нём выбираем пункт «Формат ячейки…». Как вариант, можно набрать на клавиатуре сочетание клавиш Ctrl+1.
- Открывается окно форматирования. Если открытие произошло не во вкладке «Число», то следует в неё перейти. В блоке параметров «Числовые форматы» выставляем переключатель в позицию «Дата». В правой части окна выбираем тот тип данных, с которым собираемся работать. После этого, чтобы закрепить изменения, жмем на кнопку «OK».
Теперь все данные, которые будут содержаться в выделенных ячейках, программа будет распознавать как дату.
Способ 1: простое вычисление
Проще всего вычислить разность дней между датами с помощью обычной формулы.
- Записываем в отдельные ячейки отформатированного диапазона даты, разность между которыми нужно вычислить.
- Выделяем ячейку, в которой будет выводиться результат. В ней должен быть установлен общий формат. Последнее условие очень важно, так как, если в этой ячейке стоит формат даты, то в таком случае и результат будет иметь вид «дд.мм.гг» или другой, соответствующий данному формату, что является некорректным итогом расчетов. Текущий формат ячейки или диапазона можно просмотреть, выделив его во вкладке «Главная». В блоке инструментов «Число» находится поле, в котором отображается данный показатель.
Если в нем стоит значение, отличное от «Общий», то в таком случае, как и в предыдущий раз, с помощью контекстного меню запускаем окно форматирования. В нем во вкладке «Число» устанавливаем вид формата «Общий». Жмем на кнопку «OK».
- В отформатированную под общий формат ячейку ставим знак «=». Кликаем по ячейке, в которой расположена более поздняя из двух дат (конечная). Далее жмем на клавиатуре знак «-». После этого выделяем ячейку, в которой содержится более ранняя дата (начальная).
- Чтобы увидеть, сколько времени прошло между этими датами, жмем на кнопку Enter. Результат отобразится в ячейке, которая отформатирована под общий формат.
Способ 2: функция РАЗНДАТ
Для вычисления разности в датах можно также применять специальную функцию РАЗНДАТ. Проблема в том, что в списке Мастера функций её нет, поэтому придется вводить формулу вручную. Её синтаксис выглядит следующим образом:
=РАЗНДАТ(начальная_дата;конечная_дата;единица)
«Единица» — это формат, в котором в выделенную ячейку будет выводиться результат. От того, какой символ будет подставлен в данный параметр, зависит, в каких единицах будет возвращаться итог:
- «y» — полные года;
- «m» — полные месяцы;
- «d» — дни;
- «YM» — разница в месяцах;
- «MD» — разница в днях (месяцы и годы не учитываются);
- «YD» — разница в днях (годы не учитываются).
Так как нам нужно рассчитать разницу в количестве дней между датами, то наиболее оптимальным решением будет применение последнего варианта.
Также нужно обратить внимание, что, в отличие от способа с применением простой формулы, описанного выше, при использовании этой функции на первом месте должна находиться начальная дата, а конечная – на втором. Иначе расчеты будут некорректными.
- Записываем формулу в выбранную ячейку, согласно её синтаксису, описанному выше, и первичным данным в виде начальной и конечной даты.
- Для того, чтобы произвести расчет, жмем кнопку Enter. После этого результат, в виде числа обозначающего количество дней между датами, будет выведен в указанную ячейку.
Способ 3: вычисление количеств рабочих дней
В Экселе также имеется возможность произвести вычисление рабочих дней между двумя датами, то есть, исключая выходные и праздничные. Для этого используется функция ЧИСТРАБНИ. В отличие от предыдущего оператора, она присутствует в списке Мастера функций. Синтаксис у этой функции следующий:
=ЧИСТРАБДНИ(нач_дата;кон_дата;[праздники])
В этой функции основные аргументы, такие же, как и у оператора РАЗНДАТ – начальная и конечная дата. Кроме того, имеется необязательный аргумент «Праздники».
Вместо него следует подставлять даты праздничных нерабочих дней, если таковые имеются за охватываемый период. Функция производит расчет всех дней указанного диапазона, исключая субботы, воскресенья, а также те дни, которые добавлены пользователем в аргумент «Праздники».
- Выделяем ячейку, в которой будет находиться итог вычисления. Кликаем по кнопке «Вставить функцию».
- Открывается Мастер функций. В категории «Полный алфавитный перечень» или «Дата и время» ищем элемент «ЧИСТРАБДНИ». Выделяем его и жмем на кнопку «OK».
- Открывается окно аргументов функции. Вводим в соответствующие поля дату начала и конца периода, а также даты праздничных дней, если таковые имеются. Жмем на кнопку «OK».
После указанных выше манипуляций в предварительно выделенной ячейке отобразится количество рабочих дней за указанный период.
Урок: Мастер функций в Excel
Как видим, программа Excel предоставляет своим пользователем довольно удобный инструментарий для расчета количества дней между двумя датами. При этом, если нужно рассчитать просто разницу в днях, то более оптимальным вариантом будет применение простой формулы вычитания, а не использование функции РАЗНДАТ. А вот если требуется, например, подсчитать количество рабочих дней, то тут на помощь придет функция ЧИСТРАБДНИ. То есть, как всегда, пользователю следует определиться с инструментом выполнения после того, как он поставил конкретную задачу.
Функция РАЗНДАТ() — Вычисление разности двух дат в днях, месяцах, годах в 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: |
отрицательный (-2 дня)! |
начальная_дата 01.02.2007, конечная_датаРезультат: |
строку формул, тоОбратите внимание, формат «Дата» размер надо… ;) увольнения., ее можно вручнуюГОД формате в месяцы. доступна в выпуске дата принадлежит марту,Не советую использовать формулу
06.03.20091 (месяц), т.к.Результат:начальная_дата 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 года. даразница в полных годах |
есть функция |
ВРЕМЗНАЧВозвращает количество дней между |
ситуации? |
причинам, изложенным в(год и месяц 01.04 больше чем |
в 1961г. + |
числа, см. статью в файле примера). в каких единицах – 367. ТоВнимание! Чтобы функция:=РАЗНДАТ() работала |
Теперь нужно воспользоваться функцией |
То есть каждаяДержите»m»РАЗНДАТПреобразует время из текстового двумя датами. |
Модифицируем формулу для расчета |
предыдущем пункте. начальной даты заменяется |
01.03) |
10 месяцев в Как Excel хранитВ файле примера значение |
будет измеряться интервал |
есть прошел один без ошибок, следите |
по преобразованию количества |
дата – это200?’200px’:»+(this.scrollHeight+5)+’px’);»>=РАЗНДАТ(МИН(A2;СЕГОДНЯ());МАКС(A2;СЕГОДНЯ());»y»)&» лет «&РАЗНДАТ(МИН(A2;СЕГОДНЯ());МАКС(A2;СЕГОДНЯ());»ym»)&» мес. |
в полных месяцах |
, в английской версии формата в числовой.ДНЕЙ360 |
дней разницы без |
Результат, возвращаемый формулой =РАЗНДАТ(A2;B2;»yd») годом и месяцемВся эта вакханалия нужна, 1962г.). дату и время). аргумента начальная_дата помещена |
между начальной и конечной |
високосный год (366 за тем, чтобы дней в количество |
количество дней прошедших |
«&РАЗНДАТ(МИН(A2;СЕГОДНЯ());МАКС(A2;СЕГОДНЯ());»md»)&» дн.»»d» |
- |
СЕГОДНЯВычисляет количество дней между |
учета месяцев и |
зависит от версии конечной даты) |
например, для подсчета |
Формула =РАЗНДАТ(A2;B2;»y») вернет количествоПримечание |
в ячейке |
датами. Этот аргумент дней) и 1 начальная дата была |
лет. Для этого |
от 01.01.1900. НаHoBU4OKв полных дняхDATEDIFВозвращает текущую дату в |
двумя датами на |
лет: EXCEL.Пример3: сколько полных дней, полных лет между |
: Если интересуют только |
А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
- Т.е. при желании подсчитать можно только вВозвращает дату в числовом на заданное число
- от условия задачи. Так ли этоРезультат – 143 дня!
- С7 Полный возраст или
1 (месяц)Этот пример показыват, что»md»Скачать примеры вычисления даты – способ ввода, что 1 сутки примера сначала выполним и 2005 гг. и вывести, например, полной версии англоязычной формате, отстоящую вперед месяцев.Чтобы просмотреть более подробные
на самом деле?
Вычисление возраста по дате рождения в Excel
Больше чем днейдолжна содержаться разница стаж.
- Пример2: при подсчете стажаразница в днях без в Excel
- а в столбце = 0,0027397260273973 года,
- сложение, а потом была 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
суток.
Содержание
-
- 0.0.1 =РАЗНДАТ(начальная дата;конечная дата;единица измерения)
- 0.0.2 =РАЗНДАТ(14.07.1984;22.03.2016;»y»)
- 0.0.3 =РАЗНДАТ(F2;G2;»y»)&» год «&РАЗНДАТ(F2;G2;»ym»)&» месяцев»
- 1 Как посчитать разницу между датами в Excel
- 2 Расчет количества дней
- 2.1 Способ 1: простое вычисление
- 2.2 Способ 2: функция РАЗНДАТ
- 2.3 Способ 3: вычисление количеств рабочих дней
В MS Excel есть чрезвычайно интересная функция, о которой мало кто знает. Настолько мало, что к этой функции в экселе даже не предусмотрено контекстной подсказки при вводе, хотя, как ни странно, в справке к программе она есть и описана довольно неплохо. Называется она РАЗНДАТ() или DATEDIF() и служит для автоматического расчета разницы в днях, месяцах или годах между двумя заданными датами.
Звучит не очень? На самом деле, иногда возможность быстро и точно посчитать сколько же времени прошло с какого-то события, бывает очень полезна. Сколько месяцев прошло с дня вашего рождения, сколько времени вы уже просиживаете штаны на этом месте работы, или сколько дней вы сидите на диете — да мало ли применений этой полезной функции? А самое главное, подсчет можно автоматизировать и при каждом открытии книги MS Excel получать точные данные именно для сегодняшнего дня! Звучит интересно, неправда ли?
Функция РАЗНДАТ() принимает три аргумента:
- Начальная дата — дата с которой ведется счет
- Конечная дата — до которой ведется счет
- Единица измерения — дни, месяцы, годы.
Записывается это так:
=РАЗНДАТ(начальная дата;конечная дата;единица измерения)
Единицы измерения записываются как:
- «y» — разница дат в полных годах
- «m» — разница дат в полных месяцах
- «d» — разница дат в полных днях
- «yd» — разница дат в днях с начала года без учета лет
- «md» — разница дат в днях без учета месяцев и лет
- «ym» — разница дат в полных месяцах без учета лет
Иными словами, чтобы вычислить мой полный возраст в годах на текущий момент, я записываю функцию как:
=РАЗНДАТ(14.07.1984;22.03.2016;»y»)
Применение функции РАЗНДАТ() на практике
Обратите внимание — последний аргумент всегда заключен в кавычки.
Если же я хочу получить точный возраст, то запишу усложненную формулу:
=РАЗНДАТ(F2;G2;»y»)&» год «&РАЗНДАТ(F2;G2;»ym»)&» месяцев»
Усложняем применение РАЗНДАТ()
В которой функция РАЗНДАТ() вызывается сразу два раза, с разными значения, а слова «год» и «месяцев» просто пристыковываются к результату. То есть настоящая мощь функции проявляется только тогда, когда её комбинируют с другими возможностями MS Excel.
Ещё один интересный вариант — добавить в функцию ежедневно сдвигающийся относительно сегодняшней даты счетчик. К примеру, если я решу писать формулу которая высчитывает количество дней до моего отпуска в стандартном виде, это будет выглядеть примерно так:
Простой калькулятор остатка рабочих дней
И все было бы правильно, если бы открыв через неделю этот лист, я увидел бы, что количество дней до отпуска сократилось. Однако я увижу тоже самое число — ведь исходные даты не менялись. Соответственно, мне пришлось бы изменить текущую дату, и тогда функция РАЗНДАТ() сделала бы все правильно.
Чтобы избежать это досадной мелочи, в качестве первого аргумента (сегодняшнего числа), я подставлю не ссылку на значение хранящееся в ячейке, а другую функцию. Эта функция называется СЕГОДНЯ() и её основная и единственная задача — возвращать сегодняшнюю дату.
А это уже полноценный калькулятор в MS Excel, учитывающий сегодняшнюю дату
Раз, и проблема решена — отныне, когда бы я не открыл этот лист MS Excel, функция РАЗНДАТ() всегда будет показывать мне точное значение, рассчитанное с учетом сегодняшней даты.
На рабочем листе Excel создан план задач. В одной колонке указаны сроки выполнения для каждой задачи выполнения. Чтобы выделить цветом простроченные сроки поставленных задач нам нужна точная разница между датами в Excel. Для этого будем использовать условное форматирование с формулой РАЗНДАТ.
Необходимо выделить цветом названия задач, у которых сроки заканчиваются уже через 7 дней. Пример таблицы плана задач:
- Выделите диапазон ячеек A2:A7 и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило».
- Выбираем опцию: «Использовать формулу для определения форматируемых ячеек».
- Разница в днях между датами будет вычисляется функцией =РАЗНДАТ(). Для этого В поле ввода введите формулу: =РАЗНДАТ($D$2; C2;»d»)
Для выполнения определенных задач в Excel нужно определять, сколько дней прошло между некоторыми датами. К счастью, у программы имеются инструменты, которые способны решить данный вопрос. Давайте выясним, какими способами можно посчитать разность дат в Экселе.
Расчет количества дней
Прежде, чем начать работать с датами, нужно отформатировать ячейки под данный формат. В большинстве случаев, при введении комплекта символов, похожего на дату, ячейка сама переформатируется. Но лучше все-таки сделать это вручную, чтобы подстраховать себя от неожиданностей.
- Выделяем пространство листа, на котором вы планируете производить вычисления. Кликаем правой кнопкой мыши по выделению. Активируется контекстное меню. В нём выбираем пункт «Формат ячейки…». Как вариант, можно набрать на клавиатуре сочетание клавиш Ctrl+1.
- Открывается окно форматирования. Если открытие произошло не во вкладке «Число», то следует в неё перейти. В блоке параметров «Числовые форматы» выставляем переключатель в позицию «Дата». В правой части окна выбираем тот тип данных, с которым собираемся работать. После этого, чтобы закрепить изменения, жмем на кнопку «OK».
Теперь все данные, которые будут содержаться в выделенных ячейках, программа будет распознавать как дату.
Способ 1: простое вычисление
Проще всего вычислить разность дней между датами с помощью обычной формулы.
- Записываем в отдельные ячейки отформатированного диапазона даты, разность между которыми нужно вычислить.
- Выделяем ячейку, в которой будет выводиться результат. В ней должен быть установлен общий формат. Последнее условие очень важно, так как, если в этой ячейке стоит формат даты, то в таком случае и результат будет иметь вид «дд.мм.гг» или другой, соответствующий данному формату, что является некорректным итогом расчетов. Текущий формат ячейки или диапазона можно просмотреть, выделив его во вкладке «Главная». В блоке инструментов «Число» находится поле, в котором отображается данный показатель.
Если в нем стоит значение, отличное от «Общий», то в таком случае, как и в предыдущий раз, с помощью контекстного меню запускаем окно форматирования. В нем во вкладке «Число» устанавливаем вид формата «Общий». Жмем на кнопку «OK».
- В отформатированную под общий формат ячейку ставим знак «=». Кликаем по ячейке, в которой расположена более поздняя из двух дат (конечная). Далее жмем на клавиатуре знак «-». После этого выделяем ячейку, в которой содержится более ранняя дата (начальная).
- Чтобы увидеть, сколько времени прошло между этими датами, жмем на кнопку Enter. Результат отобразится в ячейке, которая отформатирована под общий формат.
Способ 2: функция РАЗНДАТ
Для вычисления разности в датах можно также применять специальную функцию РАЗНДАТ. Проблема в том, что в списке Мастера функций её нет, поэтому придется вводить формулу вручную. Её синтаксис выглядит следующим образом:
=РАЗНДАТ(начальная_дата;конечная_дата;единица)
«Единица» — это формат, в котором в выделенную ячейку будет выводиться результат. От того, какой символ будет подставлен в данный параметр, зависит, в каких единицах будет возвращаться итог:
- «y» — полные года;
- «m» — полные месяцы;
- «d» — дни;
- «YM» — разница в месяцах;
- «MD» — разница в днях (месяцы и годы не учитываются);
- «YD» — разница в днях (годы не учитываются).
Так как нам нужно рассчитать разницу в количестве дней между датами, то наиболее оптимальным решением будет применение последнего варианта.
Также нужно обратить внимание, что, в отличие от способа с применением простой формулы, описанного выше, при использовании этой функции на первом месте должна находиться начальная дата, а конечная – на втором. Иначе расчеты будут некорректными.
- Записываем формулу в выбранную ячейку, согласно её синтаксису, описанному выше, и первичным данным в виде начальной и конечной даты.
- Для того, чтобы произвести расчет, жмем кнопку Enter. После этого результат, в виде числа обозначающего количество дней между датами, будет выведен в указанную ячейку.
Способ 3: вычисление количеств рабочих дней
В Экселе также имеется возможность произвести вычисление рабочих дней между двумя датами, то есть, исключая выходные и праздничные. Для этого используется функция ЧИСТРАБНИ. В отличие от предыдущего оператора, она присутствует в списке Мастера функций. Синтаксис у этой функции следующий:
=ЧИСТРАБДНИ(нач_дата;кон_дата;
Этот формат или вычисления в этом формате отличаются от всех вышеприведенных примеров. При необходимости получить количество дней от конкретной даты, нам необходимо в ячейке, где будет результат выставить знак равенства (=) и затем выделяем ячейку с установленной датой, от которой будут производиться вычисления. Выделяем ее курсором. Следующим действием ставим минус (-). Таким образом, половина формулы составлена. Остается только вставить число дней, которое необходимо вычесть. Его вводим с клавиатуры компьютера. Далее «Enter» и задача решена. В ячейке ожидаемый результат.
Вычисление времени происходит аналогично вычислению дат. То есть от более позднего временного значения отнимаем более раннее. На примере вычисления прошедших минут с периода 22:55 часа и 15:13 часов покажем алгоритм вычисления разности в формате «время». Следует отметить, наверное, что формат при вводе цифр именно таким образом, как вводятся временные данные, автоматически становится форматом времени. В ячейке ожидаемого результата ставим привычное «равно» (=), затем активируем курсором мышки ячейку с поздним временем, у нас это ячейка где стоит 22:55. Затем вводим значение «минус» (-) затем переходим к активации ячейки с более ранним временным значением, то есть 15:13. В итоге формула будет выглядеть следующим образом «=C4-E4». Активируем вычисление – жмем Enter.
Что мы видим в ячейке результата? Вовсе не то что ожидали. И это верно. Ожидая минуты — получили часы и минуты. Что делать, что бы получить результат в минутах? Необходимо умножить количество минут на количество часов в сутках. Проще говоря, умножаем 60 на 24. Что можно сделать через коэффициент 1440, то есть умножить 7часов 42 минуты на 1440. В excel это делаем следующим образом. Открываем ячейку знаком «равно» (=) жмем на ячейку с данными 7:42. Данные отобразятся в строке формулы,
затем жмем на «умножить» (*) и подставляем значение 1440. Жмем Enter. Все — смотрим результат.
А он опять не тот, что мы ожидали. Мы видим 0:00. Это связано с тем, что при вводе коэффициента 1440 формат числа автоматически изменился на временной, что и дало искаженный результат. Что бы увидеть искомое значение в количествах минут следует изменить формат с «время» на «числовой» или «общий».
Формат меняется активированием ячейки и изменением в окне меню формата на «общий». Данную операцию по изменению формата, возможно, проделать с помощью клавиши Ctrl + 1. Пользуясь этими клавишами, активируем список форматов. Выбираем из списка формат «общий» Нажимаем Enter и процесс изменения формата завершен.
После вышеуказанных манипуляций с форматами и расчетами и мы получим искомый результат 462 м.