「来期の売上を予測してほしい」と頼まれたことはありませんか。過去の実績をもとに将来の数値を見積もる作業は、手計算では大変です。ExcelのTREND関数を使えば、線形回帰の計算を自動化できます。
この記事では、TREND関数の基本から重回帰分析まで解説します。実務で使える手順をまとめました。
TREND関数とは?線形回帰で予測値を返す関数
TREND関数は、過去のデータをもとに将来の値を予測する関数です。内部的には「最小二乗法」という統計手法を使います。最小二乗法とは、データの傾向を最もよく表す直線を求める計算方法のことです。
たとえば過去12か月の売上データがあるとします。TREND関数はそのデータから傾向線(トレンドライン)を引きます。その直線を延長することで、13か月目以降の売上を予測できます。
TREND関数の読み方
読み方は「トレンド」です。英語の “trend”(傾向・推移)が語源です。
TREND関数でできること
TREND関数でできることは、大きく3つあります。
- 過去の時系列データから将来の値を予測する
- 複数の要因(広告費・気温など)から売上を予測する(重回帰)
- 複数の予測値を配列でまとめて返す
1つの要因だけでなく、複数の要因を組み合わせた予測ができる点がTREND関数の強みです。
TREND関数の構文と引数
基本構文は次のとおりです。対応バージョンはExcel 2016以降(Microsoft 365対応)です。
=TREND(既知のy, [既知のx], [新しいx], [定数])
[] 内の引数は省略できます。必須の引数は「既知のy」だけです。
各引数の役割を表にまとめます。
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 既知のy | 必須 | 実績データ(売上など予測したい数値) |
| 既知のx | 省略可 | 実績に対応する説明変数(月番号など)。省略時は {1,2,3,…} が自動設定される |
| 新しいx | 省略可 | 予測したい期間の説明変数。省略時は既知のxと同じ値が使われる |
| 定数 | 省略可 | TRUE(既定)で切片を計算する。FALSEで切片を0にする |
第1引数:既知のy
「既知のy」には、すでにわかっている実績データを指定します。たとえば、過去6か月の売上金額が入ったセル範囲です。
第2引数:既知のx
「既知のx」には、実績に対応する説明変数を指定します。月番号や年度など、yの値に対応する数値です。省略すると {1,2,3,…} が自動で割り当てられます。
第3引数:新しいx
「新しいx」には、予測を出したい地点の値を指定します。たとえば7か月目〜9か月目の売上を知りたい場合です。{7,8,9} に相当するセルを指定します。
第4引数:定数
通常はTRUE(既定値)のままで問題ありません。FALSEにすると、回帰直線が原点を通るように計算されます。特殊なケースを除き、変更する必要はありません。
TREND関数の基本の使い方|月別売上から来期を予測する
ここでは、6か月分の売上データから7〜9か月目の売上を予測する手順を紹介します。
サンプルデータと完成イメージ
次のようなデータを用意してください。
- A列(月番号):1〜6
- B列(売上):150, 180, 210, 195, 240, 260
- A9:A11に予測したい月番号:7, 8, 9
B9:B11に予測結果を出力します。
TREND関数の入力手順
Excel 2021 / Microsoft 365の場合、先頭セルに数式を入力するだけで結果がスピル(自動展開)します。
B9セルに次の数式を入力してください。
=TREND(B2:B7, A2:A7, A9:A11)
Enterキーを押すと、B9:B11に予測値が一括で表示されます。
配列数式の注意点
Excel 2019以前のバージョンでは、スピル機能がありません。配列数式として入力する必要があります。手順は次のとおりです。
- 出力先のセル範囲(B9:B11)をあらかじめ選択する
- 数式バーにTREND関数を入力する
- Ctrl + Shift + Enter で確定する
数式バーに {=TREND(...)} と中カッコが表示されれば成功です。この中カッコは手入力しないでください。Excelが自動で付与します。
TREND関数を実務で使う|広告費と気温から売上を予測する(重回帰)
TREND関数は、複数の説明変数を使った重回帰分析にも対応しています。重回帰分析とは、要因を2つ以上考慮する分析手法です。
複数の説明変数を指定する方法
たとえば「広告費」と「平均気温」の2つから売上を予測するケースを考えます。データの配置は次のとおりです。
- A列:広告費(万円)
- B列:平均気温(℃)
- C列:売上(万円)
このとき、既知のxには複数列をまとめて指定します。
=TREND(C2:C13, A2:B13, A14:B16)
ポイントは、既知のxに A2:B13 のように2列を指定することです。これだけで重回帰分析が実行されます。
重回帰の入力手順と結果の読み方
- 予測先のセル(C14など)を選択する
- 上記の数式を入力する
- Enterキーで確定する(Excel 2021以降)
結果は「広告費と気温の両方を考慮した予測売上」です。単一の要因だけを見るより精度が上がることが多いです。ただし、説明変数を増やしすぎると過学習のリスクがあります。実務では2〜3個の変数にとどめるのがおすすめです。
予測の精度を確認する|RSQ関数でR²をチェック
TREND関数で予測値を出したら、その予測がどれくらい信頼できるかを確認しましょう。RSQ関数を使うと、決定係数(R²)を求められます。
=RSQ(C2:C13, A2:A13)
R²は0〜1の値を取ります。1に近いほど予測精度が高いことを示します。
R²(決定係数)の目安
| R²の範囲 | 評価 | 実務での判断 |
|---|---|---|
| 0.8〜1.0 | 高い | そのまま予測に使える |
| 0.6〜0.8 | 中程度 | 実用レベル。傾向の把握に使える |
| 0.4〜0.6 | 低め | 参考値として扱う |
| 0.2未満 | 不十分 | 予測モデルの見直しが必要 |
R²が低いときの対処法
R²が低い場合は、次の3つを試してみてください。
- 説明変数を追加する: 売上に影響する別の要因(季節・曜日など)を加える
- 外れ値を確認する: 異常値がデータに含まれていないかチェックする
- 非線形の可能性を検討する: データが直線的でない場合はGROWTH関数(指数回帰)を試す
TREND関数・FORECAST.LINEAR関数・予測シートの違い
Excelには予測のための手段が複数あります。それぞれの特徴を比較表にまとめます。
| 項目 | TREND関数 | FORECAST.LINEAR関数 | 予測シート |
|---|---|---|---|
| 予測モデル | 線形回帰 | 線形回帰 | 指数平滑法(ETS) |
| 戻り値 | 配列(複数セル) | 単一値(1セル) | ワークシート+グラフ |
| 重回帰 | 対応 | 非対応 | 非対応 |
| 季節性の検出 | 非対応 | 非対応 | 自動検出 |
| 信頼区間 | なし | なし | あり |
| 対応バージョン | Excel 2016以降 | Excel 2016以降 | Excel 2016以降 |
どれを使うべきか?場面別の選び方
- 複数月の売上をまとめて予測したい → TREND関数
- 特定の1点だけ予測したい → FORECAST.LINEAR関数
- 季節変動のあるデータを予測したい → FORECAST.ETS関数(予測シート)
- 複数の要因から予測したい → TREND関数(重回帰)
迷ったらTREND関数を選べば、たいていの場面に対応できます。
TREND関数でエラーが出るときの対処法
TREND関数で発生しやすいエラーと対処法を紹介します。
#VALUE! エラー
原因: 既知のyや既知のxに文字列や空白セルが含まれている。
対処法: データ範囲に数値以外のセルが混じっていないか確認してください。空白セルがある場合は、0を入力するか範囲から除外します。
#REF! エラー
原因: 既知のyと既知のxの行数(データ数)が一致していない。
対処法: yとxのセル範囲の行数を揃えてください。たとえば、yが12行ならxも12行にします。
#N/A・#SPILL! エラー
#N/A エラーの原因: CSE(Ctrl+Shift+Enter)入力時に、選択した出力範囲と新しいxの個数が一致していない。出力範囲の選択をやり直してください。
#SPILL! エラーの原因: スピル先のセルにデータや数式が入っている。スピル先のセルを空にすれば解消します。Excel 2021以降で発生するエラーです。
まとめ
この記事では、TREND関数の基本から重回帰分析、予測精度の確認方法までを解説しました。
- TREND関数は線形回帰で将来の値を予測する関数
- 複数の予測値を配列で一括出力できる
- 複数の要因を考慮した重回帰分析にも対応
- RSQ関数でR²を確認し、予測の信頼度をチェックする
- 1点だけの予測ならFORECAST.LINEAR、季節性があるなら予測シートを使う
売上予測や需要予測の場面で、ぜひ活用してみてください。
関連記事
