How to Build an Excel Timesheet with Lunch Breaks

A ready-to-copy weekly timesheet layout with formulas that subtract unpaid lunches, flag missing punches and total the week for overtime.

A timesheet that records only time in and time out can’t tell a 30-minute lunch from a 90-minute one. Adding Lunch Out and Lunch In columns fixes that, and the formulas stay short. This guide builds a complete weekly sheet, shows a simpler break-minutes alternative, covers which breaks you may subtract, and adds the checks that catch bad punches. If you are new to time math in Excel, start with calculate hours worked in Excel.

The four-punch layout

Use one row per day, Monday in row 2 through Sunday in row 8:

Column Header Format
A Day Text, or a date formatted ddd m/d
B Time In h:mm AM/PM
C Lunch Out h:mm AM/PM
D Lunch In h:mm AM/PM
E Time Out h:mm AM/PM
F Hours 0.00

Select B2:E8, press Ctrl+1 (Cmd+1 on a Mac), choose Custom and enter h:mm AM/PM. For F2:F8, choose Number with two decimal places, or Custom 0.00. In Google Sheets, use Format → Number → Custom number format for the same codes.

The daily hours formula

Hours worked are the full shift minus the lunch interval. In F2:

=((E2-B2)-(D2-C2))*24

E2−B2 is the time from clock-in to clock-out, D2−C2 is the lunch, and multiplying by 24 turns Excel’s fraction of a day into decimal hours. If a shift or a lunch can cross midnight, wrap each interval in MOD:

=(MOD(E2-B2,1)-MOD(D2-C2,1))*24

Here is a sample week calculated with the MOD version:

Day (A) Time In (B) Lunch Out (C) Lunch In (D) Time Out (E) Hours (F)
Mon 8:00 AM 12:00 PM 12:30 PM 4:30 PM 8.00
Tue 7:45 AM 11:45 AM 12:30 PM 4:45 PM 8.25
Wed 8:00 AM 12:15 PM 12:45 PM 5:30 PM 9.00
Thu 8:00 AM 12:00 PM 12:30 PM 6:00 PM 9.50
Fri 7:00 AM 1:00 PM 6.00
Sat 0.00
Sun 0.00

Tuesday’s 45-minute lunch turns a 9-hour span into 8.25 hours. Friday has no lunch punches; blank cells count as zero, so the formula returns the full 6-hour span.

Alternative: a break-minutes column

If your team records lunch as a length rather than two punches, use a shorter layout: B = Time In, C = Time Out, D = Break (minutes). Then:

=MOD(C2-B2,1)*24-D2/60

A shift from 8:00 AM to 4:45 PM with a 45-minute break returns 8.75 − 0.75 = 8.00 hours. Dividing by 60 matters: typing 0.45 for 45 minutes, or subtracting 45 straight from decimal hours, gives the wrong answer. The minutes to decimal hours table lists every conversion.

Only unpaid time comes off a timesheet. Under the Fair Labor Standards Act (FLSA), the U.S. Department of Labor’s regulations separate two kinds of breaks:

  • Rest breaks of about 5 to 20 minutes count as hours worked and must be paid (29 CFR 785.18). Don’t subtract a coffee break, even if the employee clocks out for it.
  • Bona fide meal periods, ordinarily 30 minutes or more, can be unpaid if the employee is completely relieved of duty (29 CFR 785.19). A lunch eaten at the desk while answering phones is work time.

If employees sometimes use the lunch punches for a short break, this version deducts the interval only when it is at least 30 minutes, so short breaks stay paid:

=(MOD(E2-B2,1)-IF(ROUND(MOD(D2-C2,1)*1440,0)>=30,MOD(D2-C2,1),0))*24

MOD(D2−C2,1)×1440 is the break length in minutes. ROUND removes floating-point noise, so an exact 30-minute lunch isn’t misread as 29.9999 minutes. Change the 30 to match your written policy.

The FLSA does not require employers to provide meal or rest breaks, but several states do, and some (California, for example) require extra pay when breaks are missed. This is general information, not legal advice; state law may be stricter.

Handle missing lunch punches

Two blank lunch cells are fine; one is not. If someone records Lunch Out at 12:00 PM and forgets Lunch In, the lunch interval becomes 12 hours (or −12 without MOD), and the day is off by half a day. Check the punches with COUNT before calculating. In F2:

=IF(COUNT(B2:E2)=0,0,IF(OR(COUNT(B2,E2)<2,COUNT(C2:D2)=1),"Check punches",(MOD(E2-B2,1)-MOD(D2-C2,1))*24))

