Вопрос или проблема
Я хочу преобразовать мое значение в секундах в формат x мин x секунд. Есть ли какая-то формула, позволяющая сделать это за один раз?
Пример: 67 -> 1м7с, 143 -> 2м23с:
Я пробовал =TEXT(AN3/86400, "mm:ss")
, результат 00:30. Попробовал еще раз, изменил на “mmss”, в результате получил 0030.
Моя задача состоит в том, чтобы получить 30с, как сделать так, чтобы ноль не убирался, если нет минут и двух цифр (07 сек — это 7 сек) в моем значении.
Используйте следующую формулу, чтобы преобразовать секунды в минуты и секунды.
=B2/(24*60*60)
Затем примените желаемые форматы времени m\mss\s
к ячейкам. Если вам нужен форматированный вывод, используйте функцию TEXT()
следующим образом:
=TEXT(B2/(24*60*60),"m\mss\s")
Я могу предложить следующую формулу, которая избегает всех видов ведущих или завершающих нулей:
=LET(t,A1/86400,m,TEXT(t,"m\m:ss"),s,TEXT(t,"s\s"),IF(LEFT(m,1)<>"0",TEXTBEFORE(m,":"),"")&IF(s<>"0s",s,""))
67 –> 1м7с
37 –> 37с
60 –> 1м
Попробуйте использовать следующую формулу с логикой IFS()
, введенной в TEXT()
:
• Формула, использованная в ячейке B1
=LET(
α, B1,
δ, α/60,
Σ, IFS(δ=0,"0",δ<1,"s\s",δ=1,"m\m",1,"m\mss\s"),
TEXT(α/86400, Σ))
Или, выведите весь массив, нет необходимости заполнять вправо.
=LET(
α, B1:I1,
δ, α/60,
Σ, IFS(δ=0,"0",δ<1,"s\s",δ=1,"m\m",1,"m\mss\s"),
TEXT(α/86400, Σ))
Или вот так:
=MAP(B1:K1,LAMBDA(α,
LET(δ,TEXTSPLIT(TEXT(α /86400,"m:ss"),,":"),
IF(α,CONCAT(REPT(δ&{"m";"s"},SIGN(δ))),0))))
Предположим, что значение в секундах находится в ячейке A1
, используйте следующую формулу:
=INT(A1/60) & " мин " & MOD(A1,60) & " сек"
Вы можете
- преобразовать секунды в время:
=TIME(0,0,D5:K5)
- Это является массивной формулой, если вы используете старые версии, пожалуйста, выберите диапазон и введите комбинацией клавиш Control + Shift + Enter
- Добавить пользовательский формат числа:
[m]"м"ss"с"
[m]
используется для длительности, а"м"
— для буквального текста
Если вы не хотите использовать пользовательский формат числа,
=TEXT(TIME(0,0,D5:K5), "[m]""м""ss""с""")
Кавычки нужно дублировать
Ответ или решение
Чтобы преобразовать значение в секундах в формат "x мин x сек", вы можете использовать несколько формул в Excel, которые позволят вам достичь желаемого результата без ведущих нулей и с правильным форматированием.
Формула для преобразования
Если значение секунд находится в ячейке A1
, вы можете использовать следующую формулу:
=LET(секунды, A1,
минуты, INT(секунды / 60),
оставшиеся_секунды, MOD(секунды, 60),
IF(минуты > 0,
TEXT(минуты, "0") & "m" & TEXT(оставшиеся_секунды, "0") & "s",
TEXT(оставшиеся_секунды, "0") & "s"))
Разъяснение формулы:
LET
– позволяет объявить переменные, чтобы сделать формулу более читаемой.секунды
– это ваше значение в секундах.минуты
– вычисляет полные минуты, деля общее количество секунд на 60.оставшиеся_секунды
– вычисляет остаток секунд после извлечения полных минут, используя функциюMOD
.IF
– проверяет, есть ли какие-либо минуты:- Если минуты больше 0, то формируется строка вида "xmy" (где x – число минут, y – число секунд).
- Если минут нет, возвращается строка вида "ys" (где y – число секунд).
Примеры:
- 67 секунд преобразуется в "1m7s".
- 37 секунд преобразуется в "37s".
- 60 секунд преобразуется в "1m".
Альтернативный вариант без использования LET:
Если вы не хотите использовать функцию LET
, можете применить более традиционный способ:
=INT(A1/60) & "m" & MOD(A1,60) & "s"
Однако, это приведет к отображению нулей, например "0m30s" для 30 секунд.
Чтобы избежать отображения минут, когда они равны нулю, используйте первую формулу.
Дополнительные советы:
- Убедитесь, что значение в ячейке A1 является числом (например, без текстового формата).
- Если значения в большом диапазоне ячеек и вам нужно применить формулу ко всем ним, можете использовать функцию
MAP
в сочетании сLAMBDA
, что позволит вам обрабатывать массив данных одновременно.
Заключение:
С помощью вышеуказанных формул вы можете легко преобразовывать секунды в человекочитаемые форматы времени, сохраняя стиль представления и избегая ненужных нулей в формате. Если у вас есть дополнительные вопросы или требования, не стесняйтесь спрашивать.