ExcelのFORECAST関数の使い方と予測3関数の選び方

スポンサーリンク

「引き継いだExcelファイルにFORECAST関数が入っていたけど、このまま使い続けて大丈夫?」そんな不安を感じていませんか。さらに「予測の精度を上げたいけど、どの関数を選べばいいのか分からない」と手が止まってしまう方も多いはずです。

放置すると、根拠のあいまいな予測値で発注や売上計画を立ててしまうリスクがあります。逆に正しく使えば、ExcelのFORECAST関数は過去の実績から将来をすばやく見積もる強力な味方になります。

この記事では、FORECAST関数の使い方を基本から整理します。そのうえで売上・在庫の数式テンプレート、R²値による精度チェック、そして予測関数3種(LINEAR・ETS・TREND)の使い分けフローチャートまで、同僚に教える感覚で解説しますね。

ExcelのFORECAST関数とは?現在の位置づけ

ExcelのFORECAST関数は「フォーキャスト」と読み、英語の forecast(予測する)が語源です。過去の実績データから線形回帰(データに最もフィットする直線を求める手法)を行い、指定した点の予測値を返します。

たとえば1月〜5月の売上があれば、その傾向を直線でとらえて6月の売上を1つの数値として返してくれます。難しい統計知識がなくても、関数1本で予測値が出るのが魅力です。

Excel 2016で名称が変わった経緯

Excel 2016以降、FORECAST関数はFORECAST.LINEAR関数という新しい名前に置き換えられました。両者は構文も内部の計算式も完全に同一です。同じ引数を渡せば、まったく同じ結果を返します。

つまりFORECASTとFORECAST.LINEARは「名前だけ違う双子」のような関係です。旧FORECAST関数は互換性のために残されており、現在のExcelでも問題なく動作します。

旧FORECASTはいつまで使えるのか

ここが引き継ぎファイルで一番気になるポイントですよね。結論から言うと、すぐに壊れることはありません。要点を整理すると次のとおりです。

  • 旧FORECAST関数はExcel 2016以降も動作し続けている
  • ただしMicrosoftは公式に「将来のバージョンで使えなくなる可能性がある」と明記している
  • 新しく数式を書くときはFORECAST.LINEARの使用が推奨されている

既存ファイルを今すぐ全部直す必要はありません。ただ、新規に数式を入れるときや大きく作り変えるタイミングでFORECAST.LINEAR関数へ寄せていくのが安全です。移行手順は記事後半で具体的に紹介しますね。

FORECAST関数の書き方と引数

ここではFORECAST関数の構文と、内部でどんな計算をしているのかを確認します。引数は3つだけなので、一度覚えれば迷うことはありません。

基本構文と3つの引数の意味

FORECAST関数の基本構文は次のとおりです。引数の数と順番はFORECAST.LINEARでもまったく同じです。

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

3つの引数の意味を表にまとめました。すべて必須で、省略できる引数はありません。

引数必須/省略可説明
x必須予測したい点のx値(例: 月番号「5」)
既知のy必須実績の結果データ(例: 売上のセル範囲)
既知のx必須実績の入力データ(例: 月番号のセル範囲)

入力時に間違えやすい注意点が2つあります。

  • 順番は「y → x」:結果のyを先に、原因のxを後に書きます。逆にすると予測値が変わります
  • 要素数をそろえる:既知のyと既知のxは同じ個数にします。ずれると#N/Aエラーになります

内部計算の仕組み(最小二乗法)

FORECAST関数は最小二乗法(さいしょうにじょうほう=各点と直線の誤差の2乗合計が最小になる直線を選ぶ手法)で y = a + bx という直線を求めます。bは傾き、aは切片です。

実際に手で計算すると仕組みが腑に落ちます。月番号x=[1, 2, 3, 4]、売上y=[100, 110, 120, 130]というデータで、x=5(5か月目)の予測値を求めてみましょう。

平均: x̄ = (1+2+3+4)/4 = 2.5 / ȳ = (100+110+120+130)/4 = 115
傾き b = Σ(xi-x̄)(yi-ȳ) / Σ(xi-x̄)²
       = (22.5+2.5+2.5+22.5) / (2.25+0.25+0.25+2.25)
       = 50 / 5 = 10
切片 a = 115 - 10×2.5 = 90
x=5の予測値 = 90 + 10×5 = 140

この結果はExcelの数式でも一致します。

=FORECAST.LINEAR(5, {100,110,120,130}, {1,2,3,4})  → 140
=FORECAST(5, {100,110,120,130}, {1,2,3,4})          → 140(同じ結果)

旧FORECASTと新FORECAST.LINEARがどちらも140を返すことから、両者の計算が完全に同一だと確認できますね。数式そのものを暗記する必要はありません。「過去データに一番フィットする直線を引いて、その延長線上の値を返す」とイメージすれば十分です。

実務テンプレート:売上予測と在庫発注予測

