How to Create a Histogram in Google Sheets

Histograms are one of the most misunderstood chart types in spreadsheet software. People confuse them with bar charts constantly, but they serve fundamentally different purposes. A bar chart compares...

Key Insights

  • Google Sheets offers two primary methods for creating histograms: the built-in chart tool for quick visualizations and the FREQUENCY function for granular control over bin ranges
  • Unlike bar charts that compare categories, histograms display continuous data distribution—making them essential for identifying patterns, outliers, and the shape of your data
  • Custom bucket sizes dramatically affect histogram interpretation; too few bins hide patterns, too many create noise—aim for 5-20 bins depending on your dataset size

Introduction to Histograms

Histograms are one of the most misunderstood chart types in spreadsheet software. People confuse them with bar charts constantly, but they serve fundamentally different purposes. A bar chart compares discrete categories—sales by region, votes by candidate. A histogram shows how continuous numerical data distributes across ranges, revealing the underlying shape of your dataset.

When you need to answer questions like “What’s the most common response time?” or “Are my exam scores normally distributed?” or “Do I have outliers skewing my averages?"—you need a histogram.

Common use cases include analyzing test score distributions, understanding customer response times, examining salary ranges across an organization, and identifying data quality issues. If you’re doing any serious data analysis in Google Sheets, histograms should be in your toolkit.

Preparing Your Data

Histograms require numerical data in a single column. That’s it. No categories, no labels in adjacent columns—just raw numbers.

Here’s a sample dataset representing exam scores for 60 students:

A
Score
78
85
92
67
73
88
91
76
82
69
94
87
71
83
79
96
68
74
89
77
84
90
72
81
75
93
86
70
80
95
73
88
82
76
91
69
85
78
87
74
92
71
83
79
94
68
86
90
77
84
72
89
75
81
70
93
67
80
96
88

Before creating your histogram, clean your data:

  1. Remove blank cells within your data range—they can cause calculation errors
  2. Convert text to numbers if values imported as text (look for the green triangle warning)
  3. Decide on outlier handling—extreme values can compress your histogram and hide patterns

For outliers, you have options: remove them, note them separately, or use logarithmic scales. The right choice depends on whether outliers represent data errors or legitimate extreme values.

Method 1: Using the Built-in Chart Tool

The fastest path to a histogram uses Google Sheets’ native chart functionality. Here’s the exact process:

Step 1: Select your data range including the header (e.g., A1:A61 for the sample data above)

Step 2: Navigate to Insert → Chart

Step 3: In the Chart Editor panel, click the “Chart type” dropdown

Step 4: Scroll to the “Other” section and select “Histogram chart”

Google Sheets automatically determines bucket sizes based on your data range. For the exam scores example, it might create buckets of width 5 (65-70, 70-75, etc.).

The default histogram appears immediately, showing frequency counts on the Y-axis and score ranges on the X-axis. You’ll see the classic bell-curve shape if your data is normally distributed, or skewed patterns if it isn’t.

Quick customization in Chart Editor:

  • Setup tab: Verify data range, toggle “Use row 1 as headers”
  • Customize tab → Histogram: Adjust bucket size (more on this shortly)
  • Customize tab → Chart & axis titles: Add meaningful labels

This method works for 90% of use cases. But when you need precise control over bin boundaries, you need the FREQUENCY function.

Method 2: Using the FREQUENCY Function

The FREQUENCY function counts how many values fall within specified ranges. It gives you complete control over bin edges—essential when you need bins aligned to meaningful thresholds (like grade boundaries) rather than arbitrary intervals.

Setting up bins:

First, create your bin boundaries in a separate column. For exam scores with letter grade cutoffs:

Column C (Bins)
60
70
80
90
100

These represent the upper boundary of each bin. Values ≤60 go in the first bin, 61-70 in the second, and so on.

Applying the FREQUENCY function:

The syntax is =FREQUENCY(data_array, bins_array). FREQUENCY is an array function—it returns multiple values simultaneously.

=FREQUENCY(A2:A61, C2:C6)

Critical step: FREQUENCY returns an array with one more element than your bins (to capture values above the highest bin). You must enter it correctly:

  1. Select cells D2:D7 (one more row than your bin count)
  2. Type the formula: =FREQUENCY(A2:A61, C2:C6)
  3. Press Ctrl+Shift+Enter (Windows) or Cmd+Shift+Enter (Mac)

