Back to Blog

Statistical Distributions and Hypothesis Testing in Google Sheets

Go beyond AVERAGE and STDEV — learn NORM.DIST, T.TEST, CHISQ.TEST, CORREL, and confidence intervals to run real statistical analysis in Google Sheets.

Jul 24th, 2026SheetFX

Statistical Distributions and Hypothesis Testing in Google Sheets

July 24th, 2026

Most of the statistics you need for real decisions — is this A/B test result real, how spread out are these scores, what's a reasonable forecast for next month — fit in a handful of Sheets functions. This walks through them together, using one running dataset: 200 test scores, a two-variant conversion experiment, and a small survey.

The normal distribution: NORM.DIST and NORM.INV

Say column A (A2:A201) holds 200 exam scores with a mean of 72 and a standard deviation of 9. NORM.DIST answers "what fraction of scores fall below this point," assuming a normal curve:

=NORM.DIST(85, 72, 9, TRUE)

This returns roughly 0.9247 — about 92.5% of students are expected to score below 85, so a score of 85 sits comfortably in the top decile.

NORM.INV runs the calculation in reverse: given a percentile, find the score. If you want the cutoff for the top 10% of students:

=NORM.INV(0.9, 72, 9)

That returns about 83.5 — anyone scoring above that is in the top 10%, assuming the normal approximation holds. Pairing these two lets you move freely between "what score is this rank" and "what rank is this score" without touching a z-table.

Comparing two samples: T.TEST

Now the A/B test. Variant A converted 40 out of 500 visitors on different days sampled as daily rates in B2:B31; variant B's daily rates are in C2:C31. T.TEST tells you whether the difference in means is likely real or just noise:

=T.TEST(B2:B31, C2:C31, 2, 3)

The 2 requests a two-tailed test (you don't know in advance which variant will win), and 3 treats the samples as two independent groups with unequal variance — the safe default for A/B tests where you can't assume both variants behave identically. The result is a p-value: below 0.05 and you can call the difference statistically significant at the conventional threshold; above it, and the observed lift could plausibly be random variation.

=T.TEST(B2:B31, C2:C31, 2, 1)

Use type = 1 instead only when the two columns are paired observations — the same day, same users, before and after — not independent groups.

Categorical data: CHISQ.TEST

Suppose a survey asks users to pick a favorite of three plan tiers, and you want to know if the observed split differs from an expected even split. Put the observed counts in A2:A4 (say 120, 95, 85) and the expected counts in B2:B4 (100, 100, 100 if you expected an even 300-response split). CHISQ.TEST returns the p-value for that comparison:

=CHISQ.TEST(A2:A4, B2:B4)

A small p-value (say 0.03) means the tiers are not chosen evenly — tier one is meaningfully more popular than chance would predict. This same pattern extends to any goodness-of-fit or independence question: observed frequencies in one range, expected in another, one formula for the verdict.

Linear relationships: CORREL

Back to the exam data — suppose column B (B2:B201) holds hours studied per student, and you want to know if more study time tracks with higher scores. CORREL computes Pearson's r:

=CORREL(A2:A201, B2:B201)

A result like 0.68 indicates a fairly strong positive relationship: students who studied more tended to score higher. Values close to 0 mean no linear relationship; close to -1 means a strong inverse one. CORREL doesn't prove causation, but it's the fastest way to screen dozens of candidate variables before building a full regression.

Summarizing a distribution: PERCENTILE and QUARTILE

For the same 200 exam scores, PERCENTILE pulls out any cut point:

=PERCENTILE(A2:A201, 0.9)

That's the 90th-percentile score — useful for "what score do you need to be in the top 10%" without assuming a normal distribution the way NORM.INV does. QUARTILE is the same idea restricted to the four standard quarters:

=QUARTILE(A2:A201, 1)
=QUARTILE(A2:A201, 3)

Those give the 25th and 75th percentiles — subtract one from the other and you have the interquartile range, a spread measure that ignores outliers, unlike standard deviation.

Measuring spread: VAR and STDEV

Speaking of standard deviation — STDEV and VAR quantify how spread out the scores are around their mean:

=STDEV(A2:A201)
=VAR(A2:A201)

If STDEV returns 9.1, that confirms the assumption used in the NORM.DIST examples above. A small STDEV means scores cluster tightly around the mean; a large one means wide variation, which changes how much you should trust any single score as representative.

Confidence intervals: CONFIDENCE

If those 200 scores are actually a sample standing in for a much larger population of students, you don't just want the sample mean — you want a margin of error around it. CONFIDENCE gives the half-width of that interval:

=CONFIDENCE(0.05, 9, 200)

With alpha 0.05 (a 95% confidence level), standard deviation 9, and sample size 200, this returns about 1.25. So the true population mean is likely within 72 ± 1.25, or roughly 70.75 to 73.25. Smaller alpha (say 0.01 for 99% confidence) widens the interval; a larger sample size narrows it.

Predicting values: LINEST and FORECAST

Finally, suppose you're tracking monthly signups over the last 12 months (A2:A13 = month index 1–12, B2:B13 = signup counts) and want a simple trend line. LINEST returns the slope and intercept of the best-fit line:

=LINEST(B2:B13, A2:A13)

If that returns {45, 310}, signups are growing by about 45 per month starting from a baseline of 310. FORECAST applies that same regression directly to predict a future point without extracting the coefficients yourself:

=FORECAST(15, B2:B13, A2:A13)

That estimates signups for month 15 — three months past your last data point — by extending the fitted line. Both functions assume the relationship is roughly linear; if a scatter plot of the data curves noticeably, treat the forecast as a rough guide rather than a precise prediction.

Putting it together

None of these functions require a statistics background to use correctly, but they do require matching the right tool to the question. NORM.DIST and NORM.INV answer questions about where a value falls in a known distribution. T.TEST and CHISQ.TEST answer whether an observed difference is real. CORREL, PERCENTILE, QUARTILE, VAR, and STDEV describe a dataset you already have. CONFIDENCE and FORECAST extend a sample or a trend into a statement about what you don't yet know. Used together on the same dataset, they turn a spreadsheet of raw numbers into an actual analysis.

Related functions

Newsletter

Get weekly Sheets tips in your inbox.

Short, practical Google Sheets and Apps Script updates — no noise, just formulas that work.