「Excelで売上の予測をしたいけど、FORECAST関数ってまだ使えるの?」そんな疑問をお持ちではありませんか。旧FORECAST関数が入ったファイルを引き継いだとき、このまま使い続けていいのか不安になりますよね。
ExcelのFORECAST関数は現在も使える関数です。この記事では基本の書き方から売上予測の手順まで解説します。また散布図と近似曲線で予測値を視覚確認する方法、在庫消費ペースの予測、FORECAST.LINEARへの移行手順も丁寧に説明しますよ。
ExcelのFORECAST関数とは?旧名称と現在の位置づけ
FORECAST関数は「フォーキャスト」と読みます。英語の「forecast(予測する)」が語源です。
FORECAST関数は、既知のデータから線形回帰を行い、指定した値に対する予測値を返す関数です。たとえば1月〜5月の売上データがあれば、6月の売上を予測できます。
Excel 2016で名称が変わった
Excel 2016以降、FORECAST関数はFORECAST.LINEAR関数に名称が変更されました。ただし旧FORECAST関数も互換性のために残されており、現在も問題なく使えます。
ポイントを整理すると次のとおりです。
- FORECAST関数とFORECAST.LINEARは計算結果が完全に同じ
- 旧FORECAST関数はExcel 2016以降も動作する
- Microsoftは新しいブックではFORECAST.LINEARの使用を推奨
- 将来のバージョンで旧FORECAST関数が使えなくなる可能性がある
既存ファイルにFORECAST関数が入っていても、すぐに壊れることはありません。ただし新しくファイルを作るときはFORECAST.LINEAR関数を使うのがおすすめですよ。
FORECAST関数の書き方(構文と引数)
基本構文
=FORECAST(x, 既知のy, 既知のx)
引数は3つだけなのでシンプルです。予測したい点のx値を最初に指定し、その後に既知のデータ範囲を渡します。
3つの引数の意味
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| x | 必須 | 予測したい点のx値(例: 月番号「6」) |
| 既知のy | 必須 | 実績データのy値の範囲(例: 売上のセル範囲) |
| 既知のx | 必須 | 実績データのx値の範囲(例: 月番号のセル範囲) |
注意すべき点が2つあります。
- 引数の順番: 「y → x」の順に並んでいます。逆にすると結果が変わるので気をつけてください
- 範囲のサイズ: 既知のyと既知のxの要素数は同じにする必要があります。ずれると#N/Aエラーになります
内部の計算方法
FORECAST関数は最小二乗法(さいしょうにじょうほう)で直線 y = a + bx を求めます。bは傾き、aは切片です。この直線にxを代入して予測値を返しています。
数式を覚える必要はありません。「過去のデータに一番フィットする直線を引いて、その延長線上の値を返す」とイメージしてくださいね。
基本の使い方:来月の売上を予測する
ここでは月次の売上データから翌月の売上を予測する手順を紹介します。
サンプルデータ
| セル | A列(月番号) | B列(売上) |
|---|---|---|
| 2行目 | 1 | 120 |
| 3行目 | 2 | 145 |
| 4行目 | 3 | 160 |
| 5行目 | 4 | 178 |
| 6行目 | 5 | 195 |
数式の入力
6月(月番号「6」)の売上を予測するには、任意のセルに次の数式を入力します。
=FORECAST(6, B2:B6, A2:A6)
- 第1引数: 予測したい月番号「6」
- 第2引数: 売上データの範囲 B2:B6
- 第3引数: 月番号の範囲 A2:A6
結果は約213になります。過去5か月の売上トレンド(毎月約18ずつ増加)をもとに、6月の売上を線形予測した値です。
セル参照を使えばさらに便利です。月番号「6」をセルA7に入力しておけば、数式を次のように書けます。
=FORECAST(A7, B2:B6, A2:A6)
A7の値を「7」「8」と変えるだけで、7月・8月の予測値も求められますよ。
散布図+近似曲線で予測値を視覚確認する方法
FORECAST関数の結果が本当に妥当なのか、グラフで確認する方法を紹介します。散布図に近似曲線を追加すれば、予測値の根拠が目で見てわかります。
手順1: 散布図を作成する
- 月番号と売上のデータ範囲(A1:B6)を選択する
- 「挿入」タブ →「グラフ」グループ →「散布図」を選択する
- 「散布図(マーカーのみ)」をクリックする
データポイントが散布図として表示されます。
手順2: 近似曲線を追加する
- グラフ内のデータポイント(マーカー)を右クリックする
- 「近似曲線の追加」を選択する
- 「線形近似」を選ぶ
- 「グラフに数式を表示する」にチェックを入れる
- 「R-2乗値を表示する」にチェックを入れる
- 「閉じる」をクリックする
グラフ上に直線と数式(例: y = 18.5x + 102)が表示されます。
手順3: 予測値と照合する
近似曲線の数式にx=6を代入すると 18.5 × 6 + 102 = 213 となり、FORECAST関数の結果と一致することが確認できます。
R²値(決定係数)は予測の信頼度を示します。1に近いほどデータが直線に沿っており、予測精度が高いことを意味します。目安として0.8以上なら予測としてまずまずの信頼度ですよ。
R²値が低い場合はデータのばらつきが大きく、線形予測が適さない可能性があります。そのときは季節変動を考慮できるFORECAST.ETS関数を検討してみてください。
実務ユースケース:在庫消費ペースから発注タイミングを予測する
FORECAST関数は売上予測だけでなく、在庫管理にも使えます。ここでは在庫残量の推移から「いつ発注すべきか」を予測する手順を紹介します。
サンプルデータ
倉庫の消耗品を毎週チェックし、残量を記録しているとします。
| セル | A列(経過週) | B列(在庫残量) |
|---|---|---|
| 2行目 | 1 | 500 |
| 3行目 | 2 | 460 |
| 4行目 | 3 | 415 |
| 5行目 | 4 | 370 |
| 6行目 | 5 | 330 |
| 7行目 | 6 | 285 |
毎週およそ40〜45個ずつ減っていることがわかります。
発注タイミングを求める
安全在庫を100個とした場合、在庫が100個を下回る週を求めます。
=FORECAST(10, B2:B7, A2:A7)
第1引数を「10」にすると、10週目の在庫残量の予測値が返ります。結果は約112です。
さらに11週目を予測してみましょう。
=FORECAST(11, B2:B7, A2:A7)
結果は約69となり、安全在庫の100個を下回ります。つまり10週目までに発注しておく必要があるとわかりますね。
注意点
FORECAST関数は線形予測なので、消費ペースが一定でない場合は精度が下がります。季節や繁忙期で消費量が変動するなら、直近のデータに絞って予測するか、FORECAST.ETS関数を検討してください。
よくあるエラーと対処法
FORECAST関数で発生しやすいエラーは2つです。原因と対処法を確認しておきましょう。
#N/Aエラー
原因1: 既知のxと既知のyの要素数が異なる
=FORECAST(6, B2:B6, A2:A5) ← yは5個、xは4個
既知のyが5個なのに既知のxが4個しかないため、#N/Aエラーになります。範囲のサイズを揃えてください。
原因2: 既知のxの値がすべて同じ
=FORECAST(6, B2:B6, A2:A6) ← A2:A6がすべて「1」
xの分散がゼロだと回帰直線を引けないため、#N/Aエラーになります。x値にばらつきのあるデータを使ってください。
エラー値の詳細についてはExcelエラー値一覧の記事も参考にしてみてください。
#VALUE!エラー
原因: 数値以外のデータが含まれている
=FORECAST(6, B2:B6, A2:A6) ← B3に文字列「未確定」が入っている
既知のyや既知のxに文字列や空白セルが含まれていると#VALUE!エラーになります。対処法は次のとおりです。
- 文字列が混ざっていないか確認する
- テキスト形式の数字(左揃えになっている数字)はVALUE関数で数値に変換する
- 空白セルがあれば「0」や適切な値を入力する
FORECAST関数からFORECAST.LINEARへの移行方法
既存ファイルのFORECAST関数をFORECAST.LINEARに一括置換する手順を紹介します。今すぐ動かなくなることはありませんが、将来のバージョンアップに備えて移行しておくと安心ですよ。
一括置換の手順
- 対象のブックを開く
- Ctrl + H で「検索と置換」ダイアログを開く
- 「検索する文字列」に
FORECAST(と入力する - 「置換後の文字列」に
FORECAST.LINEAR(と入力する - 「すべて置換」をクリックする
- 置換件数を確認して「OK」を押す
置換時の注意点
FORECAST.ETS関数が同じブックに含まれている場合は注意が必要です。「FORECAST(」だけを検索対象にすれば、FORECAST.ETSはヒットしないので安全です。
置換後の確認手順は次のとおりです。
- Ctrl + `(バッククォート)でセル表示を数式モードに切り替える
- FORECAST.LINEAR( に正しく置換されているか目視で確認する
- 計算結果が変わっていないことを確認する(同一の結果が返るはずです)
FORECAST.LINEAR関数の詳しい使い方はFORECAST.LINEAR関数の使い方の記事で解説しています。
FORECAST.LINEAR・FORECAST.ETS・TRENDとの使い分け
Excelには予測に使える関数がいくつかあります。場面に応じて使い分けましょう。
| 関数 | 予測方法 | 得意な場面 | 結果 |
|---|---|---|---|
| FORECAST / FORECAST.LINEAR | 線形回帰 | トレンドが直線的なデータ | 1点の予測値 |
| FORECAST.ETS | 指数平滑法 | 季節変動のあるデータ | 1点の予測値 |
| TREND | 線形回帰 | 複数点をまとめて予測したいとき | 配列(複数の予測値) |
| LINEST | 最小二乗法 | 回帰式の係数(傾き・切片)を知りたいとき | 傾きと切片 |
選び方のポイントは次のとおりです。
- 1点だけ予測したい → FORECAST.LINEAR(旧FORECAST)
- 季節変動がある → FORECAST.ETS
- 複数の月をまとめて予測したい → TREND
- 回帰式の傾きや切片を確認したい → LINEST
迷ったらまずFORECAST.LINEARを試してみてください。シンプルな線形予測ならこの関数で十分対応できますよ。
まとめ
この記事では、ExcelのFORECAST関数の使い方を解説しました。
- FORECAST関数はFORECAST.LINEARの旧名称で、計算結果は同じ
- 売上や在庫の予測に使える(引数は3つだけ)
- 散布図+近似曲線で予測値の妥当性を視覚確認できる
- 将来に備えてFORECAST.LINEARへの移行がおすすめ
新しく数式を書くときはFORECAST.LINEAR関数を使い、既存ファイルの旧FORECAST関数はCtrl+Hで一括置換しておくとよいでしょう。Excel関数の一覧はExcel関数一覧(アルファベット順)から確認できますよ。
