Округление до часа, ЗАТЕМ минута на нескольких строках

#excel #excel-formula #formula

#excel #excel-формула #формула

Вопрос:

У меня есть formumla, которая на основе сервиса просматривает скорость, а затем умножает на используемое время. Проблема в том, что скорость составляет минимум 1 час, а затем каждую минуту после этого. Поэтому мне нужно всегда округлять до 1 часа, а затем округлять до каждой минуты свыше 60 минут.

Где это становится сложным, так это то, что у меня есть 2 службы, которые необходимо суммировать. Итак, если служба 1 занимает 20 минут, а служба 2 занимает 30 минут, тогда мне нужно, чтобы общее количество было 60 минут для этих 2 служб.

Лист выглядит следующим образом:

Столбец A — Сервис: раскрывающийся список различных сервисов

Столбец B — Начало: время запуска службы

Столбец C — Slut: время окончания службы

Столбец D — Tidspunkt: выпадающий список. Предоставляется ли услуга в рабочее время или нет?

Столбец E — Weight: выпадающий список. Вес транспортного средства, предоставляемого сервисом

Столбец F — Укажите использованные часы на основе столбцов C amp; D ИЛИ, если услуга не является почасовой ставкой, просто введите количество предоставленных услуг. Здесь формула на данный момент такова:

 =IFERROR(IF(VLOOKUP(A30;Priser!B:G;6;FALSE)="timepris";CEILING(IF((HOUR(C30-B30)*60 MINUTE(C30-B30))/60=0;"";(HOUR(C30-B30)*60 MINUTE(C30-B30))/60);0,5);IF((HOUR(C30-B30)*60 MINUTE(C30-B30))/60=0;"";(HOUR(C30-B30)*60 MINUTE(C30-B30))/60));"")
  

Столбец G — Pris:
Скорость обслуживания. Формула:

 =IFERROR(VLOOKUP(A30;Priser!$B:$G;MATCH(CONCATENATE('1 vogn'!D30;" ";'1 vogn'!E30);Priser!$B$1:$F$1;0);FALSE);"")
  

Столбец H — итого:
Скорость умножается на часы/#

 =IFERROR(G30*F30;"")
  

Прямо сейчас, если я введу временной интервал, он всегда будет округляться до следующего получаса. Мне нужно, чтобы это было 60 минут, а ЗАТЕМ каждую минуту. Кроме того, данные могут выглядеть следующим образом:

Услуга 1 — это основано на минутной ставке, минимум 60 минут. Услуга 2 — это основано на фиксированной ставке, независимо от используемого времени. Услуга 3 — это основано на минутной ставке, минимум 60 минут, но должно рассчитываться из общего количества услуг 1 и 3. Услуга 4 — это основано на минутной ставке, минимум 60 минут, и не зависит от услуг 1 и 3.

Ответ №1:

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

округляйте до 1 часа, а затем округляйте до каждой минуты, превышающей 60 минут.

Время, составляющее долю дня, будет:

 =MAX(TIME(1,0,0), MROUND(SUM(rng_to_rnd),TIME(0,1,0)))
  

или (эквивалентная формула без использования TIME или MROUND ):

 =MAX(1/24,ROUND(SUM(rng_to_rnd)*1440,0)/1440)
  
  • Чтобы получить это время в часах, умножьте на 24
  • Чтобы получить это время в минутах, умножьте на 1440 (т.е.: 24 * 60)

Если это не ваш вопрос, пожалуйста, уточните. a

Ответ №2:

Вот как я закончил, я использовал фиксированную строку для службы 1

 =IF(HOUR(C30-B30)*60 MINUTE(C30-B30)=0;"";HOUR(C30-B30)*60 MINUTE(C30-B30))
  

Повторяющаяся строка для службы 2,

А затем общая сумма строк для служб 1 и 2.

 =IFERROR(MAX(1;(D30 D32)/60);"")