
Raw data rarely tells a clear story on its own. When you have a long list of values — test scores, survey responses, sales figures — patterns stay hidden until you organize that data into a structure you can actually read. A frequency distribution table solves this problem by grouping values into categories and counting how often each one appears, turning a disorganized dataset into a clear, scannable summary.
Understanding how to build one is a foundational skill in statistics and data analysis. Whether you are working in Excel, R, or by hand, the process follows the same logical steps: define your classes, tally your counts, and calculate relative or cumulative frequencies as needed. The result is a table that makes comparisons easy, supports further analysis, and forms the basis for charts like histograms and frequency polygons.
A frequency distribution table is a structured summary that organizes raw data into groups — called classes or bins — and records how many times values fall within each group. Instead of scanning through hundreds of individual data points, you get a compact table that shows the shape and spread of your data at a glance.
Every frequency distribution table contains at least two core columns: the class intervals (the defined ranges of values) and the frequency (the count of observations in each range). Most tables also include additional columns for relative frequency (each class’s proportion of the total dataset, expressed as a percentage or decimal) and cumulative frequency (a running total of frequencies from the first class to the last).
Frequency distribution tables work with both quantitative data — such as heights, temperatures, or exam scores — and qualitative data, such as product categories or survey responses. When applied to quantitative data, the table groups values into equal-width intervals. When applied to qualitative data, each category simply becomes its own row.
The table below shows a basic example using student exam scores:
| Class Interval | Frequency | Relative Frequency | Cumulative Frequency |
|---|---|---|---|
| 50 – 59 | 3 | 10% | 3 |
| 60 – 69 | 7 | 23% | 10 |
| 70 – 79 | 10 | 33% | 20 |
| 80 – 89 | 8 | 27% | 28 |
| 90 – 99 | 2 | 7% | 30 |
| Total | 30 | 100% | — |
This single table replaces 30 individual data points and immediately reveals that most students scored in the 70–79 range, with performance tapering off toward the extremes.
Use a frequency distribution table when you want to:
Avoid frequency distribution tables when:
Building a frequency distribution table follows a consistent process regardless of the dataset or software you use. The steps below use a worked example throughout: 30 student exam scores ranging from 52 to 98.
Dataset: 52, 55, 61, 63, 63, 67, 70, 71, 72, 74, 74, 75, 75, 76, 77, 78, 78, 79, 80, 81, 82, 83, 85, 86, 88, 89, 90, 92, 95, 98
Step 1: Find the Range
Subtract the minimum value from the maximum value to determine how spread out your data is.
Step 2: Decide the Number of Classes
Choose how many groups (classes) your table will have. Most frequency tables use between 5 and 20 classes. A common guideline is Sturges’ formula:
Where k is the number of classes and n is the total number of observations.
For this dataset, 6 classes is a reasonable choice.
Step 3: Calculate the Class Width
Divide the range by the number of classes, then round up to a convenient whole number.
Rounding up to 8 ensures all values are captured without gaps between classes.
Step 4: Set the Class Intervals
Start the first class at the minimum value (or a convenient number just below it) and add the class width to define each successive interval. Each class must be mutually exclusive — no value should fall into more than one class.
| Class Interval |
|---|
| 52 – 59 |
| 60 – 67 |
| 68 – 75 |
| 76 – 83 |
| 84 – 91 |
| 92 – 99 |
Step 5: Tally the Frequencies
Go through your dataset and count how many values fall within each class interval.
| Class Interval | Tally | Frequency |
|---|---|---|
| 52 – 59 | ||| | 3 |
| 60 – 67 | |||| | 4 |
| 68 – 75 | |||| || | 7 |
| 76 – 83 | |||| ||| | 8 |
| 84 – 91 | |||| | 5 |
| 92 – 99 | ||| | 3 |
| Total | 30 |
Step 6: Calculate Relative and Cumulative Frequencies
Relative frequency expresses each class count as a proportion of the total:
Cumulative frequency adds each class frequency to the sum of all previous classes.
| Class Interval | Frequency | Relative Frequency | Cumulative Frequency |
|---|---|---|---|
| 52 – 59 | 3 | 10.0% | 3 |
| 60 – 67 | 4 | 13.3% | 7 |
| 68 – 75 | 7 | 23.3% | 14 |
| 76 – 83 | 8 | 26.7% | 22 |
| 84 – 91 | 5 | 16.7% | 27 |
| 92 – 99 | 3 | 10.0% | 30 |
| Total | 30 | 100% | — |
Step 7: Review and Verify
Before finalizing your table, run through these checks:
Excel offers two practical methods for building a frequency distribution table: the COUNTIFS function for full manual control, and the Analysis ToolPak for automated output. Both methods use the same exam score dataset from the previous section.
The COUNTIFS function counts values that meet multiple criteria simultaneously, making it ideal for tallying observations within class intervals.
Step 1: Enter your data
Paste your raw data into column A (A2:A31 for 30 values, with a header in A1).
Step 2: Set up your class intervals
In column C, enter the lower bound of each class. In column D, enter the upper bound.
| C | D |
|---|---|
| 52 | 59 |
| 60 | 67 |
| 68 | 75 |
| 76 | 83 |
| 84 | 91 |
| 92 | 99 |
Step 3: Enter the COUNTIFS formula
In cell E2, enter:
=COUNTIFS($A$2:$A$31,">="&C2,$A$2:$A$31,"<="&D2)
Drag this formula down through E7 to populate all six class frequencies.
Step 4: Calculate relative frequency
In cell F2, enter:
=E2/SUM($E$2:$E$7)
Format column F as a percentage. Drag down through F7.
Step 5: Calculate cumulative frequency
In cell G2, enter:
=E2
In cell G3, enter:
=G2+E3
Drag G3 down through G7. The final value in G7 should equal 30.
Your completed table will look like this:
| Class Interval | Frequency | Relative Frequency | Cumulative Frequency |
|---|---|---|---|
| 52 – 59 | 3 | 10.0% | 3 |
| 60 – 67 | 4 | 13.3% | 7 |
| 68 – 75 | 7 | 23.3% | 14 |
| 76 – 83 | 8 | 26.7% | 22 |
| 84 – 91 | 5 | 16.7% | 27 |
| 92 – 99 | 3 | 10.0% | 30 |
The Analysis ToolPak is a built-in Excel add-in that generates a frequency table automatically from a defined set of bins.
Step 1: Enable the Analysis ToolPak
Go to File → Options → Add-ins. At the bottom of the window, set the Manage dropdown to Excel Add-ins and click Go. Check Analysis ToolPak and click OK.
Step 2: Enter your bin values
In a separate column, enter the upper bound of each class interval. These are your bin values:
| Bin |
|---|
| 59 |
| 67 |
| 75 |
| 83 |
| 91 |
| 99 |
Step 3: Run the Histogram tool
Go to Data → Data Analysis → Histogram and click OK. Configure the dialog as follows:
Click OK. Excel generates a frequency table with a Bin column, Frequency column, and optional cumulative percentage column.
Step 4: Clean up the output
The ToolPak labels bins by their upper bound only (e.g., 59, 67). Manually replace these with your full interval labels (52–59, 60–67, etc.) for clarity.
| COUNTIFS | Analysis ToolPak | |
|---|---|---|
| Setup time | Moderate | Fast |
| Flexibility | High — formulas update when data changes | Low — static output, must rerun for new data |
| Relative frequency | Calculated manually | Not included by default |
| Best for | Live datasets that will change | Quick one-time summaries |
For ongoing analysis where your data may be updated, COUNTIFS is the better choice. For a fast, one-time summary, the Analysis ToolPak gets the job done with minimal setup.
