我想将我的秒值转换为 x 分钟 x 秒,是否有一个公式模板可以一次性完成?

例如:67 -> 1m7s,143 -> 2m23s:

我试过了=TEXT(AN3/86400, "mm:ss")结果是00:30 2try,改为“mmss”结果为0030

我的任务是获得 30 秒,如果我的值中没有分钟且没有 2 位数字(07 秒到 7 秒),如何不删除 0

2

  • 它们纯粹是为了展示,还是您仍想使用这些新输出进行计算?


    – 

  • 这项任务乍一看很简单。


    – 


5 个回答
5

使用以下公式将秒转换为分和秒。

=B2/(24*60*60)

然后将所需的时间格式m\mss\s应用于单元格。如果您想要格式化输出,请使用TEXT()以下函数:

=TEXT(B2/(24*60*60),"m\mss\s")

3

  • “m\mss\s” 是否可以工作超过 60 分钟?


    – 

  • 我没有测试过。我们可能会采用不同的格式。


    – 

  • 当然,“mm:ss” 只限制一小时。我们需要将此作为限制声明,而 TS 没有提到 >3599。


    – 

我可以提出下一个公式来避免所有类型的前导零或尾随零:

=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 –> 1m7s

37 –> 37s


60 –> 1m

尝试使用以下公式和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))))

1

  • 1
    我很高兴!如果 TS 需要的是“67 -> 1m7s”(其表述方式)而不是“67 -> 1m07s”,则可以通过将“m:ss”替换为“m:s”轻松调整此公式。


    – 

假设秒值在单元格中A1,使用以下公式:

=INT(A1/60) & " min " & MOD(A1,60) & " sec"

你可以

  • 将秒转换为时间:=TIME(0,0,D5:K5)
    • 这是,如果使用旧版本,请选择范围并使用 Control + Shift + Enter 输入
  • 添加[m]"m"ss"s";;0;
    • [m]用于持续时间和"m"文字文本
    • 用于[m]"m"s"s";;0;省略秒的前导零

如果你不想使用自定义数字格式,

=TEXT(TIME(0,0,D5:K5), "[m]""m""ss""s"";;0;")

报价需要加倍