You’ll see curly braces appear around the formula in the formula bar: {=FREQUENCY(A2:A61, C2:C6)}

The result shows counts for each range:

C           D
Bins        Count
60          2
70          8
80          18
90          22
100         10
(overflow)  0

Now select your bins and counts (C2:D6), insert a chart, and choose “Column chart” for a manual histogram with your exact bin boundaries.

Customizing Your Histogram

Default histograms rarely communicate effectively. Customization transforms a generic chart into a clear analytical tool.

Bucket size adjustment (built-in histogram):

In Chart Editor → Customize → Histogram, you’ll find “Bucket size.” This single setting has the biggest impact on your histogram’s usefulness.

  • Too few buckets (large size): Hides distribution patterns. A bucket size of 30 for exam scores shows almost nothing.
  • Too many buckets (small size): Creates noise. A bucket size of 1 makes every score its own bar.
  • Sweet spot: Generally, use 5-20 buckets. For 60 data points, 6-10 buckets usually work well.

Try bucket size 5 for the exam data—you’ll see the distribution shape clearly without excessive granularity.

Visual customization:

Navigate through Customize tab options:

Chart style:
  - Background color: Keep white for clarity
  - Font: Match your document/presentation

Histogram:
  - Bucket size: 5 (for exam data)
  - Show item dividers: Yes (adds lines between bars)

Chart & axis titles:
  - Chart title: "Exam Score Distribution (n=60)"
  - Horizontal axis: "Score Range"
  - Vertical axis: "Number of Students"

Legend:
  - Position: None (unnecessary for single-series histograms)

Horizontal/Vertical axis:
  - Min/Max values: Set explicitly to prevent auto-scaling issues
  - Gridlines: Reduce count for cleaner appearance

Color choices matter: Use a single color for standard histograms. Reserve multiple colors for comparative histograms showing different groups.

Advanced Tips and Troubleshooting

Real-world data creates real-world problems. Here’s how to handle common issues:

Empty cells within data range:

FREQUENCY ignores empty cells, but the built-in histogram may miscount. Clean your data first:

=FILTER(A2:A100, A2:A100<>"")

This creates a clean range without blanks.

Text values mixed with numbers:

Identify non-numeric values with:

=SUMPRODUCT(--(ISNUMBER(A2:A100)))

Compare this count to your expected data points. If they don’t match, you have text values masquerading as numbers.

Manual binning with COUNTIF:

For even more control than FREQUENCY, use COUNTIF to count values in specific ranges:

=COUNTIF(A:A, ">="&B2) - COUNTIF(A:A, ">="&B3)

This counts values greater than or equal to B2, then subtracts values greater than or equal to B3—giving you the count between those boundaries.

For a complete manual bin setup:

B           C                                           D
Lower       Upper                                       Count
60          70      =COUNTIF($A:$A,">="&B2)-COUNTIF($A:$A,">"&C2)
70          80      =COUNTIF($A:$A,">="&B3)-COUNTIF($A:$A,">"&C3)
80          90      =COUNTIF($A:$A,">="&B4)-COUNTIF($A:$A,">"&C4)
90          100     =COUNTIF($A:$A,">="&B5)-COUNTIF($A:$A,">"&C5)

Exporting and sharing:

Right-click your histogram and select “Download” for PNG, PDF, or SVG formats. For presentations, PNG works universally. For print or scaling, use SVG.

To share interactively, publish the entire sheet (File → Share → Publish to web) and embed the chart directly.

Conclusion

Use the built-in chart tool when you need a quick visualization and Google’s automatic bucketing works for your data. This covers exploratory analysis, quick checks, and most presentation needs.

Switch to the FREQUENCY function when you need bins aligned to specific thresholds, when comparing datasets that must use identical bin boundaries, or when the automatic bucketing misrepresents your data’s distribution.

The manual COUNTIF approach makes sense for complex binning logic or when you need to integrate histogram counts into larger calculations.

Whichever method you choose, remember that bucket size selection is where most histogram analysis succeeds or fails. Start with the square root of your data point count as a rough bucket number, then adjust based on what patterns emerge.

Liked this? There's more.

Every week: one practical technique, explained simply, with code you can use immediately.