ここからは実務でそのまま使える数式テンプレートを2つ紹介します。セル参照の組み方を工夫すると、月や週を変えるだけで予測値を更新できるようになります。

月次売上を1行で予測する

まずは定番の売上予測です。次のようなサンプルデータを用意します。

セルA列(月番号)B列(売上・万円)
2行目1100
3行目2110
4行目3120
5行目4130

5か月目(月番号「5」)の売上を予測するには、任意のセルに次の数式を入力します。

=FORECAST(5, B2:B5, A2:A5)
  • 第1引数:予測したい月番号「5」
  • 第2引数:売上データの範囲 B2:B5
  • 第3引数:月番号の範囲 A2:A5

結果は140になります。毎月10ずつ増えているトレンドをとらえた線形予測値です。

さらに便利にするなら、予測したい月番号をセルA6に入力し、第1引数をセル参照にします。

=FORECAST(A6, B2:B5, A2:A5)

A6を「6」「7」と書き換えるだけで、6か月目・7か月目の予測値も一瞬で求められます。数式を毎回直さずに済むので、月次の更新作業がぐっと楽になりますよ。

週次在庫から発注タイミングを予測する

FORECAST関数は売上だけでなく在庫管理にも使えます。消耗品の在庫残量を毎週記録しているケースで、「いつ発注すべきか」を予測してみましょう。

セルA列(経過週)B列(在庫残量)
2行目1500
3行目2460
4行目3415
5行目4370
6行目5330
7行目6285

毎週おおよそ40〜45ずつ減っています。安全在庫を100個と決め、在庫が100個を下回る週を探します。まず10週目を予測します。

=FORECAST(10, B2:B7, A2:A7)

結果は約113となり、安全在庫の100個をまだ上回っています。続いて11週目を予測します。

=FORECAST(11, B2:B7, A2:A7)

結果は約70となり、100個を下回りました。つまり「10週目までに発注しておく必要がある」と判断できます。在庫切れの予測がたった2本の数式で見えるのは心強いですよね。

精度を高めるコツと注意点

FORECAST関数はあくまで線形予測です。消費ペースや売上が一定の傾きで増減している前提が崩れると、予測値はずれていきます。精度を保つコツは次のとおりです。

  • 季節や繁忙期で変動が大きいときは、直近の安定した期間にデータを絞る
  • 外れ値(急なキャンペーンや欠品)が混じっていないか確認する
  • 予測値はあくまで目安とし、発注では安全在庫を厚めにとる

変動が大きくて線形ではうまくいかないと感じたら、次のセクションのR²値で精度を数値化してみてください。

R²値で精度を見極めて予測関数3種を使い分ける

「FORECASTの結果がどうも実態と合わない」と感じたら、予測精度を数値で確認するのが近道です。ここではR²値の読み方と、それをもとにどの予測関数へ切り替えるかの判断方法を整理します。

R²値の読み方(0.8が目安)

R²値(決定係数=データが直線にどれだけ沿っているかを0〜1で表す指標)は、予測の信頼度の目安になります。1に近いほどデータが直線に乗っており、線形予測がよく当てはまっていることを意味します。

R²値はグラフから手軽に確認できます。散布図を作り、データ点を右クリックして「近似曲線の追加」を選びます。さらに「線形近似」と「R-2乗値を表示する」にチェックを入れると、グラフ上にR²値が表示されます。係数だけが欲しい場合はLINEST関数でも取得できます。

R²値そのものの計算の詳細はLINEST関数の記事に譲り、ここでは「その値を見て次に何をすべきか」に絞って解説します。

R²値に応じた次のアクション判断表

R²値をどう読み、次に何を使うかの目安を表にまとめました。閾値は統計的に厳密な基準ではなく、実務で使いやすい経験則としての目安です。

R²値の範囲状態次のアクション
R² ≥ 0.8直線によく沿っているFORECAST.LINEAR(旧FORECAST)を継続
0.5 ≤ R² < 0.8やや弱いデータ点を増やすか、季節変動の有無を疑いFORECAST.ETSを検討
R² < 0.5直線では説明しづらい季節変動ならFORECAST.ETS、複数点予測ならTREND

R²が0.8以上なら、いま使っているFORECASTのままで問題ありません。0.8を割り込んだら、データ不足か、線形ではとらえきれない変動が隠れているサインです。

予測関数3種の使い分けフローチャート

「結局どれを使えばいいの?」を一発で解決するため、判断の流れを言葉のフローチャートにしました。上から順にYES/NOで進めば、使うべき関数にたどり着きます。

スタート:将来の値を予測したい
│
├─ データに季節変動(月別・曜日別などの周期的な波)がある?
│   │
│   ├─ YES → FORECAST.ETS
│   │        (指数平滑法=直近データを重く扱い波を学習する手法)
│   │        ※デスクトップ版Excel専用。Web版・Google Sheets非対応
│   │
│   └─ NO ↓
│
├─ 出力したいのは1点だけ? それとも複数点をまとめて?
│   │
│   ├─ 1点だけ → FORECAST.LINEAR(旧FORECAST)
│   │
│   └─ 複数点まとめて → TREND(配列で複数の予測値を返す)

