「売上の増えるペースを数値で表したい」「広告費を1万円増やすと売上はどれくらい伸びるのか知りたい」――そんな場面で力を発揮するのが SLOPE関数 です。グラフを描かなくても、データの「変化のスピード」を数値ひとつで把握できる、地味だけれど分析実務で重宝する関数です。
SLOPE関数は2つのデータ系列(xとy)から、最小二乗法で導かれる回帰直線 y = ax + b のうち 傾き a を返します。「xが1増えるとyがどれだけ変わるか」を一発で計算してくれるので、トレンドの定量化や、売上・コストの予測モデルに欠かせません。
この記事では、SLOPE関数の基本構文・引数のクセ・INTERCEPTやTRENDなど関連関数との使い分け、実務でそのまま使える応用例、よくあるエラーの直し方、そしてFAQまで一気通貫で解説します。「Excelで回帰分析」という言葉に身構えてしまう方も、最後まで読めば自分の業務データにすぐ当てはめられるようになります。
SLOPE関数とは?
読み方と語源
「スロープ関数」と読みます。SLOPE は英語で「傾き」「斜面」を意味する単語で、まさに回帰直線の傾き(y/x 方向の変化率)を返す関数です。
できること
2つのデータ系列(x:原因の変数、y:結果の変数)を渡すと、最小二乗法で誤差が最小になるように引いた回帰直線の傾きを返します。
回帰直線は次の式で表されます。
y = a * x + b
このうち SLOPE関数は a(傾き) を計算します。切片 b は INTERCEPT関数で求めます。両方を組み合わせれば、xに新しい値を入れたときのyの予測値を1セルの数式で算出できるようになります。
代表的なユースケースは次のとおりです。
- 売上と広告費の関係を「広告費1万円あたり○万円増える」と定量化する
- 気温と電気使用量の相関を見て、季節需要を数値で押さえる
- 時系列データの増加・減少ペースを数値化して、ダッシュボードに載せる
- コストと生産量の関係から、変動費の係数を割り出す
「散布図に近似直線を引いて雰囲気で見る」段階から一歩進めて、数式に落とし込むためのとっかかりとして覚えておくと便利です。
SLOPE関数の書き方
基本構文
=SLOPE( 既知のy, 既知のx )
ポイントは yが先、xが後 の順番です。「結果(y)を、原因(x)でどれだけ説明できるか」を計算しているので、原因と結果の向きを取り違えると意味のない数値が出てきます。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 既知のy | 必須 | 従属変数(結果の値)のデータ範囲。例:売上、電力使用量、来店客数など |
| 既知のx | 必須 | 独立変数(原因の値)のデータ範囲。例:広告費、気温、月番号など |
引数のクセと注意点
- 両方の引数のデータ個数が 同じ数 である必要があります。行数がずれていると
#N/Aエラーになります。 - 文字列・論理値・空白セルは無視されます。両方の範囲のうち、対応するペアがどちらも数値のときだけ計算に使われます。
- 数値の
0はちゃんと計算に含まれます。「0は無視されそう」というイメージで除外しないように注意してください。 - xの値が全部同じ(例:すべて10)だと、分散が0になるので
#DIV/0!エラーが出ます。SLOPE は「xが変わったときにyがどれだけ変わるか」を計算しているので、xに変化がないと意味をなしません。 - 範囲には縦方向(列)でも横方向(行)でも指定できますが、yとxは 同じ向き に揃えるとミスを防げます。
基本的な使い方
実際の数字で SLOPE がどう動くかを確認してみましょう。
例1:売上と広告費の回帰直線の傾きを求める
| 行 | A列(広告費 万円) | B列(売上 万円) |
|---|---|---|
| 2 | 10 | 120 |
| 3 | 15 | 150 |
| 4 | 20 | 180 |
| 5 | 25 | 210 |
| 6 | 30 | 250 |
このデータに対して、次の数式を入力します。
=SLOPE(B2:B6, A2:A6)
結果は 約 6.4 になります。これは「広告費が1万円増えると、売上が約6.4万円増える」ことを意味します。広告投資の費用対効果(ROAS)を語るときに、感覚ではなく数字で説明できるのが SLOPE の強みです。
傾きの値は、必ず「yの変化量 ÷ xの変化量」というスケール感覚と一緒に確認するクセをつけると、桁違いのミスを防げます。元データの広告費が5万円刻みで増えているのに対し、売上は30万円ずつ増えているため、傾きとしては 30/5 ≒ 6 付近に落ち着く、と読めていれば計算結果に納得感が持てるはずです。
例2:月次売上の時系列トレンドを求める
月を 1〜12 の連番で表し、売上との傾きを求めると、月あたりの平均増加額がわかります。
=SLOPE(B2:B13, A2:A13)
- 傾きが正:売上は 増加トレンド
- 傾きが負:売上は 減少トレンド
- 傾きがほぼ0:横ばい
「先月より落ちた・上がった」という瞬間値ではなく、12か月間ならしてどう動いたか を1つの数値で語れるのが、時系列分析でのSLOPEの便利なところです。
例3:気温と来店客数の関係
| 日 | A列(最高気温 ℃) | B列(来店客数) |
|---|---|---|
| 1 | 18 | 80 |
| 2 | 22 | 95 |
| 3 | 25 | 110 |
| 4 | 28 | 120 |
| 5 | 33 | 140 |
=SLOPE(B2:B6, A2:A6)
結果は約 4 になり、「気温が1℃上がると、来店客数が約4人増える」と読めます。アイスや飲料の販売予測、エアコンの稼働計画など、季節要因の影響を数式で扱えるようになります。
INTERCEPT関数との組み合わせで予測式を作る
SLOPE関数は傾き(a)だけを返しますが、切片(b)は INTERCEPT関数 で求めます。両方そろうと、xに新しい値を入れたときの y の予測値が計算できる「予測式」が完成します。
a = SLOPE(B2:B10, A2:A10)
b = INTERCEPT(B2:B10, A2:A10)
→ y = a * x + b
予測値を1セルにまとめてしまうなら、こう書くとシンプルです。
=SLOPE(B2:B10, A2:A10) * 新しいx + INTERCEPT(B2:B10, A2:A10)
たとえば広告費を 35 万円にしたときの売上予測なら、次のようになります。
=SLOPE(B2:B6, A2:A6) * 35 + INTERCEPT(B2:B6, A2:A6)
「傾きと切片を別セルで持つ」「予測値だけ別シートで動的に変える」という設計にしておくと、後から数字をいじっても自動で予測が更新されるダッシュボードを作れます。
実務での活用例
活用例1:売上予測モデルの構築
過去の月別売上から傾きと切片を求め、来月以降の売上を予測する基本パターンです。
A列: 月番号(1, 2, 3...12)
B列: 実績売上
傾き = SLOPE(B2:B13, A2:A13)
切片 = INTERCEPT(B2:B13, A2:A13)
来月(13月目)の予測 = 傾き * 13 + 切片
実際には季節要因や販促タイミングが効くため、これだけで決算予測ができるわけではありません。ただ、「素のトレンドだけだといくらか」 をベースラインとして持っておくと、施策の効果を切り分けやすくなります。
活用例2:コストドライバー分析(変動費と固定費の分離)
「総コスト = 変動費単価 × 生産量 + 固定費」という考え方は、SLOPE と INTERCEPT にそのまま対応します。
A列: 生産量
B列: 総コスト
変動費単価 = SLOPE(B2:B13, A2:A13)
固定費 = INTERCEPT(B2:B13, A2:A13)
複数の費用項目について SLOPE を計算して並べると、「どの費用が一番生産量に比例するか」が見え、原価管理やキャパシティ計画の議論にそのまま使えます。
活用例3:散布図とSLOPEの併用
ExcelやGoogleスプレッドシートのグラフ機能で散布図を作り、近似曲線(線形)を追加すると、グラフ上にも回帰直線が引けます。一方、SLOPE と INTERCEPT で 数式として 傾き・切片を持っておくと、
- 数値で根拠資料に書ける
- 別のセルから参照して条件付き書式や予測表に連動できる
- 異なる期間・店舗のSLOPEを並べて比較できる
という強みがあります。「グラフはプレゼン用、数式は資料の裏付け用」と役割を分けると、説明資料の説得力がぐっと上がります。
活用例4:KPIダッシュボードでのトレンド表示
ダッシュボードに「直近12週のSLOPE」のような列を作っておくと、
- 数値が増加トレンドの店舗は緑
- 横ばいは黄
- 減少傾向は赤
といった条件付き書式と組み合わせて、変化のスピードベースのアラートが作れます。「先週比だけ」では見落とす中期トレンドを拾えるようになります。
関連関数との使い分け
SLOPE のまわりには似た用途の関数がいくつかあります。違いを表で押さえておきましょう。
| 関数 | 返す値 | 使いどころ |
|---|---|---|
| SLOPE | 回帰直線の傾き(a) | 変化率・増加率を1つの数値で取りたい |
| INTERCEPT | 回帰直線の切片(b) | SLOPEと組み合わせて予測式を作る |
| LINEST | 傾き・切片・統計情報の配列 | 詳細な回帰統計(決定係数や標準誤差)をまとめて取得したい |
| TREND | 回帰直線上のy値の予測配列 | 既存データに対する予測値を一括で出したい |
| FORECAST.LINEAR | 特定xに対するyの予測値 | 「来月だけ」のように1点を予測したい |
| RSQ | 決定係数(R²) | 回帰の当てはまり度合いを確認したい |
| GROWTH | 指数回帰の予測値 | 指数的に伸びるデータ(複利的成長)を扱いたい |
使い分けの目安:
- 傾きだけ知りたい → SLOPE
- 予測値も欲しい → SLOPE + INTERCEPT か TREND / FORECAST.LINEAR
- 詳細な統計量(R²・標準誤差・F値)が必要 → LINEST
- 当てはまりの良さを別に確認したい → RSQ
- 直線ではなく曲線(指数的)で予測したい → GROWTH
SLOPE は「軽くてシンプル」が長所です。本格的な回帰分析が必要になったら LINEST や分析ツールアドインに乗り換える、というのが現実的なステップアップ経路です。
よくあるエラーと対処法
| エラー | 原因 | 対処法 |
|---|---|---|
#N/A | xとyのデータ個数が違う / 範囲がずれている | 両方の範囲の行数(または列数)をそろえる |
#DIV/0! | xの値がすべて同じ(分散=0) | xに変化のあるデータを使う。1点しかないデータでは計算できない |
#VALUE! | 範囲に文字列や論理値だけが含まれている | 範囲を数値のみに変更する。テキスト形式の数値は数値に変換 |
| 結果が0や極端な値 | 単位・桁が合っていない / 外れ値の影響 | 単位を揃え、極端な外れ値は別の表で除外検証する |
| 傾きの符号が想定と逆 | yとxの順番を逆にしている | =SLOPE(y, x) の順を再確認する |
特に 「yとxの順番を取り違える」 は、SLOPE関数で最も多いミスです。=SLOPE(売上, 広告費) のように、求めたい変化対象(y)を先に書く、と覚えておきましょう。
SLOPE関数を使う前のデータ準備のコツ
回帰分析の結果は、入力データの素直さに大きく依存します。SLOPE を使う前に、次の点をチェックしておくと精度が上がります。
- 外れ値を確認する:1点だけ極端な値があると、傾きが大きく引っ張られます。グラフで散布図を描いて、明らかにおかしい点を除外できないか検討します。
- 対象期間をそろえる:x(例:月)とy(例:売上)の期間が一致しているか、欠損月がないかを確認します。
- 0や空白の扱いを決める:「営業日数0の月」など特殊な期間は、計算に含めるか別途集計するかを決めておきます。
- 単位を統一する:千円と万円が混在していると、傾きの解釈がぶれます。
- 線形に近いか散布図で確認する:曲がっているデータに無理やり直線を当てると、SLOPE の値は出ても意味が薄くなります。
「数式は短いが、前処理で勝負が決まる」――これは SLOPE に限らず、回帰分析全般に共通する大原則です。
よくある質問(FAQ)
Q1. SLOPE関数の結果がマイナスになりました。これは異常ですか?
異常ではありません。マイナスは「xが増えるとyが減る(負の相関)」を示しています。たとえば「気温が下がるとアイスの売上が減る」を逆から見れば「気温が上がるとアイスの売上が増える(正)」、「割引率が高いほど在庫が早く減る」は負の傾きになることもあります。符号は相関の向きを表しているだけ で、エラーではありません。
Q2. SLOPEとTREND関数の違いは何ですか?
SLOPEは 傾きという1つの数値 を返すのに対し、TRENDは 既存データのxに対する予測y値(配列) を返します。「変化率を1つだけ把握したい」ならSLOPE、「予測値を表で並べたい」ならTREND、と使い分けます。実務では、SLOPE+INTERCEPTで予測式を組むより、TRENDで配列をまとめて出した方が早いケースも多いです。
Q3. SLOPEとFORECAST.LINEARはどう使い分ければよいですか?
両者は計算ロジックが同じ最小二乗法ですが、返す値が違います。SLOPEは「傾き」、FORECAST.LINEARは「特定のxに対する予測y」 を返します。「来月の売上を1点だけ予測したい」ならFORECAST.LINEAR、「変化率そのものをKPIにしたい」ならSLOPE、と覚えておくと迷いません。
Q4. データが少なくても使えますか?最低何点必要ですか?
数学的には2点あれば直線は引けますが、それでは「ただの2点を結ぶ線」になり、回帰分析としての意味はほぼありません。実務的には 最低でも5〜10点、できれば12〜24点 はほしいところです。月次なら1〜2年、週次なら半年〜1年が目安です。点数が少ないと、外れ値1つで傾きが大きくブレます。
Q5. SLOPEで求めた傾きが「信頼できる」かどうかは判断できますか?
SLOPE単体では信頼性まではわかりません。RSQ関数で決定係数 R² を求め、1に近いほど「直線で説明できている」ことを確認します。R²が小さい(例えば 0.3 未満)場合は、そもそも線形回帰では説明しきれないデータかもしれません。LINEST関数で標準誤差を取り、誤差幅も合わせて評価するとより堅牢です。
Q6. SLOPEはGoogleスプレッドシートでも同じように使えますか?
はい、同じ構文 =SLOPE(既知のy, 既知のx) でそのまま使えます。挙動も Excel とほぼ同じです。スプレッドシート版を詳しく知りたい方はスプレッドシートのSLOPE関数の使い方も合わせて確認してみてください。
まとめ
最後に、SLOPE関数のポイントを整理します。
=SLOPE(既知のy, 既知のx)で回帰直線の傾きを計算できる。yが先、xが後 の順番がポイント。- 傾きが正なら正の相関、負なら負の相関、ほぼ0なら無相関というシンプルな読み方ができる。
- INTERCEPT関数と組み合わせれば、
y = ax + bの予測式が完成し、xを変えるだけで予測値が更新される。 - 詳細な統計が必要なら LINEST、複数の予測値が必要なら TREND、1点だけ予測したいなら FORECAST.LINEAR と使い分ける。
- データ準備(外れ値除外・単位統一・期間そろえ)と、決定係数(RSQ)による検証はセットで考える。
「Excelで回帰分析」と聞くと身構えてしまいがちですが、SLOPEがやっているのは「xが1増えるとyがどれだけ変わるか」というシンプルな計算だけです。売上・広告費・コスト・気温・客数――身近な業務データに当てはめてみると、感覚で語っていた話を数値で説明できるようになり、説得力のある資料がぐっと作りやすくなります。