Skip to content
TablePage.ai Open the app

Build a grouped frequency table with explicit intervals and checked counts

Create a grouped frequency table in Google Sheets, check interval boundaries and percentages, and prepare a clean summary for public sharing.

Share X in f
Wei Hu

A grouped frequency table turns a column of numeric observations into ranges and counts. Instead of publishing every recorded duration, for example, you can show how many observations fall below 10 minutes, from 10 to under 20 minutes, and so on.

The workflow below produces a five-row summary from 20 synthetic durations. It keeps interval boundaries numeric, makes percentages reproducible, and prepares the result for a public data page.

What belongs in a grouped frequency table?

Each row represents a class interval: a defined range of values. Its frequency is the number of observations in that range. Relative frequency is the count divided by the total number of observations; display that fraction as a percentage when useful. These definitions follow Statistics Canada’s frequency-distribution guidance.

Use grouping when many distinct numeric values make a value-by-value table hard to read. For categories such as department or status, use an ordinary frequency table or cross-tabulation instead.

Grouping hides differences within each interval. A table can show that five durations fall between 20 and under 30 minutes, but it cannot tell readers their exact values.

1. Prepare the numeric input

In Google Sheets, name a sheet Raw and paste this sample into cell A1:

duration_minutes
2
4
7
9
10
12
13
15
18
20
21
24
26
29
30
32
35
38
40
47

For a real dataset, first confirm that every included value uses the same unit and is stored as a number. Keep missing observations separate from genuine zeros. Document exclusions before calculating percentages.

2. Define intervals without overlaps

For this sample, use intervals of width 10 minutes:

  • 0 to under 10
  • 10 to under 20
  • 20 to under 30
  • 30 to under 40
  • 40 to under 50

The rule is lower bound included, upper bound excluded. A value of exactly 10 belongs in the second interval, not the first. A value of 50 would require another interval.

Avoid labels such as “0–10” and “10–20” unless you explain which row includes 10. “0 to under 10” also makes the treatment of decimal values clear: 9.9 belongs in the first row.

Intervals should not overlap and should cover every valid observation. Statistics Canada recommends choosing widths that balance detail against readability, while making intervals mutually exclusive and collectively exhaustive. See its class-interval rules.

3. Calculate counts and percentages

Create a second sheet named Summary. Enter the first four columns below in A1:D6, then calculate columns E:G.

band_order lower_minutes upper_minutes_exclusive duration_band frequency percent cumulative_frequency
1 0 10 0 to under 10 4 20% 4
2 10 20 10 to under 20 5 25% 9
3 20 30 20 to under 30 5 25% 14
4 30 40 30 to under 40 4 20% 18
5 40 50 40 to under 50 2 10% 20

In E2, enter:

=COUNTIFS(Raw!$A$2:$A$21,">="&B2,Raw!$A$2:$A$21,"<"&C2)

This applies both boundary conditions to the same input range. Google documents the multiple-criteria syntax and comparison expressions in its COUNTIFS reference.

In F2, enter:

=E2/COUNT(Raw!$A$2:$A$21)

COUNT counts numeric values and ignores text, so a matching total does not by itself prove that all source observations were stored correctly. Confirm the numeric count against the expected number of included observations. Google’s COUNT reference explains this behavior.

Format column F as a percentage. In G2, enter:

=SUM($E$2:E2)

Fill E2:G2 down through row 6. For a different dataset, replace the fixed input range with the full range of cleaned observations.

Check that:

  • SUM(E2:E6) equals COUNT(Raw!A2:A21): both should be 20.
  • Percentages sum to 100% before display rounding.
  • The last cumulative frequency equals 20.
  • Boundary values such as 10, 20 and 40 land in the intended rows.

Calculate cumulative frequencies in ascending interval order. Here, 14 observations are below 30 minutes. Keep the working sheet in that order: sorting rows containing running-total formulas can change their results. In a values-only published copy, each cumulative count remains tied to its interval’s upper boundary even when readers sort the table. Keep band_order so they can restore the interval sequence.

4. Publish the summary, not the working sheet

Create a values-only copy of the summary before exporting it. Keep one header row, no merged cells, and no total row mixed into the interval records. State the total in the accompanying description instead.

Include a short note alongside the published table:

Synthetic example: 20 durations measured in minutes. Intervals include the lower bound and exclude the upper bound. Percentages use all 20 observations; no values are missing.

For real data, replace that note with the source, collection period, population, unit and exclusion rules. A dataset reference sheet can hold longer definitions.

TablePage accepts CSV, TSV, XLSX and XLS files and creates public dataset pages with filterable tables. Upload only a summary approved for public release—not a workbook containing sensitive records or private working tabs. After publication, check that the interval labels, numeric counts and percentage values remain readable and match the verified summary.