Reading it from the outside in:

  • No punches at all returns 0, for a day off.
  • A missing Time In or Time Out, or only one lunch punch, returns the text “Check punches”.
  • Otherwise the formula returns hours as before. With both lunch cells blank, MOD(D2−C2,1) is 0, so a no-lunch day still works.

Because SUM ignores text, a flagged day drops out of the weekly total. Put a counter next to the total so it can’t be missed:

=COUNTIF(F2:F8,"Check*")

Weekly totals and the overtime hook

Below the daily rows, F9 holds the decimal total and F10 shows the same total as hours and minutes:

=SUM(F2:F8)
=F9/24

The sample week totals 40.75 hours. Format F10 as Custom [h]:mm so it displays 40:45; with plain h:mm it wraps past 24 hours and shows 16:45. In Google Sheets, use Format → Number → Duration or a custom [h]:mm format.

For FLSA overtime, split the decimal total at 40 hours and price it with the hourly rate in I1:

=MIN(F9,40)
=MAX(0,F9-40)
=ROUND(MIN(F9,40)*$I$1+MAX(0,F9-40)*$I$1*1.5,2)

At $20.00 an hour, the sample week is 40 regular hours, 0.75 overtime hours and $822.50 gross pay ($800.00 plus 0.75 × $30.00). Daily overtime rules, such as California’s, need a per-day calculation; see calculate overtime in Excel and FLSA overtime rules explained.

Ready-to-copy layout

Cell Enter Format
A1:F1 Day, Time In, Lunch Out, Lunch In, Time Out, Hours Bold headers
A2:A8 Mon through Sun Text
B2:E8 Punch times h:mm AM/PM
F2 The COUNT-checked formula above, copied down to F8 0.00
E9, F9 Total, =SUM(F2:F8) 0.00
E10, F10 Total (h:mm), =F9/24 [h]:mm
E11, F11 Regular, =MIN(F9,40) 0.00
E12, F12 Overtime, =MAX(0,F9-40) 0.00
E13, F13 Gross pay, =ROUND(F11*$I$1+F12*$I$1*1.5,2) Currency
H1, I1 Rate, 20.00 Currency
H2, I2 Flagged days, =COUNTIF(F2:F8,"Check*") 0

For a two-week pay period, copy the block for week 2 and compute overtime separately for each week, because the FLSA does not allow averaging hours across two workweeks. The biweekly time card calculator handles that split for you, and the time card calculator is a quick way to check a single week.

Common errors and fixes

  • 1:00 typed for 1:00 PM. Excel reads 1:00 as 1:00 AM. A lunch from 12:30 PM to “1:00” then looks negative, MOD turns it into a 12.5-hour lunch, and the non-MOD formula adds 11.5 hours instead. Always type AM or PM, or use 24-hour times such as 13:00.
  • Lunch Out and Lunch In swapped. Same symptom. Column C must hold the earlier lunch time.
  • ##### in a cell. The column is too narrow, or a time result is negative. Widen the column or use the MOD version.
  • A total of 16:45 for a 40-hour week. The cell uses h:mm; change it to [h]:mm.
  • The Hours column shows clock times. Format column F as 0.00, not as a time.
  • Exact 30-minute lunches not deducted. Floating-point noise can make a break compute as 29.9999 minutes; keep the ROUND inside any minutes threshold.
  • Text punches. Entries pasted from another system may be text. Test with =ISTEXT(B2) and convert with =TIMEVALUE(B2) or =--B2.

Frequently asked questions

Should a 15-minute break be subtracted from hours worked?

Not under federal rules. The FLSA regulations at 29 CFR 785.18 treat rest breaks of about 5 to 20 minutes as paid work time. Only a bona fide meal period, generally 30 minutes or more with the employee fully relieved of duty, can be deducted. State law may add further requirements.

How do I subtract a fixed 30-minute lunch in Excel?

Convert the shift to decimal hours and subtract 0.5, for example =MOD(C2-B2,1)*24-0.5. If you keep the result as a time value instead, subtract TIME(0,30,0). Only do this when the employee actually took an uninterrupted 30-minute meal.

Why does my timesheet show about 20 hours for one day?

Usually one punch is wrong. A lunch return typed as 1:00 without PM is read as 1:00 AM, and a missing Lunch In leaves the lunch interval half a day long. Check the AM or PM on every punch and use a COUNT test that flags rows with only one lunch punch.

Is it safe to deduct lunch automatically?

A formula can subtract a set meal period, but an automatic deduction is risky if employees sometimes work through lunch. Under the FLSA, time worked during a missed or interrupted meal must be paid. Recording actual Lunch Out and Lunch In punches is the safer practice.