Skip to content
TablePage.ai Open the app

Tabulation: Turn Raw Records Into a Publishable Summary

Build a frequency table and cross-tabulation in Google Sheets, check counts and percentage bases, then prepare a clean summary for public sharing.

Share X in f
Wei Hu

Suppose you have a spreadsheet of service requests and want to publish how many are open or closed in each area. Readers need a summary—not a list of individual requests.

Tabulation is the process of organizing data into a table, often by grouping records and calculating counts, totals or percentages. A frequency table summarizes one variable, such as status. A cross-tabulation summarizes combinations of variables, such as area and status; its cells contain counts or percentages of observations with those characteristics. Georgia State University’s guide describes how cross-tabulations record these combinations.

Here is a small, reproducible workflow that produces a summary for public sharing.

1. Define what each row counts

Use this synthetic example, not real service-request data. Paste the tab-separated sample into cell A1 of a Google Sheets tab named Raw. Check that it occupies A1:C9:

request_id  area    status
R001    North   Closed
R002    North   Closed
R003    North   Closed
R004    North   Closed
R005    North   Open
R006    South   Closed
R007    South   Open
R008    South   Open

The counting unit is one request, and each request appears once. Before tabulating your own file:

  • Check for duplicate IDs. If the source contains status-history events, several rows may describe the same request.
  • Standardize category labels: use a consistent spelling, capitalization and whitespace rule.
  • Decide how to handle missing area or status values. Exclude them with a documented reason, or retain an explicit category such as Unknown.
  • Define the scope: requests received during a period are not necessarily the same population as all requests open on a particular date.

These decisions determine what the totals mean. Keep them with the dataset, not just in your working notes.

2. Choose a frequency table or cross-tabulation

A frequency table answers “How many requests have each status?” For the example:

Status Request count Share of all requests
Closed 5 62.5%
Open 3 37.5%
Total 8 100%

A cross-tabulation answers “How does status differ by area?”

Area Closed Open Total Closed share within area
North 4 1 5 80.0%
South 1 2 3 33.3%
Total 5 3 8 62.5%

The denominator matters. North’s four closed requests are:

  • 80% of North’s requests: 4 ÷ 5.
  • 80% of all closed requests: 4 ÷ 5, coincidentally the same result here.
  • 50% of all requests: 4 ÷ 8.

Label the percentage base explicitly. A column headed only Percent leaves readers guessing.

3. Build the cross-tabulation in Google Sheets

On a second tab, enter these headers in A1:E1, one per cell: Area, Closed, Open, Total, Closed share within area.

Put North in A2 and South in A3. In B2, enter:

=COUNTIFS(Raw!$B$2:$B$9,$A2,Raw!$C$2:$C$9,B$1)

Copy B2 across to C2, then copy B2:C2 down to B3:C3. The formula counts rows matching both the area and status. Google’s COUNTIFS documentation supports multiple criteria and requires the criteria ranges to have the same dimensions.

In D2, enter:

=B2+C2

In E2, enter:

=B2/D2

Copy both formulas down one row and format E2:E3 as percentages with one decimal place.

To reproduce the total row, put Total in A4 and =B2+B3 in B4. Copy B4 across through D4. In E4, enter =B4/D4 and format it as a percentage. This calculates the overall closed share from counts—not by averaging the two area percentages.

For your own data, extend both source ranges to the same final row and include every retained area and status category. Calculate percentages only where the denominator is greater than zero.

For a larger dataset, a pivot table is another option: Google Sheets supports row and column fields, summarized values and filters, and requires source-column headers. See Google’s pivot-table instructions.

4. Validate and prepare the public file

For this example, check that:

  • Area totals add to 8.
  • Closed counts add to 5, and open counts add to 3.
  • Every included request belongs to exactly one area-status combination.
  • Percentages use the stated denominator, rather than the grand total by accident.

For your own file, reconcile the table’s grand total with the number of source records remaining after documented exclusions. A category missing from your summary should not silently disappear from the count.

Keep the total row for checking, but consider omitting it from the interactive data body: sorting should not make Total look like another area. Export a reviewed summary with one header row, no merged cells and clearly named count and percentage fields. Document whether percentage values are stored as fractions such as 0.8 or percentage-point values such as 80.

Attach a dataset reference sheet explaining the population, reporting period, source, counting unit, category definitions, exclusions and percentage base.

Publish only information cleared for public release. Removing names is not enough if combinations of fields or links to other information could identify someone. The UK Information Commissioner’s anonymisation guidance explains these identification risks. Review small groups and sensitive categories before sharing; keep private source records out of the upload.

TablePage accepts CSV, TSV, XLSX and XLS files and turns uploads into public dataset pages with shareable links and filterable tables. Upload a file containing only the approved summary—not the private working workbook—then check the public page’s headers, values and percentage interpretation before distributing its link.