• 作成日 : 2025年8月25日

FORECAST関数の使い方:エクセルで売上予測や需要予測を行う統計的手法

FORECAST関数は、既存のデータから線形回帰分析を行い、将来の値を予測するエクセルの統計関数です。過去の売上データから将来の売上を予測したり、温度と電力消費の関係から消費量を予測したりと、ビジネスの様々な場面で活用されています。

本記事では、FORECAST関数の基本的な使い方から実務での応用例、FORECAST.LINEAR関数やFORECAST.ETS関数との違い、信頼区間の設定方法、そしてよくある予測の落とし穴とその回避方法まで、初心者にも分かりやすく解説します。データに基づく意思決定を支援する予測分析の手法をマスターしましょう。

FORECAST関数の使い方

FORECAST関数とは

FORECAST関数は、既知のxとyの値のペアから線形回帰モデルを作成し、新しいx値に対応するy値を予測する関数です。簡単に言えば、過去のデータの傾向から将来を予測する統計的な手法です。この関数は最小二乗法を使用して、データポイントに最もよく適合する直線(回帰直線)を見つけ、その直線上で予測を行います。

予測の基本原理は、二つの変数間に線形関係(比例関係)があることを前提としています。たとえば、広告費を増やせば売上が増える、気温が上がれば飲料の売上が増えるといった関係性を数値化し、将来の予測に活用します。

基本構文

FORECAST関数の構文は次のとおりです。

=FORECAST(x, 既知のy, 既知のx)

各引数について詳しく説明します。

  • x:予測したい値に対応するx値(独立変数)を指定します。たとえば、将来の期間や、予測したい条件の値です。
  • 既知のy:過去の実績データ(従属変数)の配列またはセル範囲を指定します。売上高、需要量など、予測したい項目の過去データです。
  • 既知のx:既知のyに対応するx値(独立変数)の配列またはセル範囲を指定します。期間、温度、広告費など、yに影響を与える要因のデータです。

線形回帰の仕組み

FORECAST関数が行う線形回帰分析の仕組みを理解することで、より適切な予測が可能になります。

回帰直線は以下の式で表されます。

y = ax + b

ここで、aは傾き(変化率)、bは切片(x=0のときのy値)です。FORECAST関数は、この直線の式を自動的に計算し、指定したx値に対するy値を返します。

基本的な使用例

月次売上データから将来の売上を予測する例を見てみましょう。

過去12か月の売上データ:

月(x):1, 2, 3, …, 12(A2:A13)

売上(y):100, 110, 120, …, 220万円(B2:B13)

13か月目の売上予測:

=FORECAST(13, B2:B13, A2:A13)

この計算により、過去12か月のトレンドに基づいて13か月目の売上が予測されます。

より具体的な例として、

四半期売上の予測:

=FORECAST(5, {1200, 1350, 1480, 1620}, {1, 2, 3, 4})

この場合、第5四半期の売上として約1,760万円が予測されます。

FORECAST.LINEARとの関係

エクセル2016以降では、FORECAST関数の代わりにFORECAST.LINEAR関数が推奨されています。

=FORECAST.LINEAR(x, 既知のy, 既知のx)

FORECAST.LINEAR関数はFORECAST関数と同等の機能を持っていますが、関数名がより明確で、他の予測関数(FORECAST.ETSなど)との区別がしやすくなっています。

FORECAST関数の利用シーン

売上予測と事業計画

最も一般的な用途は、過去の売上データから将来の売上を予測することです。

月次売上の年間予測:

過去24か月のデータから今後12か月を予測

1月予測:=FORECAST(25, 売上実績24か月, 月番号24か月)

2月予測:=FORECAST(26, 売上実績24か月, 月番号24か月)

成長率を考慮した予測では、対数変換を使用することもあります。

=EXP(FORECAST(次期, LN(売上データ), 期間データ))

季節性がある場合は、前年同月比での予測も有効です。

=FORECAST(13, 前年同月売上12か月, {1,2,3,4,5,6,7,8,9,10,11,12})

在庫管理と需要予測

小売業や製造業では、適正在庫の維持のために需要予測が不可欠です。

日次需要の予測:

過去30日の販売数量から翌日の需要を予測

=FORECAST(31, 日次販売数量30日分, {1,2,3,…,30})

リードタイムを考慮した発注量の計算:

リードタイム7日後の需要予測:

=FORECAST(現在日+7, 過去の日次需要, 日付番号)

安全在庫を加味:=予測値 * 1.2

生産計画の策定

製造業では、原材料の調達や生産能力の計画にFORECAST関数を活用します。

生産量と原材料使用量の関係から予測:

=FORECAST(計画生産量, 過去の原材料使用量, 過去の生産量)

設備稼働率の予測:

=FORECAST(予定受注量, 過去の稼働率データ, 過去の受注量)

マーケティング効果の測定

広告投資と売上の関係を分析し、最適な広告予算を決定します。

広告費と売上の関係から予測:

=FORECAST(計画広告費, 過去の売上データ, 過去の広告費データ)

ROI(投資収益率)の予測:

予測売上 = FORECAST(広告費, 売上履歴, 広告費履歴)

予測ROI = (予測売上 – 広告費) / 広告費

財務予測と資金計画

キャッシュフロー予測や資金需要の計画にも活用できます。

