Fitness & Weight Log
Made for people training with a goal.
Record every workout and a weekly weigh in. The summary shows workouts per week, total training time and how your weight has moved. The summary carries a chart that redraws itself as you type.
- Tabs
- 3
- Columns
- 13
- Fill themselves in
- 15
£7one payment, yours to keep
- Opens in Excel, Google Sheets and Numbers
- Delivered straight away
- No macros, nothing to install
- Change it free before you buy
Payment is handled by Stripe. Your card details go to them and never to us. Sales are final, which is why every tab, column and calculation is shown on this page first.
Everything inside, before you pay
This is the whole design: every tab, every column and how each calculated one is worked out. White cells are yours to fill in; the shaded ones work themselves out and are locked so a formula cannot be overwritten by accident. There is room for 460 rows.
Workouts
| Column | Type | Worked out as |
|---|---|---|
| Date | date | |
| Type | choice (list) | |
| Duration (min) | number | |
| Effort (1 to 10) | number | |
| Week Starting | date | IF(ISBLANK([date]), "", [date]-WEEKDAY([date],2)+1) |
| Hours | number | IF(ISBLANK([minutes]), "", ROUND([minutes]/60, 2)) |
| Notes | text |
Body Log
| Column | Type | Worked out as |
|---|---|---|
| Date | date | |
| Weight (kg) | number | |
| Waist (cm) | number | |
| Chest (cm) | number | |
| Hips (cm) | number | |
| Change Since Start (kg) | number | IF(ISBLANK([weight]), "", IFERROR(ROUND([weight]-INDEX([Body Log!weight], MATCH(MIN([Body Log!date]), [Body Log!date], 0)), 1), 0)) |
Summary
| Measure | Worked out as |
|---|---|
| Workouts this week | COUNTIFS([Workouts!date], ">="&(TODAY()-WEEKDAY(TODAY(),2)+1), [Workouts!date], "<="&TODAY()) |
| Workouts last week | COUNTIFS([Workouts!date], ">="&(TODAY()-WEEKDAY(TODAY(),2)-6), [Workouts!date], "<"&(TODAY()-WEEKDAY(TODAY(),2)+1)) |
| Average workouts per week (last 4 weeks) | ROUND(COUNTIFS([Workouts!date], ">"&(TODAY()-28), [Workouts!date], "<="&TODAY())/4, 1) |
| Total workouts | COUNT([Workouts!date]) |
| Total training time (hours) | ROUND(SUM([Workouts!minutes])/60, 1) |
| Training time this week (minutes) | SUMIFS([Workouts!minutes], [Workouts!date], ">="&(TODAY()-WEEKDAY(TODAY(),2)+1), [Workouts!date], "<="&TODAY()) |
| Average effort | IFERROR(ROUND(AVERAGE([Workouts!effort]), 1), 0) |
| Starting weight (kg) | IFERROR(INDEX([Body Log!weight], MATCH(MIN([Body Log!date]), [Body Log!date], 0)), 0) |
| Latest weight (kg) | IFERROR(INDEX([Body Log!weight], MATCH(MAX([Body Log!date]), [Body Log!date], 0)), 0) |
| Weight change since start (kg) | IFERROR(ROUND(INDEX([Body Log!weight], MATCH(MAX([Body Log!date]), [Body Log!date], 0))-INDEX([Body Log!weight], MATCH(MIN([Body Log!date]), [Body Log!date], 0)), 1), 0) |
| Lowest weight (kg) | MIN([Body Log!weight]) |
| Latest waist (cm) | IFERROR(INDEX([Body Log!waist], MATCH(MAX([Body Log!date]), [Body Log!date], 0)), 0) |






