Для простоты ввода и для предотвращения вставки Excel ненужных часов времени и информации о AM/PM, я использую этот пользовательский формат для ввода времени в минутах и секундах: "00\:00"

Я пытаюсь рассчитать разницу во времени с этим типом данных, но Excel не распознает ее как нумерацию с базовым значением 60. Есть ли способ сохранить этот формат и при этом вычислить результат?

Например, если A1 читает «00:30», а B1 - «01:21», как мне получить C1, чтобы вычислить и получить «00:51»?

2 ответа2

2

Вот способ сделать это с формулой, хотя в этом уравнении так много скобок, что я собираюсь коснуться.

Поскольку две самые правые цифры в вашем пользовательском формате представляют секунды, мы можем разделить их с помощью RIGHT(). Затем вычитая это из исходного числа, вы получите "минуты" в вашем пользовательском формате.

Я начну с кусочков, а затем построю формулу из ее частей.

Convert B to Seconds  =  (60*(B2-RIGHT(B2,2))/100)+RIGHT(B2,2)
Convert A to Seconds  =  (60*(A2-RIGHT(A2,2))/100)+RIGHT(A2,2)
Difference in Seconds  =  ((60*(B2-RIGHT(B2,2))/100)+RIGHT(B2,2))-((60*(A2-RIGHT(A2,2))/100)+RIGHT(A2,2))

Now to convert back to the original format:
 1. Divide the difference by 60, truncate it, and multiply by 100 to get the minutes part.
 2. Divide the difference by 60, and take the modulus to get the seconds part.
 3. Add 1 and 2.

Minutes Part  =  100*(TRUNC((((60*(B2-RIGHT(B2,2))/100)+RIGHT(B2,2))-((60*(A2-RIGHT(A2,2))/100)
Seconds Part  =  MOD((((60*(B2-RIGHT(B2,2))/100)+RIGHT(B2,2))-((60*(A2-RIGHT(A2,2))/100)+RIGHT(A2,2))),60)

And here's the entire formula:

=100*(TRUNC((((60*(B2-RIGHT(B2,2))/100)+RIGHT(B2,2))-((60*(A2-RIGHT(A2,2))/100)+RIGHT(A2,2)))/60))+MOD((((60*(B2-RIGHT(B2,2))/100)+RIGHT(B2,2))-((60*(A2-RIGHT(A2,2))/100)+RIGHT(A2,2))),60)

Уф! Надеюсь это поможет.

0

Если вы используете 121 и форматируете его как 01:21 (что означает 1 минуту и 21 секунду), вы можете использовать вспомогательный столбец для выполнения математических операций:

В столбце B поместите это и перетащите вниз:

=IF(LEN(A1)=4,TIME(0,LEFT(A1,2),RIGHT(A1,2)),IF(LEN(A1)=3,TIME(0,LEFT(A1,1),RIGHT(A1,2)),TIME(0,0,A1)))

Затем в B3 вы можете сделать B2-B1 .

Я думаю, это должно работать с 00:01 до 59:59 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .