Skip to main content
Learning Center
Spreadsheets for Decisions

Build a trustworthy worksheet

Organize a useful table

Lay out raw data, inputs, calculations and outputs so a second person can check the sheet without asking you what anything means.

Lesson 1 of 18 in the recommended order · About 25 min (estimate)

On this page

Outcome

Separate raw data, inputs, calculations and outputs into named regions of a worksheet, and give every column one data type and one unit, with the units and the as-of date recorded beside the numbers.

Why it matters

Most spreadsheet disasters are not arithmetic mistakes. They are layout mistakes that arithmetic then faithfully carries forward.

A column that holds 45 in one row and 1.5 in the next is not a column of durations. It is two columns of different things sharing a heading, and every total built on it is wrong by an amount nobody can estimate. A rate typed into eleven formulas is not an assumption; it is eleven assumptions that will disagree the first time one of them is updated. A number with no as-of date cannot be compared with anything.

The fix is unglamorous and takes about ten minutes: decide what each region of the sheet is for, and keep it to that.

Concept

A worksheet that other people can check has four kinds of content, and keeps them apart.

Raw data is what arrived. It is not edited, ever. If it came from an export, keep the export on its own sheet and work on a copy. When somebody asks six weeks later why a figure changed, the untouched copy is the only thing that can answer.

Inputs are the assumptions: a rate, a target, a threshold, the date the data was pulled. Each one lives in exactly one cell, with a label next to it. A reader should be able to find every number the sheet assumes without opening a single formula.

Calculations derive new values from raw data and inputs. A calculation cell contains a formula. If it contains a typed-in number, it is not a calculation; it is an input pretending to be one, and it will not move when the thing it depends on moves.

Outputs are the few figures the sheet exists to produce, plus the checks that say whether they can be trusted.

Within the data itself, three rules do most of the work.

One header row. Formulas and sorting both assume the first row of the contiguous table range names the columns and every row below it in that range is a record. The Source export here starts its table at row 5, below a separate title block. Two header rows, a merged title, or a blank row in the middle all break that assumption quietly.

One data type per column. A column is numbers, or it is text, or it is dates. A number stored as text can look identical on screen; SUM skips it and COUNT does not count it. In this grid, as in most spreadsheets, text sits against the left of its cell and numbers sit against the right; that difference in alignment is often the only visible clue.

One unit per column. If some rows are in hours and some in minutes, you do not have a column you can add up. Either convert to one unit in a new column, or split the column in two. Writing the unit into the heading, so it reads "Minutes" rather than "Duration", makes the next person's mistake much harder to make.

Worked example

Cedar Ridge Community Center runs after-school sessions at three sites. The September export arrived looking like this.

Read the code

The export's own heading block sits above the data, so the header row is row 5 rather than row 1. This is a three-row excerpt of the six source records:

Cedar Ridge Community Center
After-school sessions export, September 2026

id       site    date        learners  duration  unit      fee charged
CR-101   Cedar   2026-09-01  18        45        minutes   $120.50
CR-102   Cedar   2026-09-02  12        1.5       hours     $89.00
CR-103   Ridge   2026-09-02  21        90        minutes   $240.00

Three problems emerge from the displayed rows and the Source cell values.

The duration column mixes 45 with 1.5. Adding it gives 136.5 of nothing at all.

The fee charged cells in this Source export are stored as text, with leading apostrophes in the workbook values. The displayed dollar signs alone do not prove a text type; numeric currency cells can also show them. SUM over these text fees returns 0, not because the fees are zero.

There is no as-of date anywhere. "September 2026" is a period, not the moment the file was produced, so nothing here can be compared against a later export with any confidence.

Map the four worksheet regions

Keep four worksheet regions easy to inspect

Flow: Source → working copy → results

The Source sheet preserves what arrived. The Sessions sheet starts its table at row 1, keeps entered values visible, and gives each derived value a labelled place.

1 · Raw data

  • Source sheet

    Six records plus a title block; its table headers are on row 5.

  • copy for work; preserve source

    Sessions working copy

    The same records are arranged under row-1 headers; entered durations and units remain visible.

Example
CR-102: 1.5 hours entered
Fee storage
Source fee cells are text; a dollar sign alone does not tell the cell type.

Do not overwrite the Source values when correcting the working view.

2 · Inputs

Rate
One labelled input cell (B10)
As-of date
One labelled date cell (B11)
September 2026
Export period; not an as-of date

Record the actual as-of date explicitly. This figure leaves the exercise input values for the learner to enter.

3 · Calculations

Entered duration E + unit F

Derive a common minutes value in G

CR-101
45 minutes entered
CR-102
1.5 hours entered

Keep the original duration and unit beside the new minutes column. Check for unrecognised units separately.

4 · Outputs and checks

Minutes G2:G7

Report a total and the numeric row count

B15
Total minutes
B16
Count of numeric minutes
Source fee check
Inspect the cell type before totaling the displayed fees

Labels state what each result measures. The exercise asks the learner to compute the values.

The arrows show where values come from; the four headings show what a reviewer should be able to find without opening every formula.

Predict the output

The fee column above holds $120.50, $89.00 and $240.00 as text. Before you read on, decide what each of these three formulas returns over those three cells.

=SUM(G6:G8)
=COUNT(G6:G8)
=COUNTA(G6:G8)
Show the three answers

SUM returns 0. It adds the numbers in the range, and there are none: all three cells hold text.

COUNT returns 0. It counts numbers, and finds none either.

COUNTA returns 3. It counts cells that are not empty, and all three hold something.

The gap between COUNT and COUNTA is the diagnostic. When they disagree, at least one nonempty cell is not counted as numeric; inspect it to learn whether it is numeric-looking text or something else. You can see this for yourself on the Source sheet in the practice grid below: cell B13 there holds a total over the fee column, and it reads 0.

Modify the code

Here is the first attempt at converting the duration column, written for a row that happens to be in hours:

=E3*60

It gives the right answer for CR-102 and the wrong answer for every row already recorded in minutes, turning 45 minutes into 2,700. The formula is not wrong about arithmetic. It is wrong about which question it is answering: it assumes a unit instead of reading one.

Change it so the row's own unit decides:

=IF(F3="hours",E3*60,E3)

Now every row carries its own answer. Be clear about what this formula does not do: a row recorded next month in a third unit — seconds, say — falls through the IF and is treated as minutes, silently and plausibly. IF protects you from the units you thought of. The check that protects you from the ones you did not is a separate one, counting how many rows hold a unit you recognise, and it belongs next to the total.

Debug the bug

A volunteer reports that the sessions sheet says the program ran for 184.5 minutes across six sessions, which would be about thirty-one minutes per session. Nobody believes it — three of those sessions were an hour and a half or more — but nobody can say where the figure went wrong either.

Work through it in this order, and change nothing until the last step.

  1. Look at the column, not the total. Column E holds 45, 1.5, 90, 1, 45, 2. Three of those are recorded as hours; the numeric values alone do not tell you which.
  2. Find the column that says so. Column F holds the unit for each row. The information needed to fix this was in the sheet the whole time; the total simply ignored it.
  3. Decide the unit before writing anything. Minutes, because three of the six rows already are and a common small unit keeps these examples integral.
  4. Put the answer in a new column. Do not overwrite column E. If the conversion turns out to be wrong, the original entry is the only way back.
  5. Check one row by hand. CR-104 is 1 hour. Sixty minutes. If the formula does not say 60 for that row, stop and fix the formula rather than the row.

The habit worth taking from this: a total that surprises you is a signal about the columns underneath it, not a number to adjust.

Try it yourself

The Sessions sheet is a working copy; the Source sheet is the export, left untouched. Fill in the minutes column, record the two assumptions, and complete the two checks.

Nothing you type here changes a file on your computer, and there is no spreadsheet application involved. Move with the arrow keys, press Enter to edit a cell and Escape to cancel, and use the formula bar above the grid if you prefer typing there.

Give the session table one unit per column

The Sessions sheet is a working copy of the export on the Source sheet. Column E holds a duration and column F says what unit that duration is in, so nothing can be added up until the two are reconciled. Fill column G with the duration in minutes for every session, record the two assumptions in the Inputs block, and complete the two checks at the bottom.

  1. In G2, write a formula that gives the duration in minutes whether column F says minutes or hours, then produce the same result for G3 to G7.
  2. In B10, enter the rate per learner per session: 4.25.
  3. In B11, enter the as-of date for this data: 2026-09-08. Type it as 2026-09-08 so the sheet stores a date rather than text.
  4. In B15, total the minutes in column G. In B16, count how many sessions that total covers.

This is a practice grid built for this course. It is not Excel and not Google Sheets, nothing you do here changes a file on your computer, and no spreadsheet application is involved.

Sessions!A1This cell is supplied; it is not editable.
Practice grid, sheet Sessions. Move with the arrow keys. Press Enter to edit a cell, Escape to cancel.
Row numberABCDEFGH
1Session idSiteDateLearnersDuration enteredDuration unitMinutes
2CR-101Cedar2026-09-011845minutes
3CR-102Cedar2026-09-02121.5hours
4CR-103Ridge2026-09-022190minutes
5CR-104Ridge2026-09-0391hours
6CR-105Hill2026-09-032445minutes
7CR-106Hill2026-09-04152hours
8
9Inputs
10Rate per learner per session
11Data as of
12Durations in column G are in minutes
13
14Checks
15Total minutes
16Sessions counted
17
18

Sign in with your learning-center account to record attempts on this exercise. The grid works either way, and your work stays on this device.

Functions this grid understands

Anything else gives a #NAME? error. Arguments are separated by commas here; some regional settings in Excel and Google Sheets use semicolons instead.

  • ABS
  • AND
  • AVERAGE
  • AVERAGEIF
  • AVERAGEIFS
  • CONCAT
  • COUNT
  • COUNTA
  • COUNTBLANK
  • COUNTIF
  • COUNTIFS
  • DATE
  • DATEVALUE
  • DAY
  • EOMONTH
  • EXACT
  • FIND
  • IF
  • IFERROR
  • IFNA
  • INDEX
  • ISBLANK
  • ISERROR
  • ISNA
  • ISNUMBER
  • ISTEXT
  • LEFT
  • LEN
  • LOWER
  • MATCH
  • MAX
  • MID
  • MIN
  • MOD
  • MONTH
  • NA
  • NOT
  • OR
  • PROPER
  • RIGHT
  • ROUND
  • ROUNDDOWN
  • ROUNDUP
  • SEARCH
  • SQRT
  • SUBSTITUTE
  • SUM
  • SUMIF
  • SUMIFS
  • TEXT
  • TEXTJOIN
  • TODAY
  • TRIM
  • UPPER
  • VALUE
  • VLOOKUP
  • XLOOKUP
  • YEAR
What this practice grid does not do
  • This grid has no merged cells, so the two-line title on the Source sheet is shown as two ordinary cells rather than one merged one.
  • Only dates written as YYYY-MM-DD are recognised as dates. A date such as 03/04/2026 stays text here on purpose; Module 2 explains why.
  • Downloads are exported as values, never as formulas.

Practical challenge (optional)

Cedar Ridge also lends equipment, and that export has the same shape of problem in a different place:

item      site    borrowed    returned    quantity  size
BALL-01   Cedar   2026-09-02  2026-09-05  6         standard
BALL-02   Ridge   2026-09-02              12        junior
NET-04    Hill    2026-09-03  2026-09-03  1         full

On paper, answer three questions before doing anything in a grid.

  1. Which date column has a missing value, and what should be done with that row?
  2. The quantity column mixes items counted individually with items counted by the case. Where would you record which is which, and what would the corrected column be called?
  3. A colleague suggests filling the blank returned date with the borrowed date "so the column is complete". Give one specific figure this would make wrong.

There is no grid for this one on purpose: the judgement happens before the typing.

Compare your answers

1. The returned column. The nonblank values are dates; BALL-02 is blank. That is a missing value, not another data type; it is a record that has no value yet, and that is exactly why it must stay blank. Filling it makes the sheet claim something nobody knows. If the sheet needs to distinguish "not yet returned" from "we lost the record", that is a second column, not a substituted value.

2. The quantity column. It needs a unit column beside it, holding "item" or "case" per row, and a derived column headed Quantity in items computed from the two — the same shape as the minutes column in this lesson. The original quantity column keeps its name and its numbers; nothing is overwritten.

3. Any figure that uses the loan duration. Filling BALL-02's returned date with its borrowed date falsely records a same-day return. A report that counts open loans would then drop one; a duration calculation would read zero days for that loan. An overdue flag could also be suppressed if its as-of date and rule would otherwise mark the loan overdue. This excerpt supplies neither an as-of date nor that rule, so it cannot establish how long BALL-02 has been out.

Sign in to track your progress on this exercise.

Checkpoint

You are ready to move on when you can do all four of these without looking anything up.

  • Point at a worksheet and say which cells are raw data, which are inputs, which are calculations and which are outputs.
  • Explain why a number stored as text does not break a total loudly, and name the two functions whose disagreement reveals it.
  • Say what is wrong with a column headed "Duration" that holds both 45 and 1.5, and describe two different ways to fix it.
  • Say why a blank cell and a zero are different answers, and give one situation where treating a blank as zero would change a decision.

Sign in to track your progress on this exercise.

Summary and next step

A worksheet is checkable when its four regions are visibly separate, every column holds one type and one unit, and the assumptions and as-of date sit where a reader can find them without opening a formula.

Next: Write and copy formulas. The minutes column you just built needed the same shape of formula six times. There is a way to write it once — and a specific way it goes wrong that produces a column of plausible, incorrect numbers.

learning.goultergroup.com

The interactive parts of this page have not loaded. Reading and links still work; reload the page to try again.