How to plot a normal distribution curve in Excel
A normal curve (also called a bell curve) shows how data spreads around an average. In Excel, you create one by calculating the probability for each point along a range, then plotting those points as a line chart. The curve sits on top of a histogram of your actual data, or stands alone to show what a perfect normal distribution looks like.
The process takes three steps: calculate the mean and standard deviation of your data, use the NORM.DIST function to find the probability density at each point, then chart the results. You do not need add-ins or macros — the built-in functions handle the math.
Key Takeaways
- Use AVERAGE and STDEV functions to find the mean and standard deviation of your data, which the normal curve formula requires.
- The NORM.DIST function calculates the height of the curve at each point; set the fourth argument to FALSE to get the probability density needed for charting.
- Create a helper column with values ranging from roughly three standard deviations below the mean to three above, then calculate NORM.DIST for each one.
- Plot the helper column values on the x-axis and the NORM.DIST results on the y-axis as an XY Scatter chart with a smooth line.
Setting up your data and calculating mean and standard deviation
Start with your raw data in a single column — test scores, heights, response times, whatever you are measuring. In a blank area of your spreadsheet, calculate two numbers: the mean (average) and the standard deviation (how spread out the data is). In Excel, use =AVERAGE(A2:A100) for the mean and =STDEV(A2:A100) for the standard deviation, replacing A2:A100 with your actual data range.
Write these formulas in separate cells and label them clearly. For example, put "Mean" in cell C2 and the AVERAGE formula in D2, then "Std Dev" in C3 and the STDEV formula in D3. You will reference these cells in the next step, so knowing exactly where they are matters.
If your data includes text, blank cells, or errors, AVERAGE and STDEV ignore them automatically. If you have a very small dataset (fewer than 30 values), the curve will look rougher, but the method still works.
Creating the x-axis values for your curve
The normal curve needs points spread across the range where your data actually falls. Create a helper column with values starting about three standard deviations below the mean and ending about three standard deviations above it. This range captures 99.7 percent of a normal distribution, which is enough to show the full shape.
In column E, starting at E2, enter your first value as a formula: =D3*-3+D2 (this is three standard deviations below the mean). In E3, enter =E2+0.1 (or 0.2 for a faster calculation). Then select E3 and drag down until you reach a value around three standard deviations above the mean (roughly =D3*3+D2). You now have a column of evenly spaced x-axis points.
The step size (0.1 or 0.2) controls how smooth your curve looks. Smaller steps mean more points and a smoother line; larger steps calculate faster but look choppier. For most purposes, 0.1 works well.
Calculating the normal distribution values with NORM.DIST
Next to your x-axis column, create a column for the curve heights. In column F, starting at F2, enter the formula =NORM.DIST(E2,$D$2,$D$3,FALSE). This tells Excel to calculate the normal distribution at the point in E2, using the mean in D2 and standard deviation in D3. The FALSE argument returns the probability density (the height of the curve), not the cumulative probability.
The dollar signs ($D$2 and $D$3) lock those cell references so they do not change when you copy the formula down. Copy this formula down the entire column F to match your x-axis values in column E. You now have pairs of x and y coordinates that define your normal curve.
If your curve looks flat or wrong, check that your mean and standard deviation formulas are correct. A common mistake is using STDEV.P (population standard deviation) instead of STDEV (sample standard deviation) — use STDEV unless you are certain your data is the entire population, not a sample.
Charting the normal curve
Select both columns E and F (the x-axis values and the NORM.DIST results). Go to the Insert tab, click Chart, and choose XY (Scatter). Select the option that shows points connected by smooth lines, not just dots. Excel will plot your normal curve automatically.
Right-click the chart and choose "Select Data" if you need to adjust which columns are plotted. The x-axis should be your helper column (E) and the y-axis should be your NORM.DIST results (F). If they are reversed, click "Switch Row/Column" in the Select Data dialog.
To add a title, click the chart, go to Chart Design, and click "Add Chart Element" then "Chart Title". To remove the legend (you only have one series), right-click it and delete it. Adjust the axis labels and gridlines to match your preference.
Overlaying the curve on a histogram of your actual data
If you want to see how your real data compares to a perfect normal distribution, create a histogram of your original data first. In Excel 2016 and later, select your data column, go to Insert, and click "Histogram". This creates a chart with bins showing how many values fall in each range.
Then create your normal curve chart separately using the method above. To combine them, you would need to use a more advanced approach: create the histogram, then add a secondary axis and plot the normal curve on top. This requires right-clicking the normal curve series, choosing "Format Data Series", and selecting "Secondary Axis". The histogram bars will stay on the left axis and the curve will use the right axis.
For most purposes, showing the normal curve alone is clearer than overlaying it on a histogram, because the scales often do not match well. A histogram shows counts (how many values), while the normal curve shows probability density (how likely each value is). If you need both on one chart, consider creating them side by side instead.
Troubleshooting common problems
If your curve looks like a flat line, check that you used FALSE in the NORM.DIST function, not TRUE. TRUE returns cumulative probability, which creates a different shape. Also verify that your standard deviation is not zero — if all your data is identical, STDEV returns 0 and the formula breaks.
If the curve is very tall and narrow or very short and wide, your x-axis range may be wrong. Make sure your helper column spans from at least three standard deviations below the mean to three above. If your data has extreme outliers, you may need to extend this range further.
If the chart does not update when you change your data, click the chart and press F9 to recalculate. If you added new data to your original column, update the AVERAGE and STDEV formulas to include the new rows, and extend your helper column and NORM.DIST formulas down as well.
Frequently Asked Questions
What is the difference between NORM.DIST with TRUE and FALSE?
FALSE returns probability density, which is the height of the curve at each point — this is what you need for charting. TRUE returns cumulative probability, which shows the percentage of data below that point. For a normal curve chart, always use FALSE.
Can I create a normal curve without calculating mean and standard deviation myself?
No, NORM.DIST requires both values as inputs. However, you can put the AVERAGE and STDEV formulas directly into NORM.DIST if you prefer: =NORM.DIST(E2,AVERAGE($A$2:$A$100),STDEV($A$2:$A$100),FALSE). This works but is harder to read and slower to calculate.
Why does my normal curve look bumpy instead of smooth?
Your helper column step size is too large. Change the increment from 0.2 to 0.1, or from 0.1 to 0.05. More points create a smoother line. You can also right-click the curve in the chart, choose "Format Data Series", and increase the line width to make small bumps less visible.
How do I add a second normal curve to compare two datasets?
Create a second helper column and second NORM.DIST column using the mean and standard deviation of your second dataset. Then add this data to your chart by right-clicking it, selecting "Select Data", and clicking "Add" to add a new series. Both curves will plot on the same chart.
What if my data is not normally distributed — should I still use this?
Yes. Plotting a normal curve alongside your data is a way to see how far your data deviates from normal. If the curve does not match your histogram, your data is skewed or has other patterns. This is useful information for deciding which statistical tests to use.