Calculating Time in HH:MM:SS
Hello, I'm hoping someone might be able to help me with calculating time in Smartsheet. We work with production teams in broadcasting, as well as other non-production teams, so calculating time is becoming rather vital, as more and more departments are using Smartsheet for a varying number of use cases: people and resource management, pre/post-production admin etc.
An old colleague of mine actually managed to create a sheet that was able to calculate it down to frames per second (HH:MM:SS:fps), as he was a technical whizz. The workflow is you type in the start and end times of of when an item has been shown (first 2 columns), then in column 4 (Fr_In) it uses a formula:
=IF([Time Code IN (in HH:MM:SS)]14 <> "", ((((VALUE(LEFT([Time Code IN (in HH:MM:SS)]14, 2)) * 90000)))) + (VALUE(RIGHT([Time Code IN (in HH:MM:SS)]14, 2)) + INT(VALUE(RIGHT(LEFT([Time Code IN (in HH:MM:SS)]14, 8), 2)) * 25)) + INT(VALUE(RIGHT(LEFT([Time Code IN (in HH:MM:SS)]14, 5), 2)) * 1500))
to converts the first column's value into numerics. The example on the dark blue row is, in this instance, what 10 hours equates to 900,000 frames.
An equivalent formula is then used to work out the frames per minute numerical value for the output in column 5 (Fr_Out):
=IF([Time Code OUT (in HH:MM:SS)]14 <> "", ((((VALUE(LEFT([Time Code OUT (in HH:MM:SS)]14, 2)) * 90000)))) + (VALUE(RIGHT([Time Code OUT (in HH:MM:SS)]14, 2)) * 25) + INT(VALUE(RIGHT(LEFT([Time Code OUT (in HH:MM:SS)]14, 5), 2)) * 1500))
Then the 2 figures are deducted in column 6 (Fr_Dur) to work out the difference in time duration in frames per second. My colleague then used some helper columns (the last 3 columns) to convert the value in column 6 into hours, minutes and seconds, in each associated column, using the following formulas respectively:
=IF(([Fr_Dur]14 / 90000) < 10, "0" + (INT([Fr_Dur]14 / 90000)), (INT([Fr_Dur]14 / 90000))) + ":"
=IF(INT(([Fr_Dur]14 - (INT([Fr_Dur]14 / 90000) * 90000)) / 1500) < 10, "0" + INT(([Fr_Dur]14 - (INT([Fr_Dur]14 / 90000) * 90000)) / 1500), INT(([Fr_Dur]14 - (INT([Fr_Dur]14 / 90000) * 90000)) / 1500)) + ":"
=IF(INT(([Fr_Dur]14 - (INT([Fr_Dur]14 / 1500) * 1500)) / 25) < 10, "0" + INT(([Fr_Dur]14 - (INT([Fr_Dur]14 / 1500) * 1500)) / 25), INT(([Fr_Dur]14 - (INT([Fr_Dur]14 / 1500) * 1500)) / 25))
I'm in the process of trying to tweak his old sheet, as for this particular use case, the team doesn't need to collate the data as granular as frames but we still need it down to the second (HH:MM:SS).
At first glance, the above might look like it's working the values out correctly but the last 2 rows, in fact, have slightly wrong duration values, by 3 and 2 seconds respectively. I appreciate this does sound pedantic, however, timings in broadcasting are essential!!
I've looked up a number of solutions in the Community Pages and then been wracking my brains trying to apply these suggestions to my problem here but I can't seem to get them to work. I'm hoping someone might be able to assist in simplifying the solution than it is currently.
I've published a version of this if it makes it any easier trying to play with the formulas:https://app.smartsheet.com/b/publish?EQBCT=b181d63d35f2473fb14c1757a0508b10. Any guidance and or pointers are much appreciated.
Best Answer
-
Paul Newcome ✭✭✭✭✭✭
My apologies for the delay again. Things have been moving pretty quickly for me lately, but I am back with (hopefully) a solution.
So basically we have
Start = hh:mm:ss
End = hh:mm:ss
and you want to know the difference between the two. There are two options for the output. Going with your current layout of "hh:", "mm:", and "ss:" in their own columns, we would use something like this...
In the [Start Helper] column:
=(VALUE(LEFT([Start Time]@row, 2)) * 3600) + (VALUE(MID([Start Time]@row, 4, 2)) * 60) + VALUE(RIGHT([Start Time]@row, 2))
In The [End Helper] column:
=(VALUE(LEFT([End Time]@row, 2)) * 3600) + (VALUE(MID([End Time]@row, 4, 2)) * 60) + VALUE(RIGHT([End Time]@row, 2))
Then in the Duration column:
[End Helper]@row - [Start Helper]@row
Finally we take that total and break it out into the separate "hh:', "mm:", and "ss:" columns like so...
hh:=
= INT (Duration@row / 3600) +”:“
mm:=
=INT((Duration@row - INT(Duration@row / 3600)) / 60) + ":"
ss:=
= Duration@row -(我NT(Duration@row / 3600) * 3600) - (INT((Duration@row - (INT(Duration@row / 3600) * 3600)) / 60) * 60) + ":"
Answers
-
Paul Newcome ✭✭✭✭✭✭
There is a thread (link below) that has a lot of time based solutions in it. It may take a little digging because as of right now we are up to 5 pages worth of comments and solutions. If you aren't able to find what you are looking for or need help adapting a particular solution, feel free to let me know, and I will try to help as best I can.
-
SteCoxy ✭✭✭✭✭
Thank you@Paul Newcome. I did try looking through a number of different suggestions (including the 5 page thread) but I've ended up getting brain frazzled from a very busy week and trying to see if those suggestions could work.
I'd be most grateful if you could try and help me adapt/simplify the solution I've got - particularly to get theFr_In,Fr_Out&Fr_DurandHr,Min&Seccolumns' formulas simpler.
-
Paul Newcome ✭✭✭✭✭✭
Ok. I will take a look when I have more than just a few minutes to focus on it and will get back to you as soon as I can.
-
SteCoxy ✭✭✭✭✭
That would be much appreciated, Paul. I've published a copy of the sheet with the columns unlocked if you need access to it:https://app.smartsheet.com/b/publish?EQBCT=b181d63d35f2473fb14c1757a0508b10&_ga=2.68324883.324566985.1620639078-1939750030.1605810674
I know how the current solution works, as it's using the Time Code IN and Time Code OUT values (that are in HH:MM:SS format) to convert time into frames in theFr_IN&Fr_OUTcolumns:90000) * 90000)) / 1500).1hr at 25 fps is 90000 frames.These 2 figures are then deducted from each other in theFr_DURto give you the Frame Rate Duration, which then gets converted into Hours, Minutes & Seconds in the last 3 columns, which are finally then used to convert into a HH:MM:SS format in theDurationcolumn.
I just can't figure out how to simplify it into either Minutes IN & OUT (rather thanFr_IN&Fr_OUT) or whether those columns are even needed and if I just need the last 3 helper columns instead?
-
Paul Newcome ✭✭✭✭✭✭
My apologies for the delay. My weekend ended up being much busier than expected. I will try to take a more in depth look sometime today.
-
SteCoxy ✭✭✭✭✭
No need to apologise Paul - I certainly wouldn't be expecting you to look over this at the weekend. No rush required. I much appreciate your time and insight here.
-
SteCoxy ✭✭✭✭✭
@Paul Newcome嗨,保罗,想知道如果你有机会但to have a look over the above?
-
Paul Newcome ✭✭✭✭✭✭
Sorry about that. Things have been rather hectic for me. I'll start taking a closer look today.
-
Paul Newcome ✭✭✭✭✭✭
So to make sure I understand...
You want to take the first two columns of time in and time out and then calculate the duration between the two.
Is there a possibility of a date overlap such as in at 11:59:00pm and out at 12:01:30am?
Will your hours always be entered as two digits such as "01" for 1am?
-
SteCoxy ✭✭✭✭✭
Don't worry at all Paul - you're doing me a massive favour, so no problem at all :-)
This is hopefully rather simple, in that it doesn't require date overlap - it's purely the duration of either video/audio clips that need to be calculated, rather than time in the usual sense (10am-6pm).
-
Paul Newcome ✭✭✭✭✭✭
Ok. Then the only other thing I would need to know is will the hours always be two digits such as "01" instead of "1"?
-
SteCoxy ✭✭✭✭✭
Yes - always 2 digits - this could be 00, 01, 11 etc.
-
Paul Newcome ✭✭✭✭✭✭
My apologies for the delay again. Things have been moving pretty quickly for me lately, but I am back with (hopefully) a solution.
So basically we have
Start = hh:mm:ss
End = hh:mm:ss
and you want to know the difference between the two. There are two options for the output. Going with your current layout of "hh:", "mm:", and "ss:" in their own columns, we would use something like this...
In the [Start Helper] column:
=(VALUE(LEFT([Start Time]@row, 2)) * 3600) + (VALUE(MID([Start Time]@row, 4, 2)) * 60) + VALUE(RIGHT([Start Time]@row, 2))
In The [End Helper] column:
=(VALUE(LEFT([End Time]@row, 2)) * 3600) + (VALUE(MID([End Time]@row, 4, 2)) * 60) + VALUE(RIGHT([End Time]@row, 2))
Then in the Duration column:
[End Helper]@row - [Start Helper]@row
Finally we take that total and break it out into the separate "hh:', "mm:", and "ss:" columns like so...
hh:=
= INT (Duration@row / 3600) +”:“
mm:=
=INT((Duration@row - INT(Duration@row / 3600)) / 60) + ":"
ss:=
= Duration@row -(我NT(Duration@row / 3600) * 3600) - (INT((Duration@row - (INT(Duration@row / 3600) * 3600)) / 60) * 60) + ":"
-
SteCoxy ✭✭✭✭✭
Paul you're an absolute superstar. Can't thank you enough for taking the time to help me here. The team in question will be absolutely thrilled they can use this for their time tracking solution.
-
Paul Newcome ✭✭✭✭✭✭
Happy to help, and sorry it took so long. I've had a lot going on lately and wasn't able to devote a lot of time to the more complex solutions.
Help Article Resources
Categories
Check out theFormula Handbook template!
=COUNTIFS([Item Number]:[Item Number], OR(@cell = \"C001\", @cell = \"COO2\", @cell = \"COO3\", @cell = \"COO4\"), [Status]:[Status], OR(@cell = \"Green\", @cell = \"Yellow\", @cell = \"Red\"))<\/p>"}]}},"status":{"statusID":3,"name":"Accepted","state":"closed","recordType":"discussion","recordSubType":"question"},"bookmarked":false,"unread":false,"category":{"categoryID":322,"name":"Formulas and Functions","url":"https:\/\/community.smartsheet.com\/categories\/formulas-and-functions","allowedDiscussionTypes":[]},"reactions":[{"tagID":3,"urlcode":"Promote","name":"Promote","class":"Positive","hasReacted":false,"reactionValue":5,"count":0},{"tagID":5,"urlcode":"Insightful","name":"Insightful","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":11,"urlcode":"Up","name":"Vote Up","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":13,"urlcode":"Awesome","name":"Awesome","class":"Positive","hasReacted":false,"reactionValue":1,"count":0}],"tags":[{"tagID":254,"urlcode":"formulas","name":"Formulas"}]},{"discussionID":109490,"type":"question","name":"HAS exact match within multiselect - Numbered Values","excerpt":"Scenario: Trying to identify a match if a value shows up in a multiselect from another sheet. Approach: I'm able to get 95% of this done through an index(collect(contains))) formula, but having some false positives show up wherever a partial match is found. I later found some suggestions that (has) would be more…","snippet":"Scenario: Trying to identify a match if a value shows up in a multiselect from another sheet. Approach: I'm able to get 95% of this done through an index(collect(contains)))…","categoryID":322,"dateInserted":"2023-08-25T19:26:32+00:00","dateUpdated":null,"dateLastComment":"2023-08-26T00:49:48+00:00","insertUserID":154049,"insertUser":{"userID":154049,"name":"Rob W.","url":"https:\/\/community.smartsheet.com\/profile\/Rob%20W.","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/defaultavatar\/nWRMFRX6I99I6.jpg","dateLastActive":"2023-08-26T00:49:37+00:00","banned":0,"punished":0,"private":false,"label":"✭"},"updateUserID":null,"lastUserID":154049,"lastUser":{"userID":154049,"name":"Rob W.","url":"https:\/\/community.smartsheet.com\/profile\/Rob%20W.","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/defaultavatar\/nWRMFRX6I99I6.jpg","dateLastActive":"2023-08-26T00:49:37+00:00","banned":0,"punished":0,"private":false,"label":"✭"},"pinned":false,"pinLocation":null,"closed":false,"sink":false,"countComments":2,"countViews":16,"score":null,"hot":3386003780,"url":"https:\/\/community.smartsheet.com\/discussion\/109490\/has-exact-match-within-multiselect-numbered-values","canonicalUrl":"https:\/\/community.smartsheet.com\/discussion\/109490\/has-exact-match-within-multiselect-numbered-values","format":"Rich","lastPost":{"discussionID":109490,"commentID":392694,"name":"Re: HAS exact match within multiselect - Numbered Values","url":"https:\/\/community.smartsheet.com\/discussion\/comment\/392694#Comment_392694","dateInserted":"2023-08-26T00:49:48+00:00","insertUserID":154049,"insertUser":{"userID":154049,"name":"Rob W.","url":"https:\/\/community.smartsheet.com\/profile\/Rob%20W.","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/defaultavatar\/nWRMFRX6I99I6.jpg","dateLastActive":"2023-08-26T00:49:37+00:00","banned":0,"punished":0,"private":false,"label":"✭"}},"breadcrumbs":[{"name":"Home","url":"https:\/\/community.smartsheet.com\/"},{"name":"Get Help","url":"https:\/\/community.smartsheet.com\/categories\/get-help"},{"name":"Formulas and Functions","url":"https:\/\/community.smartsheet.com\/categories\/formulas-and-functions"}],"groupID":null,"statusID":3,"image":{"url":"https:\/\/us.v-cdn.net\/6031209\/uploads\/KJPRLKL2FW16\/capture-png.png","urlSrcSet":{"10":"","300":"","800":"","1200":"","1600":""},"alt":"Capture.PNG"},"attributes":{"question":{"status":"accepted","dateAccepted":"2023-08-26T00:49:35+00:00","dateAnswered":"2023-08-25T23:58:23+00:00","acceptedAnswers":[{"commentID":392688,"body":"
Hi, <\/p>
Instead of applying the formula to \"Multiselect Text String\" row, did you tried with \"Multiselect Values\" row?<\/p>
=IF(HAS([Multiselect Values]@row, [Component ID]@row), \"MATCH\", \"NO MATCH\")<\/p>
Thank you,<\/p>"}]}},"status":{"statusID":3,"name":"Accepted","state":"closed","recordType":"discussion","recordSubType":"question"},"bookmarked":false,"unread":false,"category":{"categoryID":322,"name":"Formulas and Functions","url":"https:\/\/community.smartsheet.com\/categories\/formulas-and-functions","allowedDiscussionTypes":[]},"reactions":[{"tagID":3,"urlcode":"Promote","name":"Promote","class":"Positive","hasReacted":false,"reactionValue":5,"count":0},{"tagID":5,"urlcode":"Insightful","name":"Insightful","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":11,"urlcode":"Up","name":"Vote Up","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":13,"urlcode":"Awesome","name":"Awesome","class":"Positive","hasReacted":false,"reactionValue":1,"count":0}],"tags":[]},{"discussionID":109474,"type":"question","name":"Help with date calculation formula","excerpt":"Hello, I'm trying to find a formula that will help me calculate how long an intake took to resolve. The rows I need to be calculated are Date Reported & Resolution Date. If the resolution date is blank I want it to use the current date in the calculation to see how long this issue has gone unresolved. Any help is much…","snippet":"Hello, I'm trying to find a formula that will help me calculate how long an intake took to resolve. The rows I need to be calculated are Date Reported & Resolution Date. If the…","categoryID":322,"dateInserted":"2023-08-25T16:29:39+00:00","dateUpdated":"2023-08-25T16:29:59+00:00","dateLastComment":"2023-08-25T23:01:30+00:00","insertUserID":165688,"insertUser":{"userID":165688,"name":"Nwest","title":"Systems Analyst","url":"https:\/\/community.smartsheet.com\/profile\/Nwest","photoUrl":"https:\/\/aws.smartsheet.com\/storageProxy\/image\/images\/u!1!ukHVZ18ImX4!BcjWAe8S9SY!l7iQo_PZHOx","dateLastActive":"2023-08-25T17:22:30+00:00","banned":0,"punished":0,"private":false,"label":"✭"},"updateUserID":165688,"lastUserID":8888,"lastUser":{"userID":8888,"name":"Andrée Starå","title":"Smartsheet Expert Consultant & Partner | Workflow Consultant \/ CEO @ WORK BOLD","url":"https:\/\/community.smartsheet.com\/profile\/Andr%C3%A9e%20Star%C3%A5","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/userpics\/0PAU3GBYQLBT\/nXWM7QXGD6464.jpg","dateLastActive":"2023-08-26T00:32:09+00:00","banned":0,"punished":0,"private":false,"label":"✭✭✭✭✭✭"},"pinned":false,"pinLocation":null,"closed":false,"sink":false,"countComments":3,"countViews":23,"score":null,"hot":3385987269,"url":"https:\/\/community.smartsheet.com\/discussion\/109474\/help-with-date-calculation-formula","canonicalUrl":"https:\/\/community.smartsheet.com\/discussion\/109474\/help-with-date-calculation-formula","format":"Rich","tagIDs":[254],"lastPost":{"discussionID":109474,"commentID":392687,"name":"Re: Help with date calculation formula","url":"https:\/\/community.smartsheet.com\/discussion\/comment\/392687#Comment_392687","dateInserted":"2023-08-25T23:01:30+00:00","insertUserID":8888,"insertUser":{"userID":8888,"name":"Andrée Starå","title":"Smartsheet Expert Consultant & Partner | Workflow Consultant \/ CEO @ WORK BOLD","url":"https:\/\/community.smartsheet.com\/profile\/Andr%C3%A9e%20Star%C3%A5","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/userpics\/0PAU3GBYQLBT\/nXWM7QXGD6464.jpg","dateLastActive":"2023-08-26T00:32:09+00:00","banned":0,"punished":0,"private":false,"label":"✭✭✭✭✭✭"}},"breadcrumbs":[{"name":"Home","url":"https:\/\/community.smartsheet.com\/"},{"name":"Get Help","url":"https:\/\/community.smartsheet.com\/categories\/get-help"},{"name":"Formulas and Functions","url":"https:\/\/community.smartsheet.com\/categories\/formulas-and-functions"}],"groupID":null,"statusID":3,"attributes":{"question":{"status":"accepted","dateAccepted":"2023-08-25T17:04:22+00:00","dateAnswered":"2023-08-25T16:36:59+00:00","acceptedAnswers":[{"commentID":392622,"body":"