3つの関数の特徴を表でも整理しておきます。

関数予測方法得意な場面出力Web版/Sheets対応
FORECAST.LINEAR(旧FORECAST)線形回帰トレンドが直線的1点対応
FORECAST.ETS指数平滑法季節変動がある1点非対応(デスクトップ専用)
TREND線形回帰複数点をまとめて予測配列対応

ここで見落とされがちな注意点があります。FORECAST.ETS系の関数(ETS本体とCONFINT・SEASONALITY・STAT)は、Excel for the Web(Web版)・iOS・Androidでは使えません。デスクトップ版のExcel 2016以降専用です。Google Sheetsでも非対応なので、Web中心で作業する環境ではFORECAST.LINEARかTRENDを軸に組むのが安全です。

迷ったら、まずFORECAST.LINEARを試してR²値を確認しましょう。それで物足りなければ、季節変動の有無でFORECAST.ETSTRENDへ進みます。この流れが一番つまずきません。指数回帰で予測したい場合はLOGEST関数も選択肢になります。

エラー対処とFORECAST.LINEARへの移行

最後に、つまずきやすいエラーの対処法と、旧FORECASTからFORECAST.LINEARへ安全に移行する手順をまとめます。

よくあるエラーと対処法(#N/A・#VALUE!)

FORECAST関数で出やすいエラーは主に2種類です。原因と対処をセットで押さえておきましょう。

#N/Aエラーは、データの構造に問題があるときに出ます。

=FORECAST(6, B2:B6, A2:A5)   ← yは5個・xは4個で個数が不一致

既知のyと既知のxの要素数が違うと#N/Aになります。範囲のサイズをそろえてください。また、既知のxがすべて同じ値だと直線を引けず、#DIV/0!エラーになる点も覚えておくと安心です。

#VALUE!エラーは、引数に数値以外が混ざっているときに出ます。

=FORECAST(6, B2:B6, A2:A6)   ← B3に文字列「未確定」が入っている

データ範囲に文字列が含まれていると#VALUE!になります。対処法は次のとおりです。

  • 範囲内に文字列や記号が混ざっていないか確認する
  • 左揃えになっている「文字列扱いの数字」はVALUE関数などで数値に直す
  • 空白セルがあれば適切な値を入力する

なお、第1引数xに数値以外を指定した場合も#VALUE!になります。エラー値全般の意味はExcelエラー値一覧で確認できます。

Ctrl+Hで一括置換する手順

既存ファイルの旧FORECASTをFORECAST.LINEARへ寄せるなら、一括置換が最速です。今すぐ壊れるわけではありませんが、将来のバージョンアップに備えて移行しておくと安心です。

  1. 対象のブックを開く
  2. Ctrl + H で「検索と置換」を開く
  3. 「検索する文字列」に FORECAST( と入力する
  4. 「置換後の文字列」に FORECAST.LINEAR( と入力する
  5. 「すべて置換」をクリックする
  6. 置換件数を確認する

FORECAST((末尾に開き括弧)で検索するのがポイントです。こうすればFORECAST.ETSやFORECAST.LINEARは括弧の前にピリオドがあるためヒットせず、旧FORECASTだけを安全に置き換えられます。

置換後の確認方法

置換が終わったら、必ず結果を確認しましょう。手順は次のとおりです。

  • Ctrl + `(バッククォート)で数式表示モードに切り替える
  • FORECAST.LINEAR( に正しく置換されているか目視で確認する
  • 計算結果が置換前と同じであることを確かめる(両者は同一計算なので結果は変わりません)

確認が済んだらもう一度 Ctrl + ` で通常表示に戻します。FORECAST.LINEARの詳しい使い方はFORECAST.LINEAR関数の使い方で解説しています。

まとめ

ExcelのFORECAST関数の使い方を、基本から予測関数の使い分けまで解説しました。要点を振り返ります。

  • FORECASTとFORECAST.LINEARは計算が完全に同一で、旧FORECASTも現在は動作する
  • 引数は3つだけ。「x → 既知のy → 既知のx」の順で売上・在庫予測に使える
  • 精度が不安なときはR²値を確認し、0.8を目安に継続か切り替えかを判断する
  • 季節変動があればFORECAST.ETS、複数点予測ならTRENDへ。ただしETSはWeb版・Sheets非対応
  • 旧FORECASTはCtrl+Hで FORECAST(FORECAST.LINEAR( に一括移行できる

まずは手元のデータでFORECAST.LINEARを試し、R²値で精度を確かめてみてください。そこから季節変動の有無でFORECAST.ETSTRENDへ広げれば、予測の精度は一段上がります。ほかの関数はExcel関数一覧(アルファベット順)から探せますよ。

タイトルとURLをコピーしました