「売上が月々どれくらい伸びているのか、数字で知りたい」「広告費を1万円増やしたら売上はいくら増えるの?」
こんなふうに、データの変化の勢いを具体的な数値で把握したいときってありますよね。グラフを見ればなんとなくわかるけど、「月あたり何円増えている」と言い切れると説得力が違います。
そんなときに使えるのがSLOPE関数です。この記事では基本の書き方から傾きの読み取り方、INTERCEPT・CORREL・FORECAST関数との連携まで解説します。
SLOPE関数とは?回帰直線の傾きを求める関数
SLOPE関数(読み方: スロープ関数)は、2つのデータセットから回帰直線の傾きを返す統計関数です。「SLOPE」は英語の「slope(傾き・坂)」が由来です。
回帰直線とは、散布図に描かれた点の並びに最もフィットする直線のことです。この直線の傾きがわかると「xが1増えたときに、yがどれだけ変わるか」を数値で把握できます。
たとえば、月ごとの広告費(x)と売上(y)のデータがあるとします。SLOPE関数の結果が「5」なら、広告費を1万円増やすと売上が約5万円増えるという意味です。
SLOPE関数にできることをまとめると、次のとおりです。
- 2つのデータ間の回帰直線の傾きを求める
- データの変化率(xが1増えたときのyの増減量)を数値化する
- INTERCEPT関数と組み合わせて回帰式(y = ax + b)を作る
- CORREL関数で相関を確認したうえで予測に活用する
NOTE
SLOPE関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、動作は同じです。
SLOPE関数の書き方(構文と引数)
基本構文
=SLOPE(データ_y, データ_x)
カッコの中に、傾きを求めたい2つのデータ範囲を指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| データ_y | 必須 | 従属変数のデータ範囲(例: 売上データ) |
| データ_x | 必須 | 独立変数のデータ範囲(例: 広告費データ) |
引数はたった2つだけなのでシンプルですよね。ポイントは yを先、xを後 に指定することです。「結果(y)が先、原因(x)が後」と覚えてください。
WARNING
データ_yとデータ_xのデータ数は同じにしてください。データ数が異なると
#N/Aエラーになります。
TIP
範囲内の文字列・TRUE/FALSE・空白セルは自動的に無視されます。ただし、数値としての「0」は計算の対象になります。
SLOPE関数の基本的な使い方
実際にSLOPE関数を使ってみましょう。
あるお店で6か月分の「広告費(万円)」と「売上(万円)」を記録したとします。
| A列(月) | B列(広告費) | C列(売上) | |
|---|---|---|---|
| 2行目 | 4月 | 10 | 150 |
| 3行目 | 5月 | 15 | 200 |
| 4行目 | 6月 | 20 | 280 |
| 5行目 | 7月 | 25 | 310 |
| 6行目 | 8月 | 30 | 390 |
| 7行目 | 9月 | 35 | 450 |
傾きの値を求める
=SLOPE(C2:C7, B2:B7)
結果は約 12.1 になります。これは「広告費を1万円増やすと、売上が約12.1万円増える」ことを表しています。
傾きの読み取り方
SLOPE関数の結果は正の値にも負の値にもなります。
| 傾きの値 | 意味 | 例 |
|---|---|---|
| 正の値(0より大きい) | xが増えるとyも増える | 広告費↑ → 売上↑ |
| 負の値(0より小さい) | xが増えるとyは減る | 価格↑ → 販売数↓ |
| 0に近い | xが変わってもyはほぼ変わらない | 関連性が薄い |
傾きの絶対値が大きいほど、xの変化に対するyの変化が大きくなります。「12.1」と「2.3」なら、前者のほうがxの影響を強く受けていると判断できますよ。
TIP
ただし、傾きが大きい=相関が強いとは限りません。外れ値が1つあるだけで傾きは大きく変わります。CORREL関数で相関の強さを確認してからSLOPE関数を使うのがおすすめです。
SLOPE関数の実践的な使い方・応用例
売上トレンドの分析
月番号をx、売上をyとして傾きを求めると、月あたりの売上増減がわかります。
| A列(月番号) | B列(売上) | |
|---|---|---|
| 2行目 | 1 | 320 |
| 3行目 | 2 | 345 |
| 4行目 | 3 | 360 |
| 5行目 | 4 | 390 |
| 6行目 | 5 | 410 |
| 7行目 | 6 | 440 |
=SLOPE(B2:B7, A2:A7)
結果は約 23.7 です。「毎月平均で約23.7万円ずつ売上が伸びている」と読み取れます。上司への報告で「売上は月あたり約24万円のペースで成長しています」と言えますね。
INTERCEPT関数と組み合わせて回帰式を作る
SLOPE関数だけでは傾きしかわかりません。INTERCEPT関数と組み合わせると、回帰式が完成します。
回帰式は y = 傾き x x + 切片 です。
=SLOPE(C2:C7, B2:B7) → 約 12.1(傾き)
=INTERCEPT(C2:C7, B2:B7) → 約 28.3(切片)
この回帰式は y = 12.1 x x + 28.3 です。たとえば広告費を40万円(x=40)に増やした場合の売上予測は、12.1 x 40 + 28.3 = 約512万円と計算できます。
FORECAST関数で予測値を直接求める
「回帰式を手で計算するのはめんどう」というときはFORECAST関数が便利です。SLOPE・INTERCEPTの計算を内部で自動的に行い、予測値を直接返してくれます。
=FORECAST(40, C2:C7, B2:B7)
広告費40万円のときの売上予測が一発で出ます。結果は上の回帰式と同じ約512万円です。
TIP
FORECAST関数を使えばSLOPE・INTERCEPTを個別に求めなくても予測ができます。ただし「傾きと切片の値を把握したい」場合はSLOPE・INTERCEPTを使い分けてください。
CORREL関数で相関を確認してからSLOPEを使う
SLOPE関数は「2つのデータに関連がある」前提で傾きを求めます。しかし、関連がないデータでも傾きは計算されてしまいます。
そこで、CORREL関数で先に相関の強さを確認するのがおすすめです。
=CORREL(C2:C7, B2:B7)
相関係数が0.7以上(または-0.7以下)なら相関が強いと判断できます。この場合はSLOPE関数の結果を信頼して予測に使えます。
相関係数が0.3程度の場合、SLOPE関数で傾きは出ますが、予測の精度は低くなります。「データ分析の手順」として覚えておくと便利ですよ。
| ステップ | 使う関数 | 確認すること |
|---|---|---|
| 1. 相関確認 | CORREL関数 | 相関係数が0.7以上か |
| 2. 傾きを求める | SLOPE関数 | xが1増えたときのy変化量 |
| 3. 切片を求める | INTERCEPT関数 | x=0のときのy値 |
| 4. 予測する | FORECAST関数 | 指定したxに対するy予測値 |
よくあるエラーと対処法
#N/Aエラー
SLOPE関数で最もよく見るエラーです。
| 原因 | 対策 |
|---|---|
| データ_yとデータ_xの行数が異なる | セル範囲の行数を揃える |
たとえば =SLOPE(C2:C7, B2:B10) のように行数がずれていると発生します。範囲を確認してください。
#DIV/0!エラー
以下の原因が考えられます。
| 原因 | 対策 |
|---|---|
| 数値データが1つしかない | 2つ以上の数値データを指定する |
| xのデータがすべて同じ値 | データにばらつきがあるか確認する |
xがすべて同じ値だと、傾きを計算するための分母が0になります。データ入力のミスがないか確認してください。
TIP
エラーが表示されると困る場合は、IFERROR関数で囲むとスマートです。
=IFERROR(SLOPE(C2:C7, B2:B7), "データ不足")のように書けます。
INTERCEPT関数との違い・関連する統計関数
INTERCEPT関数との違い
SLOPE関数とペアで使うのがINTERCEPT関数です。
| 項目 | SLOPE | INTERCEPT |
|---|---|---|
| 戻り値 | 回帰直線の傾き(a) | 回帰直線のy切片(b) |
| 意味 | xが1増えたときのy変化量 | x=0のときのyの値 |
| 構文 | =SLOPE(データ_y, データ_x) | =INTERCEPT(データ_y, データ_x) |
| 回帰式 | y = a x x + b | y = a x x + b |
この2つを組み合わせると、回帰式 y = ax + b が完成します。
関連する統計関数の一覧
| 関数 | 説明 | SLOPE関数との関係 |
|---|---|---|
| CORREL関数 | 相関係数を求める | SLOPEの前に相関の強さを確認する |
| INTERCEPT関数 | 回帰直線のy切片 | SLOPEとペアで回帰式を作る |
| FORECAST関数 | 線形予測値を返す | SLOPE+INTERCEPTの計算を一括で行う |
| AVERAGE関数 | 平均値を求める | データの平均値を確認する |
| STDEV関数 | 標準偏差を求める | データのばらつきを確認する |
| RSQ関数 | 決定係数を返す | 回帰直線の当てはまりの良さを数値化する |
まとめ
SLOPE関数は、2つのデータセットから回帰直線の傾きを返す関数です。
この記事のポイント
- 構文は
=SLOPE(データ_y, データ_x)で、yを先・xを後に指定する - 戻り値は傾き(xが1増えたときのy変化量)
- INTERCEPT関数と組み合わせて回帰式 y = ax + b を作れる
- FORECAST関数を使えば予測値を直接計算できる
- 使う前にCORREL関数で相関の強さを確認するのがおすすめ
関連する統計関数
SLOPE関数の使い方がわかったら、以下の関数もあわせて覚えてみてください。データ分析の幅が広がりますよ。
