Convert time into decimals in report - acumatica

I want to convert the time into decimal.
For example, 08:30 should be 8.5 and 0.45 should be 0.75.
What would be the best way to do these. Is there any function available or do I have calculate manually. Please suggest.

I figured,
Acumatica stores the time in minutes anyway which I can utilize to calculate into decimals.
For examples, 02:00 is stored as 120 and converting into decimal would be 120/60 which results in 2.0.

Related

Excell 2016 - Is this average time correct?

So I am trying to find my average time in Excel and I have been using the average function but even though I do not know what the exact value should be I know that what was being returned was way off. So I googled Excel time format and followed the instructions and changed my time from MM:SS format to H:MM:SS format; because the article said that way I am guaranteed to get correct averages when I use Excel's native average function.
However, I am running Excels average function on mixed values like the below:
1:20:30
0:04:00
0:00:30
0:00:05
--------
Average: 0:21:16
Can someone just please share their expertise with me and verify that the above average calculation is correct that I obtained by just easily using Excel's native average function.
I just want to be sure before I change everything on my spreadsheet.
Working with times and their various formats/representations can be tricky in Excel - sometimes I convert to serial and then multiply by 24 to ascertain the number of hours in the day, other times not. In your case, this appears to be straight forward and can easily be verified.
Here/screenshot refer:
Mathematically: you can determine the number of hours, minutes, seconds directly from what you have using respective equations as follows:
=hour(E4)
=minute(E4)
=second(E4)
Determining the average is then a trivial exercise by summing and dividing by the count (4), which reconciles (as can be seen).
Let's apply logic too: average of 21 mins looks about right - consider equivalent scenario of average running time for 4 athletes, where one of them takes 80 mins and the others take under 5 each - average time will be around 20 mins (~80/4).

Excel formula text to minutes

