Got a version of Excel that uses the menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)? This site is for you! If you use a later version of Excel, visit our ExcelTips site focusing on the ribbon interface.
With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company.
Learn more about Allen...
Please Note: This article is written for users of the following Microsoft Excel versions: 97, 2000, 2002, and 2003. If you are using a later version (Excel 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Excel, click here: Entering Large Time Values.
If you format a cell for elapsed time (using a custom display format of [h]:mm:ss), then Excel allows you to enter hours, minutes and seconds into that cell. For instance, you could simply enter 129:14:30 to signify 129 hours, 14 minutes, and 30 seconds. You run into a problem, however, if you try to enter very large time values into the cell. When you try to enter time values in excess of 10,000 hours, as in 12721:52:45, then Excel won't parse the entry as a time, but treats it as text.
The interesting thing is that when a cell is formatted for elapsed time using [h]:mm:ss, the cell can easily display elapsed times that have more than 10,000 hours. Thus, you can sum a range of cells to result in a value more than 10,000 hours, but you cannot enter a larger value.
Unfortunately, there seems to be no way around this in Excel. The best solution, however, might be to rethink how the data is entered. After all, 10,000 hours is equal to 416 days and 16 hours—well over a year. You could easily create a column for entering days and use another for partial days. A third column could then use a formula to return the elapsed hours based on the other two columns.
Another solution is to simply not rely on Excel to do the parsing of your input. If you have a huge number of hours to enter (such as 32,315), then you could enter the following in the cell:
Excel maintains what you enter as a formula, but displays the proper number of hours, minutes, and seconds. If you want to get more precise, you can enter a fractional amount that represents the portion of an hour represented by your time. For instance, 37 minutes and 15 seconds is 0.620833 of an hour. Thus, you could enter the hours as follows:
Of course, entering times in this manner can get tedious, particularly when you have calculate the fractional portion of an hour represented by minutes and seconds. To overcome this, you could create a custom function that allows you to enter hours, minutes, and seconds, and returns a value that is easily formatted using the elapsed time format. The following function will do the trick:
Public Function RealBigTime(hr As Double, _ min As Double, sec As Double) As Double Dim hr1 As Double Dim min1 As Double Dim sec1 As Double Application.Volatile hr1 = hr / 24 min1 = min / 24 / 60 sec1 = sec / 24 / 60 / 60 RealBigTime = hr1 + min1 + sec1 End Function
After creating the function, enter something like =RealBigTime(32341,30,45) in a cell. The result is a value that can be formatted with the elapsed time format to 32341:30:45.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2038) applies to Microsoft Excel 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Excel (Excel 2007 and later) here: Entering Large Time Values.
Professional Development Guidance! Four world-class developers offer start-to-finish guidance for building powerful, robust, and secure applications with Excel. The authors show how to consistently make the right design decisions and make the most of Excel's powerful features. Check out Professional Excel Development today!