「来月の売上はいくらになるか、Excelの数式で自動的に予測できないか」——過去12か月のデータが手元にあるのに、翌月の見込みは担当者の勘や前年比で計算しているケースは少なくありません。FORECAST.LINEAR・FORECAST.ETS・TREND関数を活用すれば、過去データから統計的な予測値をセル内で自動計算できます。
3関数はそれぞれ得意とする状況が異なります。FORECAST.LINEARは直線的なトレンドを持つデータ向けの1点予測、FORECAST.ETSは季節変動を含む時系列データ向けの自動予測、TRENDはスピル(動的配列)を使って複数期間の予測値を一括出力します。本記事では各関数の構文・引数・実務シナリオ別の使い方・よくあるエラーの対処法・MOS Excel 365エキスパート(MO-211)試験での出題ポイントを体系的に解説します。
FORECAST.LINEAR関数の基本構文
FORECAST.LINEAR関数は、既知のxとyの組み合わせから最小二乗法で求めた直線(回帰直線)を使い、任意のx値に対するyの予測値を1点返します。
=FORECAST.LINEAR(x, 既知のy, 既知のx)
| 引数 | 必須 | 内容 |
|---|---|---|
| x | 必須 | 予測したいx値(期間番号・日付・数値) |
| 既知のy | 必須 | 過去の実績値(売上・数量など)の範囲 |
| 既知のx | 必須 | 過去のx値(月番号・日付など)の範囲 |
A列に月番号(1~12)、B列に売上実績が入っている場合、13か月目(翌月)の予測は次のように書きます。
=FORECAST.LINEAR(13, B2:B13, A2:A13)
戻り値は1つの数値です。毎月自動更新したい場合は、x引数を =MAX(A:A)+1 のように動的な数式にしておくと、データを追加するたびに予測値が更新されます。
前身のFORECAST関数との違い:Excel 2016以降、旧FORECAST関数は FORECAST.LINEAR に改称されました。旧名でも動作しますが、今後はFORECAST.LINEARを使うことが推奨されます。
FORECAST.ETS関数の基本構文と季節変動対応
FORECAST.ETS関数はExponential Triple Smoothing(三重指数平滑法)を内部アルゴリズムとして使い、季節性のある時系列データの将来値を自動予測します。毎年同じ時期に売上が上下する小売・観光・農業などのデータに特に効果的です。
=FORECAST.ETS(ターゲット日付, 値, タイムライン, [季節性], [データ補完], [集計])
| 引数 | 必須 | 内容 |
|---|---|---|
| ターゲット日付 | 必須 | 予測したい日付または数値(既知タイムライン以降を指定) |
| 値 | 必須 | 過去の実績値の範囲(yに相当) |
| タイムライン | 必須 | 日付または等間隔の数値の範囲(xに相当) |
| 季節性 | 省略可 | 1=自動検出(既定)、0=なし、2以上=手動設定(月次なら12) |
| データ補完 | 省略可 | 1=欠損値を補完(既定)、0=欠損値をゼロ扱い |
| 集計 | 省略可 | 同一タイムスタンプが複数ある場合の集計方法(1=AVERAGE、6=COUNT、7=COUNTA、8=MAX、4=MEDIAN、2=COUNT数値、9=MIN、3=STDEV.P、10=STDEV.S、11=SUM、12=VAR.P、13=VAR.S) |
B列に日付(2025/01/01形式で月次)、C列に売上が入っている場合、2026年1月の予測値は次のようになります。
=FORECAST.ETS(DATE(2026,1,1), C2:C25, B2:B25)
季節性引数を省略すると自動検出モードになります。データが24か月以上あれば12か月周期の季節性を適切に判定します。12か月未満のデータでは自動検出の精度が下がるため、季節性が明確な場合は =FORECAST.ETS(..., ..., ..., 12) と手動設定する方が安全です。
TREND関数の基本構文
TREND関数は回帰直線を用いて複数点の予測値をまとめて返す配列関数です。FORECAST.LINEARが1点予測なのに対し、TRENDは「13・14・15か月目の3点を一括計算」のような複数期間の予測が得意です。
=TREND(既知のy, [既知のx], [新しいx], [定数])
| 引数 | 必須 | 内容 |
|---|---|---|
| 既知のy | 必須 | 過去の実績値の範囲 |
| 既知のx | 省略可 | 既知のx値の範囲。省略時は1,2,3…と自動設定 |
| 新しいx | 省略可 | 予測したいx値の範囲(複数可) |
| 定数 | 省略可 | TRUEまたは省略=切片あり、FALSE=切片ゼロ強制 |
Excel 365では、E2セルに次のように入力するだけで13・14・15か月目の予測値が自動的に3セル分スピルします。
=TREND(B2:B13, A2:A13, {13;14;15})
古いExcelや配列数式が使えない環境では、Ctrl+Shift+Enterで入力する必要がありましたが、Excel 365ではEnterキーのみで動作します。実績との差異確認も =B2:B13-TREND(B2:B13) のようにスピルを使えば補助列を使わずに一括計算できます。
3関数の使い分け比較
| 比較軸 | FORECAST.LINEAR | FORECAST.ETS | TREND |
|---|---|---|---|
| 出力数 | 1点 | 1点 | 複数点(スピル対応) |
| 季節変動 | 非対応 | 自動対応 | 非対応 |
| アルゴリズム | 最小二乗法(線形回帰) | 三重指数平滑法 | 最小二乗法(線形回帰) |
| 適したデータ | 単調増加・減少傾向 | 季節性あり・トレンドあり | 複数期間を一括計算 |
| 欠損値対応 | なし | 自動補完オプションあり | なし |
| 主な用途 | 翌月の単純予測 | 翌シーズンの売上予測 | 予測値の列を一括生成 |
選択の目安:前年比が毎月ばらつきなく上昇・下降しているなら FORECAST.LINEAR、夏に急増・冬に減少するような季節パターンがあるなら FORECAST.ETS、来年1~12月の予測値を一括で出したいなら TREND が適しています。
実務シナリオ別 活用パターン
シナリオ1:月次売上の翌月予測(FORECAST.LINEAR)
A2:A13に月番号1~12、B2:B13に月次売上が入っているシートで、13か月目の予測値をB14に表示します。
=FORECAST.LINEAR(13, B2:B13, A2:A13)
翌々月(14か月目)も出したい場合は =FORECAST.LINEAR(14, B2:B13, A2:A13) と引数xを変えるだけです。月番号の代わりに DATE(2026,1,1)~DATE(2026,12,31) のような日付列を使っても同様に動作します。Excelは日付をシリアル値(整数)として保持しているため、数値として扱えます。
精度を確認する方法:実績値と予測値を並べてグラフ化し、実績が直線の上下に均等に散らばっていれば回帰直線は有効です。一方、明らかに夏季だけ実績が外れる場合は季節性があると考えて FORECAST.ETS に切り替えましょう。
シナリオ2:季節性EC売上の予測(FORECAST.ETS)
ECサイトの売上はクリスマス・お盆・年度末など季節性の影響を強く受けます。過去2年分(24か月)のデータから翌年の各月を予測します。
B2:B25に2024年1月~2025年12月の日付、C2:C25に売上実績が入っている場合、2026年1月の予測は次のとおりです。
=FORECAST.ETS(DATE(2026,1,1), C2:C25, B2:B25)
2026年の全12か月を予測したい場合は、D列に2026/01/01~2026/12/01の日付を用意しておき、E2に次のスピル数式を入力します。
=FORECAST.ETS(D2:D13, C2:C25, B2:B25)
Excel 365では D2:D13 全体を一度に処理してスピルします。結果をグラフに追加すれば、実績線と予測線を重ねた分析グラフが完成します。
シナリオ3:来年12か月分の予測を一括計算(TREND)
昨年1年間の月次データ(A2:A13に月番号1~12、B2:B13に売上)から、来年1月(13か月目)~12月(24か月目)の予測値を一括出力します。
=TREND(B2:B13, A2:A13, A14:A25)
A14:A25に13~24の数列を用意しておけば、E14セルに上記の数式を入力するだけで12セル分の予測値がスピルします。FORECAST.LINEARで12個の数式をそれぞれ書く手間が不要になり、予測期間の変更もA列の数値を変えるだけで対応できます。
Excelの予測シートを活用する
数式を書かずに視覚的に予測を試したい場合は、Excelの予測シート機能が便利です。時系列データを選択した状態で操作することで、自動的に予測グラフと数値テーブルを含む新シートが生成されます。
- 時系列データ(タイムライン列+数値列)を選択する
- [データ]タブ→[予測シート]をクリックする
- [予測の終了]日付を設定する(デフォルトでデータの末尾以降が入力される)
- [オプション]で信頼区間・季節性・欠損値の処理を調整する
- [作成]をクリックすると新シートに予測グラフ+テーブルが生成される
生成されたテーブルには FORECAST.ETS・FORECAST.ETS.CONFINT 関数が自動で挿入されます。内部の数式を確認することで、FORECAST.ETS関数の使い方を実例から学ぶことができます。プレゼン資料に組み込む場合は、生成されたグラフをコピーしてPowerPointに貼り付けると「リンクされた図」として自動更新できます。
FORECAST.ETS補助関数の活用
FORECAST.ETSには予測の信頼性・統計量・季節性を返す3つの補助関数が用意されています。
| 補助関数 | 戻り値 | 用途 |
|---|---|---|
| FORECAST.ETS.CONFINT | 予測値の信頼区間(±幅) | 予測値±信頼区間でエラーバーをグラフに追加 |
| FORECAST.ETS.SEASONALITY | 検出された季節性の長さ(整数) | 自動検出の季節性を確認する |
| FORECAST.ETS.STAT | ETS平滑化定数・MASEなどの統計指標 | モデルの精度を定量評価する |
グラフに信頼区間を表示するには、予測値の上限と下限を計算してグラフのデータ系列に追加します。
予測値 =FORECAST.ETS(D2, C2:C25, B2:B25)
上限 =予測値+FORECAST.ETS.CONFINT(D2, C2:C25, B2:B25)
下限 =予測値-FORECAST.ETS.CONFINT(D2, C2:C25, B2:B25)
FORECAST.ETS.CONFINT の既定の信頼水準は95%です。信頼水準を変えたい場合は第4引数で指定します(例:0.99 → 99%信頼区間)。信頼区間が予測値に比べて著しく広い場合は、データのばらつきが大きいか季節性の検出が不安定なことを示しています。
よくあるエラーと対処法
| エラー・症状 | 主な原因 | 対処法 |
|---|---|---|
| #NUM! | 値の範囲とタイムラインの範囲のサイズが一致しない | 値・タイムラインの範囲を同じ行数に揃える |
| #NUM!(FORECAST.ETS) | タイムラインが等間隔でない・重複がある | 日付に抜けや重複がないか確認し整理する。集計引数で重複を解決する |
| #VALUE! | タイムラインや値に文字列・空白が混入している | 数値・日付以外のセルを除外し、空白はゼロまたは削除する |
| #N/A | 既知のxに重複がありFORECAST.LINEARが計算できない | 重複を除去し一意の値に整理する |
| 予測値が大幅に外れる | データが短すぎる(6か月未満)、外れ値が含まれる | データ期間を延ばす。外れ値のある行を手動で補正または除外する |
| 季節性が誤検出される | データが24か月未満で自動検出が誤る | 季節性引数に明示的な値(月次なら12)を指定する |
予測精度の検証方法:直近3か月などを意図的に「テスト期間」として除外し、残りのデータで予測した結果とテスト期間の実績を比較します。予測値と実績値の乖離率が業務上許容できる範囲に収まっていれば、そのモデルを本番適用する判断材料になります。
MOS Excel試験(MO-211)での出題ポイント
MOS Excel 365 エキスパート(MO-211)は試験時間50分、1000点満点で実施されます。合格点は公表されておらず、550点~850点が目安とされています。合格率は公表されていません。
FORECAST.LINEAR・FORECAST.ETS・TREND関数は、MO-211の出題領域「高度な機能を使用した数式およびマクロの作成」に含まれます。分野別の出題数・配点は公表されていません。試験ではデータ範囲を引数に正確に指定する・ターゲット日付を DATE 関数で渡す・スピル結果を確認するなどの操作が求められる場面があります。
試験はマルチプロジェクト形式で、5個~10個のプロジェクトで構成されます。各プロジェクト内に予測関数を使ったタスクが含まれる場合があります。タスク指示には「翌月の予測値を求めよ」「季節変動を考慮した予測値をセルに入力せよ」のような言葉が使われるため、関数名を適切に選択できるよう区別して覚えておくことが重要です。
- FORECAST.LINEAR の構文:第1引数にx(予測したい期間番号・日付)、第2引数に既知のy(実績)、第3引数に既知のx(期間番号・日付)の順に指定できる
- FORECAST.ETS の構文:第1引数にターゲット日付、第2引数に値、第3引数にタイムラインを指定し、季節性引数を適切に設定できる
- TREND の配列出力:新しいxに範囲を指定すると複数の予測値がスピルされることを理解している
- 引数の範囲一致:値とタイムラインのセル数が一致しないと#NUM!エラーになることを把握している
- 予測シートとの関係:[データ]タブの予測シート機能が内部的にFORECAST.ETSを使用していることを理解している
試験対策の学習時間の目安
MOS Excel 365 エキスパート(MO-211)の学習時間の目安(公式非公表のためハウス統一基準による目安)は、MOS Excel 365 一般レベル(MO-210)合格後に追加で60~100時間です。予測関数はエキスパート範囲の中でも実務直結度が高く、関数の構文を覚えることより「どの関数をどの状況で選ぶか」の判断が試験でも実務でも求められます。
受験料は一般価格と学割価格の2種があり、いずれも税込です。金額は更新されることがあるため、最新の受験料は公式サイトの「受験料・価格」(https://mos.odyssey-com.co.jp/exam/examfee.html)でご確認ください。
MOS試験 FORECAST・TREND関数チェックリスト
| 確認ポイント | 操作内容 | 難易度 |
|---|---|---|
| FORECAST.LINEARの基本入力 | =FORECAST.LINEAR(x, 既知のy, 既知のx) を正確に入力できる | ★★☆ |
| FORECAST.ETSのターゲット日付指定 | DATE関数で予測日付を生成し第1引数に指定できる | ★★☆ |
| 季節性引数の選択 | 月次データで季節性を12に設定できる(または自動検出を使う) | ★★★ |
| TRENDのスピル出力の確認 | 新しいx範囲を複数セルにしてスピル結果が表示されることを確認できる | ★★☆ |
| 引数範囲のサイズ一致 | 値とタイムラインが同じ行数であることを確認し#NUM!を防げる | ★★☆ |
| 予測シートの操作 | [データ]→[予測シート]から予測グラフ付きシートを生成できる | ★☆☆ |
PR
FORECAST・TREND・XLOOKUP・LAMBDAなど実務頻度の高い関数を優先順位順に解説。「どの関数をいつ使うか」の判断基準が身につき、MOS Excel エキスパート試験の関数問題対策にも直結する一冊。
PR
MOS Excel 365(MO-210/MO-211)の出題範囲を網羅した公式準拠の対策書。FORECAST・TREND関数を含むエキスパート範囲の演習問題が収録され、模擬試験機能で本番の操作感を事前に体験できます。
まとめ
本記事のポイントをまとめます。
- FORECAST.LINEAR:線形回帰で1点の予測値を返す。単調増加・減少傾向のデータに適し、構文は
=FORECAST.LINEAR(x, 既知のy, 既知のx)の3引数 - FORECAST.ETS:三重指数平滑法で季節変動を自動検出・考慮した予測値を返す。月次・週次など周期性のあるデータに効果的。ターゲット日付にはDATE関数で生成した日付を渡すのが基本
- TREND:線形回帰で複数期間の予測値をスピル出力する配列関数。来年12か月分を一括計算したい場面でFORECAST.LINEARより効率的
- 補助関数:FORECAST.ETS.CONFINTで信頼区間を取得してグラフのエラーバーに活用できる。FORECAST.ETS.SEASONALITYで自動検出の季節性を確認できる
- 予測シート:[データ]タブから自動でFORECAST.ETSを使った予測グラフ付きシートを生成できる。内部の数式は学習参考にもなる
- エラー対処:#NUM!はサイズ不一致・タイムライン不整合が主原因。#VALUE!はデータの文字列混入を確認する
- MOS試験:MO-211「高度な機能を使用した数式およびマクロの作成」に含まれる。構文の正確な入力と3関数の使い分け判断が問われる
FORECAST.LINEAR・FORECAST.ETS・TREND関数を習得すると、経営会議の前日に「翌月の売上見込みをExcelで出して」と依頼されても、数式を数本追加するだけで素早く対応できます。まずはFORECAST.LINEARで直線予測を体験し、次に予測シート機能でFORECAST.ETSのグラフを自動生成してみることをおすすめします。MOS Excel 365エキスパート(MO-211)を目指す方は、本記事のチェックリストを使って引数の順序と#NUM!の対処法を重点的に練習しておきましょう。
