How to Calculate Decimal Hours in Excel Without a Helper Cell
Question details
The user needs to subtract a start time from an end time and convert the result directly into decimal hours using a single formula, avoiding intermediate duration cells.

- Product
- Microsoft Excel
- Device & OS
- not provided
- Scenario
- Calculating shift durations, payroll timesheets, or project hours where times are logged and the final output must be represented as a decimal (e.g., 8.5 hours) rather than a time string.
- Observed behavior
- The goal is to calculate the time difference in one step, account for shifts that cross midnight, and format the final cell as a standard number.
Ensure your start and end times are entered as proper Excel time values (e.g., 8:00 AM or 17:00). Improperly formatted text strings will cause the calculation formula to return an error.
Use the MOD Function Combined with Multiplication
This single-formula method computes the time difference, safely handles shifts that cross over midnight, and converts the resulting time fraction directly into decimal hours.
In Excel, time is stored as a fractional part of a 24-hour day (e.g., 12:00 PM is 0.5). Multiplying a time difference by 24 converts this fraction into standard decimal hours. The MOD function is used to ensure that if the end time passes midnight (making it mathematically smaller than the start time), the formula still calculates the correct positive duration.
Click on the empty cell where you want the calculated decimal hours to be displayed.
Type the formula =MOD(End_Time - Start_Time, 1) * 24. For example, if your start time is in cell B2 and your end time is in cell C2, type =MOD(C2-B2,1)*24 and press Enter.
Because the formula contains time references, Excel might automatically format the result as a time (e.g., 8:30 AM). To fix this, right-click the cell, select 'Format Cells', choose the 'Number' tab, and select 'General' or 'Number'.
Click and drag the fill handle at the bottom-right corner of the cell downwards to apply this formula to your other timesheet entries.

Calculate Decimal Hours Easily with WPS Spreadsheet
WPS Spreadsheet fully supports the MOD function and standard time calculations. It provides a highly compatible, fast, and intuitive environment for managing timesheets, payroll calculations, and shift schedules without needing complex workarounds.
- 1. Open your timesheet in WPS: Launch WPS Spreadsheet and open the document containing your start and end times.
- 2. Input the time formula: Select the result cell and type =MOD(C2-B2,1)*24, replacing C2 and B2 with your actual end and start time cells.
- 3. Format as a number: Go to the Home tab, click the Number Format dropdown in the ribbon, and choose 'General' or 'Number' to display the decimal hours.

Frequently Asked Questions
Why does my decimal hours formula return a strange time like 12:00 AM instead of a number?
This happens because the spreadsheet software automatically applies a 'Time' format to cells that reference other time cells. To fix this, right-click the result cell, select 'Format Cells', and change the format category from 'Time' to 'General' or 'Number'.
Can I use standard subtraction like (C2-B2)*24 without the MOD function?
Yes, you can use simple subtraction =(C2-B2)*24 if your start and end times always fall on the same calendar day. However, if your schedule involves night shifts that start on one day and end the next morning, simple subtraction will result in a negative number or an error. The MOD function prevents this.
How do I round the calculated decimal hours to two decimal places?
You can wrap your entire calculation in the ROUND function. Edit your formula to look like this: =ROUND(MOD(C2-B2,1)*24, 2). This will force the result to strictly display two decimal places, such as 8.50.
How can I subtract an unpaid lunch break from the decimal hours?
If you have a defined lunch break in minutes (for example, 30 minutes), you can subtract it directly from the final decimal hours by converting the minutes into decimals (30/60 = 0.5). Your formula would be: =MOD(C2-B2,1)*24 - 0.5.