I want to convert text to minutes.
text hours = 8.15 'means 8h 15m
convert to minutes formula
=LEFT(A2,2)*60+IF(ISNUMBER(SEARCH(".",A2))=TRUE, SUBSTITUTE(MID(A2,FIND(".",A2)+1,2),".",""), "0")`
I getting error when calculate "0.15"
Please help, Thanks!
Total minute
=INT(A1)*60+(A1-INT(A1))*100
If want to extract minutes only then use
=A1-INT(A1)
Not clear exactly what you want, or exactly what you are dealing with.
The below assumes that dot is your system decimal separator. If dot is not your system decimal separator, then replace the cell references in the formulas below with: SUBSTITUTE(A1,".","your_system_decimal_separator")
Assuming 8.15 means 8 hrs 15 minutes, you can convert it to Excel time value with:
=DOLLARDE(A1,60)/24
and format the result as time (eg hh:mm or [mm] or similar).
If what you really want to see is the minutes as an integer (not as a time), then use
=DOLLARDE(A1,60)*60
DOLLARDE(A1,60) converts 8.15 to 8 + 15/60 (decimal hours) (e.g. 8.25)
Dividing by 24 or multiplying by 60 converts it either to an Excel time value, or decimal minutes, respectively, as Excel stores time (and dates) as fractions of a day.
Note: If 8.15 is decimal hours and equal to 8:09, then you don't need the DOLLARDDE part of the formula at all
You don't specify if 8.15 means 8,15 hours in decimal (it would be equal to 8 hours and 9 minutes) or if it means 8 hours and 15 minutes, so I developed both.
I guess the problem is that your decimal separator is the comma, and you need to convert the value into numeric.
My formulas for first version:
B5: =VALUE(SUBSTITUTE(A5;".";","))*60
C5:=INT(VALUE(SUBSTITUTE(A5;".";",")))*60
D5:=B5-C5
My formulas for second version:
B11: =(VALUE(SUBSTITUTE(A11;".";","))-VALUE(VALUE(SUBSTITUTE(A11;".";","))))*100+INT(VALUE(SUBSTITUTE(A11;".";",")))*60
C11:=INT(VALUE(SUBSTITUTE(A11;".";",")))*60
D11:=B11-C11
With this formulas you convert the string into numeric value, and then you work in the decimal system.
You could use
=minute(substitute(a2;".";":"))/100
to get "0.15" from "8.15".
There seem to be two possible problems in your question: either Excel can't recognise your "8.15" as being a timevalue, or you don't know how to calculate the number of minutes from a timevalue.
In case it's the second one, there's an easy formula for this:
=Hour(A2)*60 + Minute(A2)
Meanwhile I keep digging for a while to recognise "8.15" as a timevalue.
If ever you have the possibility to replace the "." by a ":", this might solve your problem immediately.

Reducing duration by a percentage in excel

I have been racking my brain for hours on how to do this, so I am reaching out to some of you excel experts.
Say you have a duration represented as 1d 14:25:00 and you want to reduce that by a given percent, such as 149.5%, how can this be done?
At first I thought about going down the route of having a cell formatted in time, but when you try and do math against it, it fails.
Then I thought about maybe converting the time down to seconds and working with that, but that seems like it is total pain in the rear. It involves a lot of converting from time to number then back to time to display it. There has to be an easier way.
It depends on how you format the cell to read the Date/Time. If it's represented as a Time, then I believe the best approach is to convert the percentage into a decimal number (i.e 150% = 1.5), then use that in your formula.
However, it also requires applying the cell format to the custom format of [h]:mm:ss to include any times above 24 hours. See the image below for an example.
Time Conversion Example:
The only alternative is a "pain in the rear" - breaking the time down into seconds.
Excel includes built-in functions to convert a Date/Time into HOUR(date), MINUTE(date), and SECOND(date). Unfortunately, getting the number of days requires calculating the difference between two times: DAYS(end_date, start_date). I used this in the example above for the rows titled Conversion.

rounding cells up when the number hits X.60

I'm making something in excel which calculates my hours I work a week/month, when a number gets to 30.60 (two shifts which when finishing on the half an hour) it calculates it as 30.60*wage=not the right pay.
so far I have =ROUND(SUM(C6:I6),0) which rounds up the number, which works fine until I have another day which I work till half an hour then it will just show 16 or so.
As you can see here, it calculates it fine until I work 7.30 hours on a wednesday, the total shows 23.00 instead of 23.30.
How can this be done.
Thank you.
your problem is with excel understanding of your "hours". When you write 7.30 you mean 7 hours 30 minutes = 7.5 hours. But excel understands that as 7 hours and 30/100 of hour = 18 minutes. The easiest solution would be to use 7,5 for 7 hours 30 minutes.
(for sake of checking the question off the unanswered I copied my comment)
If you don't want to use 7.5 (Seven-and-a-half-hours) or 7:30 (7 hours, 30 minutes - but remember to multiply this by 24, since Excel stores this as the fraction of a day, 0.3125) then you can use INT and MOD:
=INT(C6)+(MOD(C6,1)/0.6)
The first part, INT(c6) will give you the Integer part (i.e. whole hours) which we don't want to scale/skew.
The second part has 2 stages. First, MOD(c6,1) will give us the Decimal part of the number (i.e. 7.3 will become 0.3) and the second part is to divide by 0.6 to convert from "fake-minutes" to "fraction-of-real-hour"
Finally, since you want to apply the formula to an array of cells, you will need to swap from SUM to SUMPRODUCT:
=SUMPRODUCT(INT(C6:I6)+(MOD(C6:I6,1)/0.6))
But, overall, best option is to use 7:30 and set Data Validation only allow actual Time values in that field.
{EDIT} Of course, this will give your output with 0.5 for 30 minutes. If you want to reverse back to 0.3 for 30 minutes (although, I can scarcely fathom why) then you need to run the same calculation in reverse:
=INT(SUMPRODUCT(INT(C6:I6)+(MOD(C6:I6,1)/0.6))) + 0.6*MOD(SUMPRODUCT(INT(C6:I6)+(MOD(C6:I6,1)/0.6)),1)

How should durations of time be displayed in a spreadsheet?

I'm creating a report which display duration of time (in hours) between two points in time.
e.g.
Duration between 10:00 to 13:30 equals 3 hrs 30 minutes
This information is being saved into a spreadsheet (excel) in one "duration" column, titled "Duration (hrs)". The column needs to be sortable to allow sorting by longest duration, etc.
Should this be displayed as 3.5 or 3.30 using a numerical column format? Or as 03:30 using a time format? Is there a standard for this or purely down to preference?
Appreciate your thoughts!
Thanks,
Andy
Note also that if you use "hh:mm" for your time format, that will just give you max 24, so even if it goes over several days, you won't see more than 24 hours. If you want the TOTAL number of hours, use "[hh]:mm" to see e.g. 45:32
I think it's probably just down to preference - either method should work and be sortable
For a time format you can just subtract, e.g.
=B2-A2
or for decimal just multiply by 24
=(B2-A2)*24
Personally I think that time durations should be kept in time format.....

Resources