将 3 个单元格连接成 HH:MM:SS 的时间函数替代方案

Time function alternative to concatenate 3 cells into HH:MM:SS

我想知道是否还有另一个 excel 函数可以用来将 3 个数字组合成格式为 (hh:mm:ss) 的时间。

时间功能很好,但下面的例子显示了一个问题,它不能超过 24 小时。

我曾尝试将单元格重新格式化为 [HH]:MM:SS,但遗憾的是这似乎不起作用。网上查资料说这是时间功能的限制。

公式:

=TIME(

   Hour:
   FLOOR((20/3 + (M7 - 20) / (3 * (IF(M7 < 20,ts_0,Y7)+Z7)))), 

   Minute:
   ROUND(MOD(((20/3) + ((M7 - 20) / (3 * (
   IF(M7 < 20,ts_0,Y7) + Z7))) - FLOOR((20/3 + (M7 - 20) / (3 * (
   IF(M7 < 20,ts_0,Y7)+Z7))))) * 60;60)),

   Second:
   ROUND(MOD(((20/3) + ((M7 - 20) / (3 * (
   IF(M7 < 20,ts_0,Y7) + Z7))) - FLOOR((20/3 + (M7 - 20) / (3 * (
   IF(M7 < 20,ts_0,Y7)+Z7))))) * 3600;60))

)

M7= (Int) Some distance, 15 or 25 for example.
Z7= (Percent) Some percentage, 5% or 25 for example.
Y7= (Float) For ex. 1,0
ts_0= (Float) For ex. 1,0  

问题:

示例良好结果:01:29:27 (01,29,27)

Expected Output: 01:29:27
Actual Output: 01:29:27

示例错误结果:01:27:17 (25,27,17)

Expected Output: 25:27:17
Actual Output: 01:27:17

我找到了解决办法!

=TEXT(CONCATENATE(':',A1,B1;C1);'[HH]:MM:SS')

然后将每个单元格引用 (A1、B1、C1) 更改为您的公式。

所以对我来说它看起来像这样,

函数文本:

=TEXT(

函数连接:

=concatenate(":",,

A1:

FLOOR((20/3 + (M7 - 20) / (3 * (IF(M7 < 20,ts_0,Y7)+Z7)))),

B1:

 FLOOR(MOD(((20/3) + ((M7 - 20) / (3 * (
 IF(M7 < 20,ts_0,Y7) + Z7))) - FLOOR((20/3 + (M7 - 20) / (3 * (
 IF(M7 < 20,ts_0,Y7)+Z7))))) * 60;60)),

C1:

ROUND(MOD(((20/3) + ((M7 - 20) / (3 * (
IF(M7 < 20,ts_0,Y7) + Z7))) - FLOOR((20/3 + (M7 - 20) / (3 * (
IF(M7 < 20,ts_0,Y7)+Z7))))) * 3600;60))

连接结束括号:

)

文本结尾和格式:

;"[HH]:MM:SS")

注意, 如果您想超过 24 小时,请务必在括号内包含小时格式。

你的公式似乎非常复杂。

尝试:=A2/24+B2/1440+C2/86400

自定义单元格格式为[hh]:mm:ss