What Most People Miss About How to Do Correlation in Excel

Why does your CORREL formula return 0.12 when scatter plots scream 'strong relationship'? Why does the Data Analysis ToolPak show a different p-value than your manual calculation? Why does deleting one row flip your correlation from +0.68 to –0.41?

You’re not missing a setting. You’re missing context — specifically, whether your data meets the assumptions behind each method. And yes, Excel *does* let you compute correlation without checking them first. That’s the problem.

Quick Answer

To do correlation in Excel correctly: use =CORREL(A2:A51,B2:B51) for a quick Pearson r between two columns; install the Analysis ToolPak (File > Options > Add-ins > Go > check 'Analysis ToolPak') for full output including p-values and covariance; and always plot your data first — because correlation ≠ linearity, and Excel won’t warn you if your relationship is curved or contaminated by an outlier.

All the Methods

Method Time for 10K rows Accuracy Difficulty Best For Limitations
=CORREL(array1,array2) 0.02 sec High (Pearson only) Easy Two clean numeric columns Ignores missing pairs; no p-value; assumes linearity
Data Analysis ToolPak → Correlation 1.8 sec High (matrix output) Medium 3+ variables, quick matrix view No p-values per pair; treats blanks as zeros unless deleted
=PEARSON() or =RSQ() 0.03 sec Identical to CORREL Easy Same as CORREL — just legacy synonyms No functional difference; RSQ returns r², not r
Manual t-test for significance ~2 min setup Highest (customizable) Hard Publishable reports, audit trails Requires DF calc, T.INV.2T(), and careful array handling

Method 1 Deep Dive

Let’s walk through =CORREL() with real sales data. You’ve got 50 reps’ monthly quotas vs. actuals:

  • A1: "Rep Name" → A2:A51: "Sarah Chen", "Diego Mendoza", "Aisha Patel", etc.
  • B1: "Quota ($)", B2:B51: $32,500, $41,200, $28,900…
  • C1: "Actual ($)", C2:C51: $35,100, $39,800, $31,200…

Type this in cell E2: =CORREL(B2:B51,C2:C51). Hit Enter. You get 0.732. Solid positive correlation — but hold on.

Now highlight B1:C51 and insert a scatter plot (Alt + N + S + P). Look closely at the bottom right. See that dot way out at ($68,000 quota, $22,400 actual)? That’s Rep #47 — they got reassigned mid-month and missed training. It’s an outlier. Delete row 47, recalculate: =CORREL(B2:B50,C2:C50) becomes 0.891. Big jump.

This is what most people miss: CORREL doesn’t flag outliers. It just computes. And worse — if any cell in B2:B51 or C2:C51 is blank or text, CORREL skips *the entire pair*. So if B32 is blank but C32 has $42,100, both values are ignored. That’s why your sample size drops silently. Always check =COUNT(B2:B51) and =COUNT(C2:C51) — they must match.

Pro tip: Wrap CORREL in IFERROR to catch mismatches early: =IFERROR(CORREL(B2:B51,C2:C51),"Check blanks").

Method 2 Deep Dive

The Data Analysis ToolPak gives you a correlation matrix — super useful when comparing more than two variables. Let’s add two more columns:

  • D1: "Tenure (months)", D2:D51: 14, 32, 8…
  • E1: "Training Hours", E2:E51: 12.5, 24.0, 8.0…

Go to Data tab → Data Analysis → Correlation → OK. In Input Range, select $B$1:$E$51. Check “Labels in first row”. Output Range: $G$1. Click OK.

You’ll get a 4×4 table starting at G1. Row headers: Quota, Actual, Tenure, Training. Column headers same. Cell H2 shows correlation between Quota & Actual (0.732 — matches our earlier result). Cell I2 shows Quota vs. Tenure (–0.11), meaning longer-tenured reps aren’t hitting higher quotas — possibly worth investigating.

Here’s the surprise: the ToolPak ignores *entire rows* with any blank or non-numeric cell. So if D12 is blank (Tenure missing), that whole row — Quota, Actual, *and* Training — gets dropped from all calculations. That’s why your matrix might shrink from 50 rows to 43 without warning. To verify, compare =COUNTA(B2:B51), =COUNTA(D2:D51), and =COUNTA(E2:E51). The smallest count tells you your effective N.

Keyboard shortcut to open Data Analysis fast: Alt + A + Y + C. (Alt → Data → Analysis → Correlation). Yes, it’s buried — but once memorized, it saves 8 clicks.

And here’s what nobody tells you: the ToolPak’s correlation matrix uses *Pearson*, but it doesn’t test significance. So a 0.31 between Tenure and Training might look meaningful — until you realize n=43 gives a critical r of ±0.30 at α=0.05. That value is *not significant*. You need extra steps to know.

Cheat Sheet

Task Formula / Action Shortcut Notes
Calculate r between two columns =CORREL(B2:B51,C2:C51) None Ensure equal counts — use COUNT() to verify
Open Data Analysis Data tab → Data Analysis Alt + A + Y + C Only works if ToolPak is installed
Check for hidden blanks =COUNT(B2:B51)=COUNT(C2:C51) Ctrl + ~ to toggle formulas Returns TRUE only if both columns have identical non-blank counts
Flag outliers visually Insert → Scatter Plot (Alt + N + S + P) Right-click axis → Format Axis → set bounds manually Zoom in on extremes — don’t rely on automatic scaling
Get r² instead of r =RSQ(C2:C51,B2:B51) None Returns proportion of variance explained — e.g., 0.65 means 65% of Actual variation ties to Quota
Test significance manually =T.INV.2T(0.05,SQRT((COUNT(B2:B51)-2)/(1-CORREL(B2:B51,C2:C51)^2))) Paste into adjacent cell — then compare absolute r to result If |r| > output, correlation is significant at α=0.05
Rachel Torres

Rachel Torres

Rachel coaches teams on email management and digital communication best practices. She has trained over 5