
Find the rate of change in a linear relationship between two numeric lists.
SLOPE returns the rate of change between two numeric lists by fitting a straight trend line through the data. In plain language, it answers this question: when X goes up by 1, how much does Y usually go up or down?
That makes it useful when you care about the size of the change, not just whether two things are related. For example, if X is ad spend and Y is sales, SLOPE helps answer, "How much extra sales do we usually get for each extra dollar of spend?" If X is training hours and Y is error count, it helps answer, "How much do errors usually change for each extra hour of training?"
You can read the result as a simple per-unit change. If the slope is 2, Y tends to increase by 2 when X increases by 1. If the slope is -3, Y tends to decrease by 3 when X increases by 1. When the result is close to 0, it usually means Y is not changing much as X changes.
Suppose your X values are hours studied and your Y values are test scores. If =SLOPE(score_range, hours_range) returns 4.5, the trend line says scores rise by about 4.5 points for each additional hour studied. It does not mean every single student improves by exactly 4.5 points. It is a summary of the overall linear pattern in the data.
SLOPE is best thought of as a way to describe how steep the fitted line is across paired data. It does not measure relationship strength like CORREL, and it does not directly predict a future value like FORECAST.LINEAR. It simply tells you how much Y tends to change for each 1-unit increase in X.
Shows how much Y changes on average for each 1-unit increase in X.
Returns a positive or negative number that represents the rate of change.
=SLOPE(known_y's, known_x's)
The order matters here. Put the dependent values first in known_y's, then put the independent values in known_x's. If you reverse them, the result answers a different question.
| Function | Main use | Best when |
|---|---|---|
SLOPE |
Rate of change | You want to know how much Y changes for each 1-unit change in X. |
CORREL |
Relationship strength | You want to know how strongly two lists move together. |
INTERCEPT |
Starting point | You want the predicted Y value when X is 0. |
FORECAST.LINEAR |
Prediction | You want to estimate a future or missing value from a linear trend. |
SLOPE and CORREL are easy to mix up. CORREL tells you how strongly two lists are related, while SLOPE tells you the size of the change along the fitted line.
This function is useful when a per-unit rate is more important than the raw totals. If the slope is 2.5, that means the fitted line increases by 2.5 units in Y for every 1 unit increase in X. If the slope is negative, Y tends to fall as X rises.
Microsoft notes that text, logical values, and blank cells inside referenced ranges are ignored, while zero values are included. If the known Y and known X ranges are empty or have different numbers of data points, Excel returns #N/A. When the calculation cannot determine a slope, Excel can also return #DIV/0!.
In this example, the X values are the spending amounts and the Y values are the sales results. The goal is to understand how sales tend to respond as spending increases. Instead of only comparing the first and last row by eye, SLOPE looks at the full set of paired values and fits a straight trend line through them.
If the result is positive, it means higher spending is generally associated with higher sales. A result such as 2.5 would mean sales tend to rise by about 2.5 units for each extra 1 unit of spend. That makes this kind of example useful when someone asks for the average return per unit, not just whether the numbers are going up.
=SLOPE(D1:D3,B1:B3) // Returns the sales change per 1 unit of spend.
Find the slope between the sales and spend lists.
This example uses training hours as X and error counts as Y. That setup matters because we are asking how errors change as training increases. In many real situations, more training should lead to fewer mistakes, so this is a good case for seeing what a negative slope looks like in practice.
If the formula returns a negative number, it means the fitted line slopes downward. A result like -0.2 would mean errors tend to drop by 0.2 for each additional hour of training. The value does not promise that every single row follows the pattern perfectly, but it does summarize the overall direction and rate of change in the dataset.
=SLOPE(D1:D3,B1:B3) // Returns a negative slope when more training lines up with fewer errors.
Find the slope of the identical typed arrays.
Here the X values are temperatures and the Y values are utility bills. This kind of example is practical because it turns a vague trend into a usable number. Instead of saying "the bill seems to rise when the weather gets hotter," you can measure how much the bill tends to increase for each additional degree.
If the result is 5, that means the bill rises by about 5 currency units for every 1-degree increase in temperature. That kind of interpretation is often more useful in planning discussions, because it gives a simple per-unit estimate instead of just a visual impression from the data.
=SLOPE(D1:D3,B1:B3) // Returns the bill increase per degree.
Check how much sales change for each degree.
In this example, spending is again the X input, but now the Y values represent users instead of sales. The question is no longer about revenue. It is about growth efficiency: how many users tend to be added as spending increases. That makes the slope a quick way to summarize how fast the business is scaling relative to its input.
If the formula returns 0.15, it means each additional 1 unit of spend is associated with about 0.15 more users on the fitted line. This kind of result is helpful when you want to compare campaigns, channels, or periods and explain the trend as a clear rate instead of a raw table of numbers.
=SLOPE(D1:D3,B1:B3) // Returns the user increase per spend unit.
Measure how errors change as training hours increase.
SLOPE helps turn paired data into a simple rate of change. In this post, the main idea is that the function tells you how much Y tends to change when X increases by 1. The syntax is short, but the order matters because Y must come first and X must come second.
The examples all use that same idea in different situations, such as spend and sales, training and errors, or temperature and bills. No matter the scenario, you read the result the same way: it shows the direction and size of the change along the fitted line. If you remember the argument order and read the answer as a per-unit change, you already have the main idea of SLOPE.
SLOPE returns the rate of change of a linear regression line.Tell your friends about this post