Отправляет email-рассылки с помощью сервиса Sendsay

Excel - вопросы и ответы

  Все выпуски  

Excel - вопросы и ответы


Добрый день!

 

Проблемы с датой и временем

Как округлить промежуток времени до следующей четверти часа?

Решение

Далее приводятся две версии формулы. В обоих случаях серия вложенных инструкций ЕСЛИ определяет, до какой четверти часа должен быть округлен промежуток времени. Первая версия предназначена для количества часов, округленного до дробной величины (скажем, 2,4). Предполагается, что значение находится в ячейке А15:

=ЕСЛИ(А15-ЦЕЛОЕ(А15)>0.75; ОКРВВЕРХ(А15;0);ЕСЛИ(А15-ЦЕЛОЕ(А15)>0,5;ЦЕЛОЕ(А15)+0,75;ЕСЛИ(А15-ЦЕЛОЕ (А15)>0.25 ЦЕЛОЕ(А15)+0,5;ЕСЛИ(А15-ЦЕЛОЕ(А15)>0;ЦЕЛОЕ(А15)+0.25;А15))))

Вторая версия работает со стандартным форматом времени (например, 2:25). Предполагается, что значение находится в ячейке D16:

 

=ЕСЛИ(МИНУТЫ(D16)>45;ЧАС(D16)+1:ЕСЛИ(МИНУТЫ(D16)>30: ЧАС(D16)+0,75;ЕСЛИ(МИНУТЫ(D16)>15;ЧАС(D16)+ 0.5:ЕСЛИ(МИНУТЫ(D16)>0;ЧАС(D16)+0,25;ЧАС(D16)))))

Если вы предпочитаете создать пользовательскую функцию, чтобы формула была доступна во всей книге, задействуйте следующий код VBA. 

Функция реализует вторую из представленных формул, поскольку время ей должно передаваться в стандартном формате (например, 4:45). После включения функции в программный модуль VBA вы сможете вызывать ее так же, как любую другую функцию Excel. 

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

=QuarterRound(C2). 

Function QuarterRound(timValue) As Single

intHour = Hour(timValue) 

sngMinute = Minute(timVaiue) / 60

If sngMinute > 0.75 Then 

QuarterRound = intHour + 1

Exit Function 

End If

If sngMinute > 0.5 Then 

QuarterRound = intHour + 0.75

Exit Function 

End If

If sngMinute > 0.25 Then 

QuarterRound = intHour +0.5 

Exit Function 

End If

If sngMinute > 0 Then 

QuarterRound = intHour +0.25 

Else: QuarterRound = intHour

End If

End Function

 Совет взят из книги Кёртис Фрай "Хитрости Excel"

Поскольку у нас появилось много новых подписчиков, думаю будет небесполезным разместить здесь ссылку на самоучитель по Excel, с которого, собственно, все и началось - http://www.eliteclub.h10.ru/excel/excel.html

Кроме того, анонсируется новый самоучитель "Access - 10 уроков для вас" - http://www.eliteclub.h10.ru/excel/access.htm

Приглашаю на форум!

http://mlm.2bb.ru

С уважением,
Александр РАСЕВ

Рассылки Subscribe.Ru
Бизнес с EliteClub
Рассылки Subscribe.Ru
Электроника, связанная с компьютерами

В избранное