「過去のデータから来月の売上を予測したいけど、どの関数を使えばいいかわからない…」そんな経験はありませんか。グラフの近似曲線を引けばなんとなく傾向は見えますが、具体的な数値を出すには関数が必要ですよね。
ExcelのFORECAST.LINEAR関数を使えば、既知のデータから線形回帰で将来の値を予測できます。この記事では基本構文から引数の意味、旧FORECAST関数との違い、LINEST関数と組み合わせた精度確認つきの予測手順まで丁寧に解説しますよ。
FORECAST.LINEAR関数とは?どんなときに使う関数か
FORECAST.LINEAR関数は「フォーキャスト・リニア」と読みます。FORECAST(予測)+ LINEAR(線形)が語源です。
FORECAST.LINEAR関数は、既知のxとyのデータをもとに線形回帰(y = mx + b)を行い、新しいxに対するyの予測値を返す関数です。内部ではLINESTと同じ最小二乗法で傾きmと切片bを計算し、指定したxを回帰式に代入して結果を出してくれます。
たとえば1月から5月までの売上データがあるとき、「6月の売上はいくらになるか」をFORECAST.LINEAR関数で予測できます。結果は1つの数値として返されるので、追加の計算は不要ですよ。
旧FORECAST関数との違い
Excel 2016以降、旧FORECAST関数はFORECAST.LINEAR関数に名称が変わりました。機能はまったく同じです。旧FORECAST関数は互換性のために残されていますが、新しいブックではFORECAST.LINEARを使ってください。
将来のバージョンで旧FORECAST関数が廃止される可能性もあるため、今のうちにFORECAST.LINEARに移行しておくのがおすすめです。
FORECAST.LINEAR関数の書き方(構文と引数)
基本構文
=FORECAST.LINEAR(x, 既知のy, 既知のx)
引数の順番に注意してください。予測したいxの値を最初に指定し、その後に既知のデータを渡します。LINEST関数やTREND関数とは引数の順番が異なるので、混同しないようにしましょう。
引数の一覧
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| x | 必須 | 予測したいxの値(数値) |
| 既知のy | 必須 | 既存データのy値(売上・来客数など) |
| 既知のx | 必須 | 既存データのx値(月・年度など) |
3つの引数はすべて必須です。省略可能な引数はありません。
引数1:x(必須)
予測したいポイントのx値を指定します。たとえば1月~5月のデータで6月を予測するなら、xに「6」を指定します。
数値を直接入力しても、セル参照でもOKです。
引数2:既知のy(必須)
回帰の対象となるyの値を指定します。売上金額や来客数など、予測したい指標のデータ列です。
引数3:既知のx(必須)
yに対応するxの値を指定します。月番号や年度のように、時間軸や説明変数となるデータ列です。
既知のyと既知のxのデータ数は一致させてください。行数が異なると #N/A エラーになります。
基本的な使い方(1つの将来値を予測する)
まずはシンプルな例で、6ヶ月目の売上を予測してみましょう。
次のサンプルデータを用意してください。
| セル | A列(月) | B列(売上・万円) |
|---|---|---|
| 2行目 | 1 | 100 |
| 3行目 | 2 | 130 |
| 4行目 | 3 | 155 |
| 5行目 | 4 | 190 |
| 6行目 | 5 | 210 |
A8セルに「6」と入力し、B8セルに次の数式を入力してください。
=FORECAST.LINEAR(A8, B2:B6, A2:A6)
結果は約240が返されます。「6ヶ月目の売上は約240万円」という予測ですね。
この予測値は、内部で計算される回帰式 y = 27x + 78 にx=6を代入した値と一致します。LINEST関数で傾きと切片を確認して、手計算と比べてみると理解が深まりますよ。
=LINEST(B2:B6, A2:A6) → 傾き約27、切片約78
27 * 6 + 78 = 240 と、FORECAST.LINEARの結果が一致するはずです。
実践的な使い方:LINEST関数と組み合わせた精度確認つき予測
FORECAST.LINEAR関数は便利ですが、予測値だけでは「その予測がどれくらい信頼できるか」がわかりません。実務ではLINEST関数でモデルの精度を確認してからFORECAST.LINEARで予測するのが定番の手順です。
Step1:LINESTでR2(決定係数)を確認する
D2セルに次の数式を入力してください。
=LINEST(B2:B6, A2:A6, TRUE, TRUE)
5行2列の統計情報がスピルで出力されます。3行目左側の値がR2(決定係数)です。
| R2の範囲 | 判断の目安 |
|---|---|
| 0.95以上 | 非常に良好。予測に使える |
| 0.90~0.95 | 良好。実務では十分 |
| 0.70~0.90 | まずまず。参考程度 |
| 0.70未満 | 当てはまりが弱い。モデルの見直しが必要 |
R2が0.9以上であれば、線形モデルがデータにフィットしているので安心してFORECAST.LINEARの予測値を使えます。
Step2:FORECAST.LINEARで予測する
R2が十分に高いことを確認したら、FORECAST.LINEARで予測を出しましょう。
=FORECAST.LINEAR(6, B2:B6, A2:A6)
この2ステップの手順を習慣にしておくと、「予測の根拠はR2が0.99だったので信頼性が高い」と上司に説明できますよ。
複数の将来値を予測する場合はTREND関数
FORECAST.LINEAR関数は1つのxに対して1つの予測値を返します。複数のxをまとめて予測したい場合はTREND関数を使ってください。
=TREND(B2:B6, A2:A6, {6,7,8})
6~8ヶ月目の予測値が一括で返されます。FORECAST.LINEARを1つずつ入力するよりも効率的ですね。
よくあるエラーと対処法
#N/Aエラー:データ数の不一致
既知のyと既知のxの行数が一致していないと #N/A エラーが発生します。
対処法: yが5行ならxも5行に揃えてください。途中に空白セルが混じっていないかも確認しましょう。
#N/Aエラー:xの変動がない
既知のxの値がすべて同じ場合、傾きを計算できないため #N/A エラーになります。
対処法: xの値に変動があるか確認してください。すべて同じ値では回帰直線を引くことができません。
#VALUE!エラー:引数に文字列が含まれている
引数にテキストや論理値が含まれていると #VALUE! エラーが出ます。
対処法: 3つの引数がすべて数値であることを確認してください。日付はExcel内部で数値として扱われるので問題ありませんが、「1月」のような文字列はNGです。
エラーの一覧と対処法はExcelのエラー値一覧も参考にしてくださいね。
似た関数との違い・使い分け
予測や回帰分析に関連する関数は複数あります。迷ったときはこの表を参考にしてください。
| 関数 | 返すもの | 入力 | 用途 |
|---|---|---|---|
| FORECAST.LINEAR | 予測値(1つ) | x + 既知データ | 特定のxに対するyの予測値がほしいとき |
| FORECAST(旧) | 予測値(1つ) | 同上 | FORECAST.LINEARの旧名称。機能は同じ |
| TREND | 予測値(複数) | 既知データ + 新しいx | 複数のxに対する予測値をまとめて出したいとき |
| LINEST | 傾き・切片・統計量 | 既知データ | 回帰モデルの中身と精度を確認したいとき |
| SLOPE | 傾きのみ | 既知データ | 傾きだけ手早く知りたいとき |
| INTERCEPT | 切片のみ | 既知データ | 切片だけ手早く知りたいとき |
| FORECAST.ETS | 予測値(季節性対応) | 既知データ + 予測日 | 季節変動があるデータの予測 |
ポイントは次の2つで整理することです。
- 知りたいもの: 予測値 → FORECAST.LINEAR / TREND、回帰モデルの中身 → LINEST
- データの特徴: 直線的なトレンド → FORECAST.LINEAR、季節変動あり → FORECAST.ETS
「予測値がほしい」ならFORECAST.LINEAR、「回帰モデルの精度まで確認したい」ならLINEST関数と覚えておけば迷いません。
まとめ
ExcelのFORECAST.LINEAR関数は、既知のデータから線形回帰で将来値を予測する関数です。
この記事のポイントをおさらいしておきましょう。
- FORECAST.LINEAR関数は、指定したxに対するyの予測値を1つ返す。構文は
=FORECAST.LINEAR(x, 既知のy, 既知のx) - 旧FORECAST関数の後継。機能は同じだが、新しいブックではFORECAST.LINEARを使う
- 引数の順番に注意。予測したいxを最初に指定する(LINEST・TRENDとは逆)
- 予測の信頼性を確認するには、LINEST関数でR2(決定係数)をチェックしてから使う
- 複数のxを一括予測するならTREND関数が便利
- 季節変動があるデータにはFORECAST.ETS関数を使い分ける
売上予測や来客数の見込み計算に、ぜひ活用してみてください。Excel関数の一覧はこちらから確認できます。
