Как в excel посчитать разницу во времени
Вычисление разницы во времени
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Предположим, вам нужно узнать, сколько времени требуется для сотрудника, чтобы завершить операцию сборки, или Быстрый заказ на питание, который будет обрабатываться в часы пик. Существует несколько способов расчета разницы между двумя значениями.
Представление результата в стандартном формате времени
Для представления результатов в стандартном формате времени (часы: минуты: секунды) можно использовать два подхода. Оператор вычитания (—) используется для определения разницы между временем, а затем выполните одно из указанных ниже действий.
Примените пользовательский код формата к ячейке, выполнив указанные ниже действия.
На вкладке Главная в группе число щелкните стрелку рядом с полем Общие и выберите пункт другие числовые форматы.
В диалоговом окне Формат ячеек в списке Категория выберите пункт другой , а затем в поле тип выберите настраиваемый формат.
Чтобы отформатировать значения параметров, используйте функцию текст .Если вы используете коды форматов времени, часы не всегда превышают 60, а секунды не предельной, а в секундах — 60.
Пример таблицы 1: результат представлен в стандартном формате времени
Скопируйте приведенную ниже таблицу на пустой лист, а затем при необходимости измените ее.
Как вычесть время в Excel и посчитать разницу во времени
Одна из самых сложных операций, выполняемых со значением времени – это вычисление временного интервала. То есть, количество пройденных часов и минут между начальным и конечным временным значением.
Как вычитать время сегодняшнего и завтрашнего дня в Excel
Таблица на рисунке ниже в своих ячейках содержит список начальных и конечных временных значений. А также результатами вычисления временного интервала:
Как видно на рисунке если мы будем делать просто вычитание, то для некоторых результатов получаем ошибочный формат значений – ###:
Поэтому при расчетах временных интервалов, чтобы узнать разницу во времени, следует использовать формулу в Excel. Сама формула выглядит следующим образом:
Чтобы вычислить временной интервал между начальным и конечным временем недостаточно только лишь вычесть от конечного времени начальное. Здесь скрыта определенная ловушка, в которую часто попадают пользователи Excel. Если конечное время есть раньше, чем начальное, тогда следует считать так, что часы показывали время следующего 24-х часового дня.
В таких случаях к конечному времени следует добавить единицу, которая в формате времени Excel считается полными сутками. Благодаря такой формуле результат вычисления временных интервалов не будет содержать отрицательных значений.
В формуле, вычисляющей временный интервал используется логическая функция ЕСЛИ. Она сначала проверяет является ли конечное время более ранее, чем начальное. Если так, тогда к результату вычитания добавляется единица (24 часа). В противном случае выполняется только лишь вычитание.
Как в excel посчитать разницу во времени
Как подсчитать разницу даты и времени в excel?
Если вычислять разницу 2018-01-09 15:24:05 и 2018-01-08 20:06:25, то пишет только время, а если отнимать 2018-01-10 15:24:05 и 2018-01-08 20:06:25 то пишет 1 дней и время.
Я так понимаю, такое внутренними средствами Excel это не сделать? Пробовал через
Если разница только во времени, то все как положено считает и выводит только разницу во времени, а если будет разница превышающая 24 часа или один месяц?
Если я правильно Вас понял — то может что-то типа такого?
Дата в Excel — число дней от 01.01.1900г., время — дробная часть числа. Например, 10.01.2018 10:15:20 в числовом выражении будет 43110,4273148148 (выражение даты в десятичном формате можно посмотреть, задав формат ячейки Общий).
Т.к. дата — число, то перевод ее в текстовый формат нежелателен — не всегда тестовое представление преобразуется в число, а это чревато ошибками или невозможностью применения полученного значения для дальнейших вычислений.
Визуально показать требуемое можно с помощью формата ячейки (задать в закладке «все форматы«):
Значение дата/время сохранено в числовом формате. Недостаток: формат отобразит количество дней не более 31
Но дата/время текстом также применяется (например: в конечных документах, для отображения значения в составе другого текста):
Функция РАЗНДАТ() — Вычисление разности двух дат в днях, месяцах, годах в MS EXCEL
Если Вам требуется рассчитать стаж (страховой) в годах, месяцах, днях, то, пожалуйста, воспользуйтесь расчетами выполненными в статье Расчет страхового (трудового) стажа в 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) ДЕНЬ(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! Эта ошибка проявляется, когда в предыдущем месяце относительно конечной даты, дней меньше, чем дней начальной даты. Как выйти из этой ситуации?
Модифицируем формулу для расчета дней разницы без учета месяцев и лет:
Как получить разницу в минутах между двумя датами в Excel?
Я делаю некоторую работу в Excel и сталкиваюсь с небольшой проблемой. Инструменты, с которыми я работаю, сохраняют дату и время измерений, и я могу прочитать эти данные в Excel в следующем формате:
то, что я ищу, это найти разницу в двух метках даты/времени в минутах, чтобы я мог создать кривую распада из данных. Поэтому в Excel я хочу сделать это (если количество минут в этом примере неверно, я просто рассчитал его рука быстро):
Я немного осмотрелся и нашел несколько методов для разницы во времени, но они всегда предполагают, что даты одинаковы. Я немного преувеличил время между моими измерениями, но этот перекат дней-это то, что вызывает у меня горе. Любые предложения или подсказки о том, как это сделать, были бы замечательными. Даже если бы я мог найти разницу между датой и временем в часах или днях в десятичном формате, я мог бы просто умножить на константу, чтобы получить ответ. Обратите внимание, что у меня есть опыт программирования и Excel, но, пожалуйста, объясните подробно. Иногда я теряюсь в шагах.
время и дата хранятся как числовые, десятичные значения (фактически с плавающей запятой). Даты в целые числа, а время-дробная часть (1/24 = 1 час, 1/24*1/60-одна минута и т. д. )
дата-разница во времени рассчитывается как:
который даст вам ответ в днях, теперь умножьте на 24 (часы в день) , а затем на 60 (минуты в час) , и вы там:
чтобы добавить немного больше перспективы, Excel хранит дату и время как serial numbers .
Я бы предложил вам использовать следующее:
объединить даты в это время, а затем сделать разницу. Таким образом, это не вызовет у вас никаких проблем на следующий день или что-то еще.
пожалуйста, обратитесь к изображению с расчетами. Вы можете оставить свою ячейку total minutes как общий или числовой формат.