时间计算公式
评论
-
保罗新来的 ✭✭✭✭✭✭
@Charlene脑桥看起来你可能打错了列名(粗体):
=((值(左(【结束时间】@row 2) +(值(右(【结束时间】@row 2)) / 60)) + ((日期)@row -[起始时间]@row) * 24)) - (VALUE(LEFT([起始时间]@row, 2) + (VALUE(RIGHT([起始时间]@row, 2)) / 60)))
thinkspi.com
-
Leibel博士年代 ✭✭✭✭✭✭
感谢你关于使用Smartsheet存储的数字来提取时差的帖子。我以前从未听说过这个,受到这个想法的启发。
我能够解析信息并分解Smartsheet如何存储信息。
开始:
(电子邮件保护)-(电子邮件保护)将返回带有部分日的小数的天数。
每天有86400秒。如果除以1/86400,得到0.0000115740740740741。
然而,Smartsheet仅适用于MAX 5小数,这就是为什么尝试乘和除由上述公式返回的数字来获得您的时间将不准确,因为它是四舍五入的。
我解决这个问题的方法是将数字相乘以返回所有小数,而不仅仅是上面公式中显示的最大5个小数:
=([时差]@row - ROUNDDOWN([时差]@row, 0)) * 100000000000000
一旦我们得到了所有的完整数字,我们就可以把它除以1157407407.40741来得到一天的秒数。
然后,您可以使用上面的返回值来返回一天中的小时、分钟和秒:
小时:
=INT([总秒数]@row / 3600)(返回小时数)。
分钟:
=INT(MOD([Total Seconds]@row, 3600) / 60)
秒:
=MOD([总秒数]@行,60)
一个完全格式化的列的例子是:
="D:" + INT([时差]@行)+ " H:" + INT([总秒数]@行/ 3600)+ " M:" + INT(MOD([总秒数]@行,3600)/ 60)+ " S:" + MOD([总秒数]@行,60)
请让我知道,如果你发现以上是准确的。
谢谢你!
-
保罗新来的 ✭✭✭✭✭✭
@Leibel Shuchat你在时差栏里填了什么?只是两个单元格的基本减法?
我也想知道,如果两者之间存在相当大的差距,中国会作何反应。我不记得确切的数字,但(除了数字的数量)也有一个“最高数字”类型的限制。如果其中一个计算超过了这个数字怎么办?我要去挖掘一下,看看能不能再找到它。
thinkspi.com
-
保罗新来的 ✭✭✭✭✭✭
@Leibel Shuchat我在#OVERFLOW错误帮助下发现了这个:
对于数值,范围是-9007199254740992到9007199254740992。
我还没有完全理解你的解决方案的细节,所以可能是我误解了一些事情,或者担心一些不符合逻辑的事情(比如在达到极限之前的数百万天)。
thinkspi.com
-
Leibel博士年代 ✭✭✭✭✭✭
-
保罗新来的 ✭✭✭✭✭✭
thinkspi.com
-
L_123 ✭✭✭✭✭✭
-
Leibel博士年代 ✭✭✭✭✭✭
似乎毫秒也被存储起来了。不用太复杂,如果你把秒的结果相乘,你就可以把这个数字输入excel或类似的软件,然后计算毫秒。
由于十进制和OVERFLOW限制,我无法在Smartsheet中找到这样做的方法。
促使我研究这个问题的原因是,我注意到有些第二列有时显示60秒(公式:=MOD([Total seconds]@row, 60))。这是因为实际数字略低于60(因此毫秒),但由于十进制限制而显示为60…
-
你好,
我对SmartSheet和公式有点陌生,有一个项目,我真的需要找到每个出席错误所花费的时间,我想知道是否有人可以帮助。
-
泰德·桑伯恩 ✭
@Paul Newcome,我试过用这个公式
=价值(中期((电子邮件保护), find (" ",(电子邮件保护)) + 1, find (":",(电子邮件保护)) - (find (" ",(电子邮件保护)(1) + if (1) + if (1)(电子邮件保护), find (" ",(电子邮件保护)) + 1, find (":",(电子邮件保护)) - (find (" ",(电子邮件保护)(1)) <> 12, if (find (" p ",(电子邮件保护)) > 0, 0), if (find (" a ",(电子邮件保护)) > 0, -12)
将创建的列的12小时格式转换为24小时格式。一旦我关闭值字符串上的圆括号,它就不允许我加上+ IF。它只是打破了公式。
在下面,当我关闭初始字符串时,我做得很好。
只要我加上+并输入if,它就不允许我选择if公式。
任何人都可以帮助我度过这个难关,或者如果2021年12月有更好的事情,请为了我的理智而帮助我……
-
保罗新来的 ✭✭✭✭✭✭
-
Ika619 ✭
我有一个叫做SHUTTLE MOVES的运行日志。
每天都有无数的车手加入进来。
Created字段是一个自动日期字段。(它必须是自动的,不能更改为手动输入的日期或时间字段)。当用户在智能表格中输入他们的穿梭动作时,它会自动打上时间戳。(本质上,这是一个唯一的字段,除非两个司机恰好在同一时刻按下他们的提交按钮,这还没有发生)。
车手也在每个条目上输入他/她的名字。
在我的截图中,我使用了一个过滤器,只查看今天所有驱动程序的条目。然而,在工作表中,它是一个运行日志,所有日期/时间都有数千个条目。(我不知道一天会有多少条目,所以我不能在函数中引用特定的单元格地址。它必须是灵活的引用)。
我想告诉smartsheet查看Created列,确定今天的第一个条目,确定今天的最后一个条目,并计算每个驾驶员的第一个和最后一个条目之间的小时数。
我真的不知道如何做到这一点与同一单元格内捕获的日期和时间。
也许我需要将单元格的内容转换为数字并找到差异?我真的不确定。
谢谢你的帮助。
-
GarrettDyer ✭✭✭
-
保罗新来的 ✭✭✭✭✭✭
@GarrettDyer你能否提供更多细节?这张床单是怎么起作用的?你目前使用的公式是什么?这张床单是怎么起作用的?
thinkspi.com
-
GarrettDyer ✭✭✭
@Paul新来的链接到表格有用吗?我在表格里有详细说明,还有解释的公式。我认为这可能比在评论中输入更容易。如果没有,请告诉我,我会尝试重新发布链接。