How to calculate a correlation and its p-value in Google Sheets

CORREL gives you r in one formula. This guide adds what it leaves out: the p-value, the confidence interval, the Spearman version for ranked or skewed data, and how to write it up.

Updated 2026-09-28·3 min read
Quick answer

=CORREL(A2:A21, B2:B21) returns Pearson's r. For the p-value, compute t = r × SQRT((n − 2) / (1 − r²)) and then =T.DIST.2T(ABS(t), n − 2). If p < 0.05, the correlation is statistically significant.

The example data

We use the same 20 students as in the regression guide: hours studied in A2:A21 and exam score in B2:B21. Put r in E1 and n in E2.

Step 1: Pearson's r

=CORREL(A2:A21, B2:B21)

Result: r = 0.951, a very strong positive correlation. =PEARSON(A2:A21, B2:B21) gives the same value. Squaring it gives r² = 0.905, the share of variation the two variables have in common.

Step 2: the p-value

Google Sheets has no function that returns the p-value of a correlation. With r in E1 and =COUNT(A2:A21) in E2:

=T.DIST.2T(ABS(E1*SQRT((E2-2)/(1-E1^2))), E2-2)

Here t = 13.11 with 18 degrees of freedom and p = 1.2 × 10−10 (p < .001).

Step 3: the 95% confidence interval

Use Fisher's z transformation, which Google Sheets provides as FISHER and FISHERINV:

Lower: =FISHERINV(FISHER(E1)-NORM.S.INV(0.975)/SQRT(E2-3))
Upper: =FISHERINV(FISHER(E1)+NORM.S.INV(0.975)/SQRT(E2-3))

Result: 95% CI [0.879, 0.981]. Even the lower bound shows a strong relationship.

Do it in one click with ExplainStats

Select your data, click Run: full results table, assumption checks, a plain-language interpretation and an APA line, free in Google Sheets.

Get ExplainStats free

Spearman's rank correlation

Use Spearman instead of Pearson when the data are ranks or ordinal scores (like a 1–5 scale), when the relationship is monotonic but not straight, or when outliers distort r. There is no Spearman function, so rank each column first:

C2: =RANK.AVG(A2, $A$2:$A$21, 1)
D2: =RANK.AVG(B2, $B$2:$B$21, 1)

Fill both down to row 21, then:

=CORREL(C2:C21, D2:D21)

Result: ρ = 0.954. The third argument 1 ranks in ascending order, and RANK.AVG gives tied values their average rank, which is what Spearman's formula needs. For n of about 10 or more, the p-value formula from Step 2 is a good approximation (here p < .001).

Reading the strength

|r|Usual label
below .10negligible
.10 to .29small
.30 to .49medium
.50 and abovelarge

The sign gives the direction: positive means both go up together, negative means one goes down when the other goes up. Always look at the scatter plot too. A single outlier or a curved pattern can make r misleading.

Correlating many variables at once

Google Sheets has no correlation matrix tool. You can write one CORREL per pair, or use ExplainStats, which builds the full matrix of r values in one step.

How to report it (APA style)

There was a strong positive correlation between hours of study and exam score, r(18) = .95, 95% CI [.88, .98], p < .001.

The number in brackets is the degrees of freedom, n − 2. Leave out the leading zero for r and p, because they cannot be larger than 1.

Frequently asked questions

What is the difference between CORREL and PEARSON?

None. Both return Pearson's correlation coefficient r and give the same result.

Is there a Spearman function in Google Sheets?

No. Rank each variable with RANK.AVG (ascending, with the third argument set to 1) and run CORREL on the two rank columns. The result is Spearman's rho.

What is a strong correlation?

A common rule of thumb (Cohen) is |r| around .10 small, .30 medium and .50 or more large. What counts as strong also depends on your field.

Does a significant correlation mean causation?

No. A correlation shows that two variables move together. A third variable, or a reverse effect, can explain it.

Do it in one click with ExplainStats

Select your data, click Run: full results table, assumption checks, a plain-language interpretation and an APA line, free in Google Sheets.

Get ExplainStats free