How to Create a Workout Tracker in Google Sheets
Tracking your workouts is the best way to ensure you're making consistent progress, but most apps are either too restrictive or filled with distracting features. Creating your own workout tracker in Google Sheets gives you complete control to log what you want, how you want. This article will guide you through building a powerful, custom tracker one step at a time, from basic logging to creating a comprehensive progress dashboard.
Why Use Google Sheets for Your Fitness Log?
While dedicated fitness apps are popular, a simple spreadsheet often provides more benefits without the noise. Google Sheets is a fantastic choice because it’s free, fully customizable to your unique training style, and accessible on any device. You get to decide what metrics matter to you - whether that’s total volume, estimated one-rep maxes, or just weekly consistency. You’re building a tool that fits your routine, not forcing your routine into a pre-built app.
Step 1: Setting Up the Basic Structure
First, create a new Google Sheet and give it a name like "My Workout Tracker." We'll eventually have multiple tabs (or "sheets") for organization, but we’ll start with the main log. This first tab is where you’ll record every exercise you perform.
Rename the default "Sheet1" tab at the bottom of the screen to "Workout Log." Now, let's create the headers for the columns. These will be the categories of data you'll fill in after each session. A good starting point is:
Date: The day you performed the workout.
Workout Type: A category for your session, like 'Push Day', 'Leg Day', 'Full Body', or 'Cardio'. This helps with sorting later.
Exercise: The specific movement you performed (e.g., Bench Press, Squat, Deadlift).
Sets: The number of sets completed.
Reps: The number of repetitions per set.
Weight: The amount of weight used (lbs or kgs, a consistent unit is important).
Go ahead and format these headers a bit to make them stand out. Select the entire first row, make the text bold, and maybe add a fill color. To keep your headers visible as you scroll through hundreds of entries, freeze the top row. You can do this by going to View > Freeze > 1 row.
Step 2: Creating an 'Exercise List' for Consistency
To avoid typos and keep your exercise names consistent (e.g., 'Bench Press' vs. 'Barbell Bench Press'), we'll create a master list of all your exercises on a separate tab. It makes your data much cleaner and easier to analyze.
Create the New Tab
Click the "+" icon at the bottom left of the screen to add a new sheet. Rename this one to "Lists". In this sheet, create two columns:
Column A: Workout Type
Column B: Exercise
Now, list all your common exercises and categorize them. This will make data entry faster and eliminate errors that can mess up your summary reports later.
Add Dropdown Menus to Your Log
Now, let's turn these lists into convenient dropdown menus in your "Workout Log" tab. This technique is called "data validation."
Go back to your Workout Log tab.
Select the entire Workout Type column by clicking the letter B at the top.
Go to Data > Data validation from the menu.
In the Criteria box, choose List from a range.
Click the grid icon and select the A column in your Lists tab (make sure to select the whole column, e.g.,
'Lists'!A2:A).Ensure Show dropdown list in cell is checked and click Save.
Now, when you click any cell in the "Workout Type" column, you’ll get a dropdown of your push, pull, and leg day categories. This keeps everything consistent. You would now repeat this process for the Exercise column, using your exhaustive list of exercises from 'Lists'!B2:B.
Step 3: Calculating Key Metrics with Formulas
This is where your tracker starts to turn raw data into useful insights. Let's add a few columns with formulas that calculate important training metrics automatically.
Calculate Total Volume
Training volume is a great indicator of your total workload. It's typically calculated as Sets x Reps x Weight. Create a new column in your "Workout Log" tab called Total Volume.
In the first cell under the header (e.g., G2), enter the following formula:
=D2*E2*F2
This formula multiplies the values in the Sets (D2), Reps (E2), and Weight (F2) cells for that specific row. Click the small blue square (the fill handle) at the bottom-right of the cell and drag it down to apply the formula to all rows in your sheet. This will automatically update your volume as you make new entries!
Pro-tip: to avoid errors showing when rows do not yet hold set/rep/weight info, you can wrap the formula in an IF statement, like this: =IF(D2="", "", D2*E2*F2). This keeps the cell blank if there is no info in the 'sets' row, for a neater sheet.
Estimate Your 1-Rep Max (1RM)
An estimated 1-Rep Max (e1RM) can be a great way to track strength progress without constantly testing for your max. We can use the popular Epley formula to estimate it: e1RM = Weight * (1 + (Reps / 30)).
Add a new column called e1RM to your log. In the first cell H2, enter this formula:
=IF(F2>1, F2*(1+(E2/30)), "")
This formula checks if you've entered a weight greater than 1 (so bodyweight or reps to failure, etc., can be managed too). If so, it calculates your estimated max, otherwise, the result will be blank. Now, you can see your strength potential for any exercise where you performed more than one rep.
Step 4: Building a Visual Dashboard
Now for the best part - visualizing your progress. Manually scrolling through hundreds of entries isn’t helpful, so we’ll create a dedicated "Dashboard" tab to summarize your performance at a glance.
Add another new tab and name it "Dashboard". This is where you'll use formulas and charts to see high-level trends.
Tracking Your Best Lifts
Let's create a feature that shows your all-time best estimated 1RM for key exercises. In your Dashboard tab, you can set up a small table like:
My Personal Records (e1RM):
Bench Press
Squat
Deadlift
To pull your top e1RM for Bench Press, for example, you'd use a formula that finds the maximum value in the e1RM column - but only for the rows that match 'Bench Press'. For that, the QUERY function is perfect. Beside 'Bench Press', in the cell next to it, enter:
=QUERY('Workout Log'!A:H, "select max(H) where C = 'Bench Press' label max(H) ''")
Breakdown:
'Workout Log'!A:Htells it to look at all your logged data."select max(H)"tells it to find the highest value from column H (our e1RM).where C = 'Bench Press'filters the data for the Bench Press exercise.label max(H) ''removes the default header label for neatness.
Now, as you log new workouts, this formula will automatically update to always show your current personal record. Repeat the same for Squat and Deadlift, changing the exercise name in each formula.
Create a Progress Chart
Charts put trends into context. A line chart is perfect for visualizing your e1RM progress on a specific lift over time. To do this:
Use the
QUERYformula below to display your history as a mini-table:
=QUERY('Workout Log'!A:H, "select A, H where C = 'Bench Press' and H is not null order by A asc label A 'Date', H 'e1RM'")
Select all this new data.
Go to Insert > Chart.
Choose a Line Chart.
Now you have a professional-looking chart that automatically updates as you add new sessions to your Workout Log.
Final Thoughts
Congrats! Building a custom workout tracker in Google Sheets puts you in the driver’s seat of your fitness journey, giving you a flexible and powerful tool to monitor the metrics that genuinely matter to you. From simple logging to automated volume calculations and visual progress charts, you now have a template that can grow right alongside your strength.
While creating these dashboards in Google Sheets is rewarding, it often involves setting up complex formulas and connecting various data sources manually. At Graphed, we built a tool to shortcut this process. Instead of writing formulas, you can connect your Google Sheet and simply ask what you want to see - "show me my total squat volume trend for the last 90 days as a line chart." We automate the report building so you can get immediate insights from your data without ever having to touch a spreadsheet function.