#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);"")