売掛金回収額の予測:

=FORECAST(翌月, 過去の回収実績, 月次番号)

運転資金需要の予測:

売上予測 = FORECAST(翌期, 売上推移, 期間)

必要運転資金 = 売上予測 * 運転資金回転率

FORECAST関数の応用・他関数との組み合わせ

TREND関数との使い分け

TREND関数は複数の値を一度に予測できる点でFORECAST関数と異なります。

単一予測:=FORECAST(13, y範囲, x範囲)

複数予測:=TREND(y範囲, x範囲, {13,14,15})

TREND関数を使用すると、将来の複数期間を一度に予測できます。

信頼区間の設定

予測値の不確実性を表現するために、信頼区間を計算します。

標準誤差を使用した95%信頼区間:

予測値 = FORECAST(x, y範囲, x範囲)

標準誤差 = STEYX(y範囲, x範囲)

上限 = 予測値 + 1.96 * 標準誤差

下限 = 予測値 – 1.96 * 標準誤差

決定係数(R²)による精度評価

予測の信頼性を評価するために、決定係数を計算します。

=RSQ(既知のy, 既知のx)

決定係数が1に近いほど、予測モデルの精度が高いことを示します。一般的に、

  • 0.8以上:強い相関(信頼性の高い予測)
  • 0.5-0.8:中程度の相関
  • 0.5未満:弱い相関(予測の信頼性が低い)

季節調整を含む予測

季節変動がある場合は、FORECAST.ETS関数を使用します。

=FORECAST.ETS(目標日付, 値, タイムライン, [季節性], [データ補完], [集計])

この関数は指数平滑法を使用し、トレンドと季節性を考慮した予測が可能です。

複数要因を考慮した予測

LINEST関数と組み合わせて、重回帰分析による予測を行います。

係数 = LINEST(y範囲, x1範囲:x2範囲, TRUE, TRUE)

予測値 = 切片 + 係数1*x1 + 係数2*x2

たとえば、売上を気温と曜日の両方から予測する場合に使用します。

移動平均との組み合わせ

短期的な変動を平滑化してから予測を行います。

3か月移動平均 = AVERAGE(直近3か月)

移動平均ベースの予測 = FORECAST(次期, 移動平均データ, 期間)

外れ値の処理

異常値を除外してより安定した予測を行います。

=FORECAST(x, IF(ABS(y-AVERAGE(y))<2*STDEV(y), y), x範囲)

※この式は配列数式です。古いバージョンのExcelでは Ctrl + Shift + Enter を使って確定する必要があります。

この配列数式は、平均から標準偏差の2倍以上離れたデータを除外します。

FORECAST関数のよくあるエラーと対策

#N/Aエラーの原因と対処

最も一般的なエラーは、データ範囲の不一致によるものです。

原因1:x範囲とy範囲のサイズが異なる

誤:=FORECAST(13, B2:B13, A2:A14)  // 範囲が一致しない

正:=FORECAST(13, B2:B13, A2:A13)  // 範囲を一致させる

原因2:空白セルや文字列が含まれている

=IF(COUNT(y範囲)=COUNT(x範囲), FORECAST(x, y範囲, x範囲), “データを確認”)

#DIV/0!エラーの対処

すべてのx値が同じ場合に発生します。

=IF(STDEV(x範囲)=0, “予測不可(xが一定)”, FORECAST(x, y範囲, x範囲))

予測精度が低い場合の対策

線形関係が弱い場合、予測精度が低下します。

精度チェックと警告表示:

=IF(RSQ(y範囲, x範囲)<0.5,

“警告:相関が弱い(R²=” & TEXT(RSQ(y範囲,x範囲),”0.00″) & “)”,

FORECAST(x, y範囲, x範囲))

データ数不足による信頼性の問題

統計的に有意な予測には、十分なデータ数が必要です。

=IF(COUNT(y範囲)<10,

“データ不足(10個以上推奨)”,

FORECAST(x, y範囲, x範囲))

一般的な目安
  • 最低限:5個以上
  • 推奨:20個以上
  • 理想的:30個以上

外挿による予測リスク

既知のデータ範囲を大きく超えた予測は信頼性が低下します。

=IF(OR(x<MIN(x範囲), x>MAX(x範囲)*1.5),

“警告:外挿範囲が大きい”,

FORECAST(x, y範囲, x範囲))

非線形データへの誤用

データが曲線的な場合、線形予測は不適切です。

対数変換による対処:

=EXP(FORECAST(LN(x), LN(y範囲), LN(x範囲)))

または、

GROWTH関数の使用を検討:

=GROWTH(y範囲, x範囲, x)

まとめ

FORECAST関数は、過去のデータから線形回帰分析を行い、将来の値を予測するのに適した関数です。売上予測、需要予測、生産計画など、様々なビジネスシーンで活用できます。

予測精度を高めるには、十分なデータ数を用意し、決定係数を使って精度を評価することが推奨されます。

TREND関数やFORECAST.ETS関数との使い分けや、信頼区間の設定を行うことで、実務で活用しやすい予測分析が行えます。データの特性を踏まえて適切にエラー処理を行うことで、予測値の信頼性を向上させ、業務判断に活かしやすくなります。


※ 掲載している情報は記事更新時点のものです。

※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。

関連記事