Google Sheets import

Turn a Google Sheets program into an importable workout file.

Updated 2026-05-11 Move a coach spreadsheet or self-made program into a workout tracker without rebuilding every day by hand.

Most good training programs still start in a spreadsheet. The problem is that spreadsheets are built for humans to read, while workout apps need set rows with predictable columns.

This page shows the conversion logic: one set per row, stable exercise names, explicit workout names, and enough notes to preserve the coach's intent.

Step-by-step checklist

  1. 1

    Duplicate the Google Sheet so the original program stays unchanged.

  2. 2

    Create a new tab called Import Rows.

  3. 3

    Use one row per planned set.

  4. 4

    Fill Date only if the program has scheduled dates; otherwise leave dates blank for template import.

  5. 5

    Use consistent Workout Name values like Upper A, Lower B, Push 1, or Week 1 Day 3.

  6. 6

    Put exact movement names in Exercise Name.

  7. 7

    Use Set Order to preserve the order inside each exercise.

  8. 8

    Export the tab as CSV and validate it before importing.

Spreadsheet shape vs import shape

A coach sheet often uses blocks, merged cells, color, and side notes. A CSV importer cannot understand that layout. It needs repeated rows with clear fields.

If a program says bench press 3 x 8, create three bench press rows. That looks repetitive, but it is the format that preserves set order and later progress tracking.

Spreadsheet habit Import problem Better format
Merged week headers CSV loses context Repeat Workout Name on every row.
3 x 8 in one cell No set-level history Create set rows 1, 2, and 3.
Color-coded effort Color does not export Use Notes or RPE columns.
Exercise abbreviations Bad matching Use full exercise names.

What to do with progression rules

Do not bury progression rules in a formatted cell that will disappear. If the rule applies to a full workout, put it in Workout Notes. If it applies to one exercise, put it in Notes on each relevant set row.

Examples: 'Add 5 lb next week if all sets hit 10 reps' or 'Leave 2 reps in reserve on the first two sets.'

Template import vs history import

A future program and old workout history are different jobs. Future programs may not need dates or completed weights. Workout history needs dates, actual weights, actual reps, and real duration if you care about historical accuracy.

Decide which job you are doing before you format the sheet.

Tools

Validate before you import.

Sources

Checked against current app docs.

FAQ

Fast answers

Can I import any Google Sheet into a workout app?

Only if the app supports the resulting CSV format. Most coach sheets need to be normalized into set rows before an importer can understand them.

Should each exercise be one row or each set be one row?

Use one row per set when you want accurate history and set order. One row per exercise is easier to read but loses detail.

What should I do with supersets?

Preserve exercise order with Set Order and use Notes to mark the superset relationship unless your destination app has explicit superset columns.

RepStack for iPhone

Import once. Train from clean history.

RepStack keeps your old work useful by turning history into targets, PRs, and progression decisions.

Download for iOS