FORECAST.LINEAR関数の使い方|エクセルで将来の値を予測する・複数月の予測・TRENDとの違い

Excel FORECAST.LINEAR関数の使い方|直線回帰で将来の値を予測する

FORECAST.LINEAR関数は、これまでのデータから回帰直線(いちばん当てはまる直線)を引き、その直線の上で将来の値を予測する関数です。「来月の売上」「広告費を 50 万円にしたときの売上」のように、x を決めたときの y を1つの式で求められます。

この記事では、FORECAST.LINEAR 関数の書き方から、複数の月をまとめて予測する方法、SLOPE・INTERCEPT・TREND との関係、月の番号の数え方の注意点、エラーになるときの直し方まで、実際の Excel の画面で説明します。

式の書き方
数式=FORECAST.LINEAR(x, 既知のy, 既知のx)
練習用Excelファイル(無料ダウンロード)
「基本」「複数の月」「広告費」「よくある間違い」の4シートです。「基本」「複数の月」は記事内のツールと同じ表です。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
目次

FORECAST.LINEAR関数の書き方(構文)

=FORECAST.LINEAR(x, 既知のy, 既知のx)
引数意味
x予測したい x の値(12月なら 12、広告費なら 50 など)
既知のyこれまでの結果のデータ(売上など)の範囲
既知のxこれまでの原因のデータ(月・広告費など)の範囲。既知のy と同じ個数にする

FORECAST.LINEAR は Excel 2016 から使えます。それより前の Excel では、同じ計算をする FORECAST 関数を使います(結果は同じでした)。

基本の使い方:来月の売上を予測する

9〜11月の売上から、12月の売上を予測します。A5 に予測したい月の 12 を入れ、B5 に次の式を入れると、128.67 になりました。

=FORECAST.LINEAR(A5,B2:B4,A2:A4)
エクセルのFORECAST.LINEAR関数で9月から11月の売上から12月の売上を予測した例
エクセルのFORECAST.LINEAR関数で9月から11月の売上から12月の売上を予測した例

3か月分の売上(124・122・128)に直線を当てはめ、その直線を 12月まで延ばした値です。月を 9・10・11 のような数値で入れておくのがポイントです。「9月」のような文字では計算できません。

まず動かしてみよう|この記事のサンプルをその場で試せます

ブラウザの上で FORECAST.LINEAR 関数を試せます。「FORECAST.LINEAR(練習ファイル)」は 9〜11月の売上から 12月の売上(B5)を予測します。「複数の月をまとめて予測」は 12〜15(翌年3月)をまとめて予測します。練習用ファイルの「基本」「複数の月」シートと同じ表です。

複数の月をまとめて予測する

Microsoft 365・Excel 2021 以降なら、x に範囲を渡すと、予測値がまとめて下へ広がります(スピル)。

=FORECAST.LINEAR(A5:A8,B2:B4,A2:A4)
エクセルのFORECAST.LINEAR関数で12月から翌年3月までの売上をまとめて予測した例
エクセルのFORECAST.LINEAR関数で12月から翌年3月までの売上をまとめて予測した例

12・13・14・15 の4か月分が 128.67・130.67・132.67・134.67 と並びました。ここで大事なのは、翌年の1月を「13」と数えることです(①)。直線は月の番号で引いているので、番号を 1 に戻すと 9月より前を予測することになります。

SLOPE・INTERCEPT・TREND との関係

FORECAST.LINEAR の予測値は「傾き × x + 切片」です。広告費と売上の例で確かめました。

エクセルのFORECAST.LINEAR関数で広告費から売上を予測し傾きと切片の計算やTRENDと比べた例
エクセルのFORECAST.LINEAR関数で広告費から売上を予測し傾きと切片の計算やTRENDと比べた例

広告費 50 万円の予測は 259.5、60 万円は 294.2 でした(①)。傾き(SLOPE)3.48 × 50 + 切片(INTERCEPT)85.65 も、=TREND(B2:B9,A2:A9,50) も同じ 259.5 です(②)。

関数向いている場面
FORECAST.LINEAR1つの x の予測を、いちばん短い式で出したいとき
TRENDx が複数の列(説明する項目が複数)のとき。古い Excel でも複数の値をまとめて返せる
SLOPE・INTERCEPT直線の式(傾きと切片)そのものを表に出したいとき
FORECAST.ETS季節ごとの波がある時系列データを予測したいとき

詳しくは SLOPE関数・INTERCEPT関数・TREND関数・FORECAST.ETS関数で説明しています。

【実機で検証】TREND との一致・空欄がある範囲

広告費 10〜50 と売上の 5 か月分から、広告費 60 のときの売上を予測しました。

エクセルでFORECAST.LINEARとTRENDの予測が同じになり売上が空欄の行を含めても同じ結果になった画面
エクセルでFORECAST.LINEARとTRENDの予測が同じになり売上が空欄の行を含めても同じ結果になった画面
ためしたこと結果
=FORECAST.LINEAR(60,C2:C6,B2:B6)326
=TREND(C2:C6,B2:B6,60)326(同じ)
売上が空欄の 6 行目まで範囲に含める326(空欄の行は無視された)

FORECAST.LINEAR と TREND は同じ 326 になりました。予測したい月の行を表に作っておき、売上が空欄のまま範囲に含めても、結果は変わりませんでした。ただし、行数がそろっていないと #N/A になります。

よくある間違い

エクセルのFORECAST.LINEAR関数で月の番号を1に戻すと予測が外れ月が文字だとエラーになる例
エクセルのFORECAST.LINEAR関数で月の番号を1に戻すと予測が外れ月が文字だとエラーになる例
症状考えられる原因対処
予測値が急に下がる・上がる翌年の月を 1・2… と数え直した13・14… と続けて数える。日付なら日付の値のまま使う。
#DIV/0! になる既知のx が「9月」のような文字/x がすべて同じ値月の番号などの数値にする。
#N/A になる既知のy と既知のx の範囲の大きさが違う2つの範囲を同じ行数にする。
予測が当たらないデータが直線に並んでいない(季節の波など)散布図で確かめ、RSQ で当てはまりを見る。季節の波があるなら FORECAST.ETS。

試したところ、12月の次を「1」とすると 106.67 と大きく下がり(①)、「13」とすると 130.67 でした(②)。月が文字だと #DIV/0!、範囲の大きさが違うと #N/A です(③)。直線への当てはまりは RSQ 関数で確かめられます(RSQ関数)。

よくある質問

FORECAST と FORECAST.LINEAR の違いは?

計算は同じです。FORECAST.LINEAR は Excel 2016 で新しく用意された名前で、FORECAST は古い Excel との互換用に残っています。この記事の例では、どちらも 128.6667 でした(FORECAST関数)。

日付を x にして予測できますか?

できます。日付は内部では数値(シリアル値)なので、既知のx に日付の列、x に予測したい日付を指定します。翌年になっても番号が続くので、月の番号のような数え直しの心配がありません。

どれくらい先まで予測してよいですか?

決まりはありませんが、手元のデータの範囲から遠く離れるほど、直線のずれが大きくなります。データの期間に比べて近い先までにとどめ、実績が出たら予測を見直します。

練習用Excelファイル(無料ダウンロード)
この記事の例がすべて入った練習用のファイルです。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

あわせて読みたい:予測・回帰分析の関連記事

グラフに線を引いて式で予測するときは、エクセルで近似曲線を引く方法もあわせてご覧ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次