Часто при работе с временем в Excel возникает необходимость округления времени до определенных интервалов. Если работает консультант, он округляет 15 минут вверх или 30 минут вниз.
Примеры с округлением времени до 15-ти минут и получаса в Excel
Ниже на рисунке изображено как можно округлять время до 15-ти или 30-ти минутных интервалов. Формула в ячейке D2 выгладит так:
А следующая формула в ячейке E2 выглядит следующим образом:
Значение времени можно округлять к ближайшему часу, умножив его на 24. После чего результат вычислений следует поместить в первый аргумент функции ОКРУГЛВВЕРХ. Затем разделить результат вычисления функции на число 24. Например, ниже приведенная формула возвращает значение 7:00:00:
Чтобы округлить время до 15-ти минутного интервалу вверх, следует дополнительно разделить все числа 24 на 0,25 (квадрант).
Ниже приведенная формула возвращает 6:30:00:
Чтобы округлить время до 30-ти минутного интервала вниз, необходимо использовать функцию ОКРУГЛВНИЗ и разделять числа 24 на 0,5 (полчаса). Следующая формула возвращает 6:00:00:
Как видно из описания данных примеров округлять время немного сложнее чем дробные числа или даты. Здесь имеются свои особенности, но разобравшись можно теперь справится с любой подобного рода задачей.
Вам может понадобиться создать формулу, которая округляет время до определенного количества минут. Например, поставлена задача вводить записи, где указано время, округленное до ближайших 15 минут. В этой статье приведены примеры различных способов округления значений времени.
Следующая формула округляет время из ячейки А1 с точностью до минуты: =ОКРУГЛ(А1*1440;0)/1440
. Эта формула работает путем умножения времени на 1440 (для получения общего количества минут). Значение передается функции ОКРУГЛ, а результат делится на 1440. Например, если ячейка А1 содержит значение времени 11:52:34, формула возвращает 11:53:00.
Следующая формула аналогична, за исключением того, что она округляет время в ячейке А1 до ближайшего часа: =ОКРУГЛ(А1*24;0)/24
. Если ячейка А1 содержит 5:21:31, формула возвращает 5:00:00.
Следующая формула округляет время в ячейке А1 до ближайших 15 минут (четверти часа): =ОКРУГЛ(А1*24/0,25;0)*(0,25/24)
. В этой формуле 0,25 представляет собой дробную часть часа. Для округления времени до ближайших 30 минут измените 0,25 на 0,5, как показано в следующей формуле: =ОКРУГЛ(А1*24/0,5;0)*(0,5/24)
.
Скачать пример рабочей книги
Загрузите образец книги
В этом руководстве будет показано, как округлять время в Excel и Google Таблицах.
Время раунда
Чтобы округлить время в Excel, вы должны использовать функцию ОКРУГЛЕНИЕ и ввести кратное округление как единицу времени, используя кавычки.
= ОКРУГЛ (B3; "0:15")
В этом примере время округлено до ближайших 15 минут. Вместо этого вы можете округлить до ближайших 60 минут.
= ОКРУГЛ (B3; "0:60")
Если вы не хотите вводить время таким образом, вы можете ввести десятичное значение, соответствующее единице времени. Например, 1/24 представляет один час, введя 1/24 в MROUND, вы округлите до ближайшего часа.
= ОКРУГЛ (B3,1 / 24)
Это работает, потому что в Excel время хранится как десятичное значение, где целый день равен 1, а каждая 1/24 представляет один час дня.
Время округления вверх
Чтобы округлить время в большую сторону, используйте тот же метод, за исключением функции CEILING.
= ПОТОЛОК (B3; "0:15")
Round Time Down
Чтобы округлить время в меньшую сторону, используйте ту же технику, за исключением функции FLOOR.
= ЭТАЖ (B3; "0:15")
Все приведенные выше примеры работают в Google Таблицах точно так же, как и в Excel.
Вы поможете развитию сайта, поделившись страницей с друзьями
Excel has numerous rounding functions as expected from a spreadsheet software. However, rounding time values may not be as straightforward as rounding numbers. In this guide, we’re going to show you how to round time values in Excel.
Download Workbook
Date and time concept in Excel
Let’s say you want to round a time value to the nearest hour. You cannot use the regular rounding functions like ROUND, ROUNDUP or ROUNDDOWN because of their decimal based limitation. You may think of using a 60-base numbers or multipliers with functions like MROUND, CEILING.MATH or FLOOR.MATH. Although the approach sounds rational, the results will be wrong thanks to the Excel’s date/time value evaluation.
Excel keeps date and time values as numbers. According to Excel, the history starts from Jan 1st, 1900 and accepts this date as 1. While whole numbers represent days, the decimal represents time. For example, while 1/1/2018 is equal to 43101, 12:00 is equal to 0.5. The date or time value you see in a worksheet is no more than a number formatting.
You can easily test this. Enter a time to cell. You will see that the cell’s number formatting is set to Time automatically. Converting the number format to General will show you the exact number.
So, you need to round time values by numbers that Excel accepts. Thankfully, you do not need to calculate these numbers by yourself. Excel’s TIME formula can return time number by given hour, minute and second values.
How to round time values
Since we have reviewed the basic concept of representing time values in Excel, let’s see how you can round them. The MROUND, CEILING.MATH or FLOOR.MATH formulas will be wise choices thanks to their ability to calculate by multiplier/significance.
For general rounding through both sides, choose the MROUND. Otherwise choose between CEILING.MATH or FLOOR.MATH to round up or down respectively. The trick is to use the TIME function to return a valid time value as a multiplier/significance. Thus, the syntax will be the following:
=MROUND( <time to be rounded>, TIME( <hour>, <minute>, <second> ) )
For example, to round the nearest 15 seconds, the rounding function should be the MROUND and the 15 seconds should be defined as TIME(0,0,15).
Based on this logic here are some examples:
Nearest minute | =MROUND(<time>,TIME(0,1,0)) | 10:29:08 PM | 10:29:00 PM |
Next 15 minutes | =CEILING.MATH(<time>,TIME(0,15,0)) | 11:29:08 PM | 11:30:00 PM |
Previous hour | =FLOOR.MATH(<time>,TIME(1,0,0)) | 1:29:08 AM | 1:00:00 AM |
mistbow Пользователь Сообщений: 6 |
Приветствую! Функция вставляет текущее время в ячейку, но нужно время вставлять не с точностью до секунд, а с точностью до 5 минут. |
=ОКРВНИЗ(A1;»0:5″) |
|
mistbow Пользователь Сообщений: 6 |
{quote}{login=Казанский}{date=23.11.2011 04:29}{thema=}{post}=ОКРВНИЗ(A1;»0:5″) Чего-то не пашет… выдает 0:00 ((( |
{quote}{login=Казанский}{date=23.11.2011 04:29}{thema=}{post}=ОКРВНИЗ(A1;»0:5″) |
|
mistbow Пользователь Сообщений: 6 |
{quote}{login=}{date=23.11.2011 04:48}{thema=Re: }{post}{quote}{login=Казанский}{date=23.11.2011 04:29}{thema=}{post}=ОКРВНИЗ(A1;»0:5″) Если правильно понял, то =ROUNDDOWN(M3;»0:05″) но тоже выдает нули… ((( |
Не-а, =FLOOR(A1,»0:5″) |
|
MCH Пользователь Сообщений: 3875 |
Еще вариант: |
{quote}{login=Казанский}{date=23.11.2011 05:08}{thema=}{post}Не-а, =FLOOR(A1,»0:5″) Спасибо! Понял в чем была проблема… не ту ячейку в формулу подставил… пустую ))) |
|
mistbow Пользователь Сообщений: 6 |
Прикольно,что так сработало )) Private Sub CommandButton3_Click() Всем спасибо! |
mistbow Пользователь Сообщений: 6 |
{quote}{login=MCH}{date=23.11.2011 05:30}{thema=}{post}Еще вариант: Спасибо! Работает! Я так как раз и пытался сделать… но фантазии не хватило, или терпения, чтобы разобраться до конца!))) |
Menkar Пользователь Сообщений: 3 |
Позвольте вопрос в тему обсуждения 0:03:00 —> округлить до 0:03:00 То есть округлить в большую сторону, если после минуты стоит более 1 сек |
Guest Гость |
#13 18.01.2012 16:49:14 =ОКРВВЕРХ(A1;»0:01″) |