时间计算公式

1568101114

评论

  • 是的!@Paul新来的这是完美的-非常感谢你!

  • 保罗新来的
    保罗新来的 ✭✭✭✭✭✭

    @Kelly普拉特很乐意帮忙。

    thinkspi.com

  • @Paul新来的有可能录用你吗?我通过谷歌搜索布尔专家来到这里,偶然发现了你。我需要一些布尔公式适当地写为一个项目,我正在工作。与Smartsheet无关,所以我很抱歉在这里发帖。期待您的回复。

  • 保罗新来的
    保罗新来的 ✭✭✭✭✭✭

    @Jared欢迎通过LinkedIn联系我,我们可以在那里聊得更多。

    thinkspi.com

  • 嗨。我看到有很多关于在Smartsheet中表示时间的帖子,尽管有些解决方案很接近,但我仍然没有找到一个解决我认为非常直接的用例:

    我有一个表,是用于调度多个事件生产者在现场虚拟事件。

    我们在任何一天都有许多活动,分布在几个制作人之间。我希望能够排序表(1)日期和开始时间,(2)生产商的名称,日期和开始时间,这样我们就可以查看任何给定的一天预定的事件,按时间顺序。我喜欢的时间格式是12小时,上午:MM或下午。有可能做到这一点,并使其排序吗?

    这篇文章给出了一个将时间转换为基于24小时格式的数值的公式,非常接近:问题排序的时间-智能表社区.然而,军事时间可能会让很多人感到困惑。

  • 她名叫Stara
    她名叫Stara ✭✭✭✭✭✭

    @John B。

    我希望你一切安好!

    您是否尝试过使用报告按日期/时间和生产者进行排序/分组?

    这样行吗?

    我希望这对你有帮助!

    注意安全,祝你度过美好的一周!

    最好的

    她名叫Stara|工作流程顾问/ CEO @工作大胆

    我的帖子是否帮助或回答了你的问题或解决了你的问题?请支持社区将其标记为有洞察力/投票赞成或/和作为公认的答案.这将使其他人更容易找到解决方案或帮助回答!

    智能表专家顾问兼合伙人

    她名叫Stara|工作流程顾问/ CEO @工作大胆

    W:www.workbold.com| E:(电子邮件保护)| p: +46 (0) - 72 - 510 99 35

    请随时与我联系,了解有关Smartsheet,集成,一般工作流建议或其他方面的帮助。

  • 保罗新来的
    保罗新来的 ✭✭✭✭✭✭

    @John B。您可能希望使用转换并隐藏列,但仍对其进行排序。我的建议是给列贴上标签,比如“按时间排序”。即使隐藏它仍然可以用来排序,但由于它是隐藏的,你不必担心24小时时间的混乱。

    thinkspi.com

  • @Paul新来的,感谢你在这里提供的所有有用的公式/例子!

    你知道增加时间的方法吗?我们正在尝试使用表格来管理经常更改的议程,并希望开始和结束选项在以前的会议之一更改时自动更改。我可以通过添加时间在Excel中轻松完成这一点,但在这里的论坛上找不到任何(尚未)关于如何做到这一点。最好使用12小时的时间,并且议程不会跨越多个天。

    例子:

    行|议程标题|开始时间|结束时间|持续时间

    1 |话题1 |上午9:00 |上午9:30 | 30

    2 |Topic 2 |=Row1 start |=Row 2 start + Row 2 Duration | 45


    什么好主意吗?

    谢谢你!

  • 我只是想计算开始和结束时间之间的总时间。这是我用excel写的公式:

    =时间价值((文本(Table1[[#这一行],[结束时间]]Table1[[#这一行],[开始]],“h: mm”)))

    我的Smartsheet公式是什么?

    image.png


  • 保罗新来的
    保罗新来的 ✭✭✭✭✭✭

    @Charlene脑桥在这个帖子中有许多专门针对这个大纲的解决方案。

    thinkspi.com

  • 保罗新来的
    保罗新来的 ✭✭✭✭✭✭

    @Leibel Shuchat我想出了一个很棒的方法来计算系统生成的创建列和修改列之间的持续时间:


    标题:开始日期

    公式:

    = DATEONLY ((电子邮件保护)


    标题:开始时间

    公式:

    =如果(总和(值(左(右((电子邮件保护)LEN ((电子邮件保护)) - 9),查找(":",右((电子邮件保护)LEN ((电子邮件保护)) (1) (1) (1)) = 1, 0, sum (value(左)(右)((电子邮件保护)LEN ((电子邮件保护)) - 9),查找(":",右((电子邮件保护)LEN ((电子邮件保护)(1) * (1) * (1)) + sum (value (mid (1))(电子邮件保护)找到(”:“(电子邮件保护)(1, 2)) + if(右)(电子邮件保护), 2) = " pm ", 720, 0) + 1


    标题:结束日期

    公式:

    = DATEONLY ((电子邮件保护)


    标题:结束时间

    公式:

    =如果(总和(值(左(右((电子邮件保护)LEN ((电子邮件保护)) - 9),查找(":",右((电子邮件保护)LEN ((电子邮件保护)) (1) (1) (1)) = 1, 0, sum (value(左)(右)((电子邮件保护)LEN ((电子邮件保护)) - 9),查找(":",右((电子邮件保护)LEN ((电子邮件保护)(1) * (1) * (1)) + sum (value (mid (1))(电子邮件保护)找到(”:“(电子邮件保护)(1, 2)) + if(右)(电子邮件保护), 2) = " pm ", 720, 0) + 1


    标题:持续几分钟

    公式:

    =SUM((SUM([结束日期]@row -[开始日期]@row) * 24) * 60) + IF([开始日期]@row <[结束日期]@row) + SUM(1440 -[开始时间]@row) +[结束时间]@row,[结束时间]@row -[开始时间]@row)


    最后一栏将给出格式化的日、时、分:

    标题:持续时间

    公式:

    =如果(持续时间(分钟)@row > 1439年ROUNDDOWN(总和(持续时间(分钟)@row / 60) / 24日0)+“天”+如果ROUNDDOWN(总和(持续时间(分钟)@row / 60) / 24日0)> 1,”年代 ", "") + ", ", "") + 如果(MOD(持续时间分钟@row, 1440) > 59岁ROUNDDOWN(总和(MOD(持续时间分钟@row, 1440) / 60), 0) +“小时”+如果总和(MOD(持续时间分钟@row, 1440) / 60) > 1,”年代 ", "") + ", ", "") + 如果(MOD(持续时间分钟@row, 60) > 0,国防部(60分钟时间@row,) +“分钟”+如果(MOD(持续时间分钟@row, 60) > 1,“s”,""), "") + 如果(持续时间分钟@row > 0 , ".", "")

    thinkspi.com

  • L_123
    L_123 ✭✭✭✭✭✭
    编辑10/28/21

    @Paul新来的


    似乎非常类似于我的一个解决方案,我使用数学而不是文本解析后,记住日期是由一个数值表示的,并弄清楚他们如何格式化它在幕后:

    返回格式为D: H: M: S的两个单元格之间的差异:

    = " D: " + INT (Created2 - Created1) +“H:“+ INT (((Created2 - Created1 INT (Created2 - Created1)) * 1000) / 36) +“M:”+ INT ((((Created2 - Created1 INT (Created2 - Created1)) * 1000) / 36 - INT (((Created2 - Created1 INT (Created2 - Created1)) * 1000) / 36)) * 60) +“:”+ INT (60 * (((((Created2 - Created1 INT (Created2 - Created1)) * 1000) / 36 - INT (((Created2 - Created1 INT (Created2 - Created1)) * 1000) / 36)) * 60) INT ((((Created2 - Created1 INT (Created2 - Created1)) * 1000) / 36 -INT((Created2 - Created1 - INT(Created2 - Created1)) * 1000) / 36)) * 60))

    分别返回:

    天:

    INT(Created2 - Created1)

    小时

    INT(((Created2 - Created1 - INT(Created2 - Created1)) * 1000) / 36)

    分钟

    INT((((Created2 - Created1 - INT(Created2 - Created1)) * 1000) / 36 - INT((Created2 - Created1 - INT(Created2 - Created1)) * 1000) / 36)) * 60)

    INT(60 * (((((Created2 - Created1 - INT(Created2 - Created1)) * 1000) / 36 - INT(((Created2 - Created1 - INT(Created2 - Created1)) * 1000) / 36)) * 60) - INT((((Created2 - Created1 - INT(Created2 - Created1)) * 1000) / 36 - INT((Created2 - Created1 - INT(Created2 - Created1)) * 1000) / 36) * 60)))


    Doing this so I have an ongoing list of functioning optimized formulas , keeping it in the community in case it helps someone else. Please feel free to comment with your own, but I'm keeping the most basic of the formulas out of this. Below are just some of the ones that I thought of now, i'll comment more as I use them.<\/p>

    CURRENT PERIOD<\/strong><\/p>

    this sunday returned as date<\/p>

    =today()-weekday(today())+1\n<\/pre>

    this quarter returned as integer 1-4 standard year<\/p>

    =INT((MONTH(TODAY()) + 2) \/ 3\n<\/pre>

    NEXT PERIOD<\/strong><\/p>

    next quarter returned as integer 1-4 standard year (also current quarter if year starts in october)<\/p>

    =IF(INT((MONTH(TODAY()) + 2) \/ 3) = 4, 1, INT((MONTH(TODAY()) + 2) \/ 3)+1\n<\/pre>

    next month returned as integer<\/p>

     =if(month(today())=12,1,month(today(\n<\/pre>

    LAST PERIOD<\/strong><\/p>

    last month returned as integer<\/p>

    =month(date(year(today()),month(today()),1)-1\n<\/pre>

    last quarter standard year returned as integer 1-4 (also current year if year starts in july)<\/p>

    =IF(INT((MONTH(TODAY()) + 2) \/ 3) = 1, 4, INT((MONTH(TODAY()) + 2) \/ 3)-1\n\n<\/pre>","bodyRaw":"[{\"insert\":\"Doing this so I have an ongoing list of functioning optimized formulas , keeping it in the community in  case it helps someone else. Please feel free to comment with your own, but I'm keeping the most basic of the formulas out of this. Below are just some of the ones that I thought of now, i'll comment more as I use them.\\n\\n\"},{\"attributes\":{\"bold\":true},\"insert\":\"CURRENT PERIOD\"},{\"insert\":\"\\nthis sunday returned as date\\n=today()-weekday(today())+1\"},{\"attributes\":{\"code-block\":true},\"insert\":\"\\n\"},{\"insert\":\"this quarter returned as integer 1-4 standard year\\n=INT((MONTH(TODAY()) + 2) \\\/ 3\"},{\"attributes\":{\"code-block\":true},\"insert\":\"\\n\"},{\"attributes\":{\"bold\":true},\"insert\":\"NEXT PERIOD\"},{\"insert\":\"\\nnext quarter returned as integer 1-4 standard year (also current quarter if year starts in october)\\n=IF(INT((MONTH(TODAY()) + 2) \\\/ 3) = 4, 1, INT((MONTH(TODAY()) + 2) \\\/ 3)+1\"},{\"attributes\":{\"code-block\":true},\"insert\":\"\\n\"},{\"insert\":\"next month returned as integer\\n =if(month(today())=12,1,month(today(\"},{\"attributes\":{\"code-block\":true},\"insert\":\"\\n\"},{\"attributes\":{\"bold\":true},\"insert\":\"LAST PERIOD\"},{\"insert\":\"\\nlast month returned as integer\\n=month(date(year(today()),month(today()),1)-1\"},{\"attributes\":{\"code-block\":true},\"insert\":\"\\n\"},{\"insert\":\"last quarter standard year returned as integer 1-4  (also current year if year starts in july)\\n=IF(INT((MONTH(TODAY()) + 2) \\\/ 3) = 1, 4, INT((MONTH(TODAY()) + 2) \\\/ 3)-1\"},{\"attributes\":{\"code-block\":true},\"insert\":\"\\n\\n\"}]","format":"rich","dateInserted":"2020-05-20T19:32:10+00:00","insertUser":{"userID":16866,"name":"L_123","title":"","url":"https:\/\/community.smartsheet.com\/profile\/L_123","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/defaultavatar\/nWRMFRX6I99I6.jpg","dateLastActive":"2023-06-08T12:19:02+00:00","banned":0,"punished":0,"private":false,"label":"✭✭✭✭✭✭"},"displayOptions":{"showUserLabel":false,"showCompactUserInfo":true,"showDiscussionLink":true,"showPostLink":true,"showCategoryLink":false,"renderFullContent":false,"expandByDefault":false},"url":"https:\/\/community.smartsheet.com\/discussion\/68494\/list-of-date-formula-i-have-used-repeatedly","embedType":"quote","name":"List of date formula I have used repeatedly"}">
                        https://community.smartsheet.com/discussion/68494/list-of-date-formula-i-have-used-repeatedly
                       

    虽然文本解析可能更准确,但我发现在经过一些更严格的测试后,我的解决方案不能精确到分钟,更不用说秒了,一旦提交之间过了一段时间。将两种解决方案混合以形成一个更优的解决方案可能是值得的。

  • 保罗新来的
    保罗新来的 ✭✭✭✭✭✭

    @L_123我记得在不久前的某个时候,我们开始探索利用整数,但注意到它并不像我们希望的那样长期准确。


    我想知道,随着时间的推移,这种不准确性是否最终会上升到小时,甚至可能是天,或者你说的是更小的增量,比如晚上7点和晚上8点之间的差异?


    如果你的方法的时间是可靠的,那么它肯定比我的方法要有效得多。

    thinkspi.com

  • 保罗新来的
    保罗新来的 ✭✭✭✭✭✭

    @L_123我还没有测试过这个,但我刚刚看到其他人发布的比例是2.48…


    @remkin把这个贴在另一个帖子里…

    嘿,

    想听点疯狂的。

    我让它工作,我采取了第二个时间戳,并删除了第一个时间戳。我发现误差是2.48的比例,所以我把它应用到公式中,它起作用了。

    老实说,我不相信这是我第一次战胜智能手表的局限。相信我,这些我都遇到过。

    我希望这能帮助到一些人。

    Smartsheet赢了一次


    thinkspi.com

  • 如果它在线程中,我没有看到它。

    我试着更新它,它仍然说无法解析:

    =((值(左(【结束时间】@row 2) +(值(右(【结束时间】@row 2)) / 60)) +([日期]@row -[开始]@row) * 24))——(值(左(@row(开始时间),2)+(值(右(@row(开始时间),2))/ 60)))

    有人能帮忙解释一下为什么我的公式给了我一个无法解析的信息吗?我试图计算总工作时间:


    image.png