この記事で分かること
- FORECAST.LINEAR・TREND・GROWTHそれぞれの構文と引数の意味、および旧関数FORECASTとの関係
- 過去の売上実績から翌期以降を予測する設例を、検算付きで一から組み立てる手順
- 一定額ずつ増える線形パターン(TREND)と一定率ずつ増える複利パターン(GROWTH)の使い分け
- 外れ値や構造変化が予測結果をどれだけ動かすか、感応度分析やシナリオ切替とどう組み合わせるか
結論:一定額ずつ増えるならFORECAST.LINEAR・TREND、一定率ずつ増えるならGROWTHで補間する
Excelには、過去の実績データから将来の値を関数だけで求める仕組みがあります。実績が「毎期ほぼ一定額ずつ増える」場合はFORECAST.LINEARまたはTRENDを使い、実績が「毎期ほぼ一定率ずつ増える(複利的に増える)」場合はGROWTHを使います。前者は直線 y=a+bx、後者は指数曲線 y=b・m^x のあてはめであり、どちらも内部では最小二乗法による回帰計算を行いますが、Excelのシート上ではセル参照を渡すだけで結果が返ってくるため、回帰の理論を意識しなくても使えてしまいます。だからこそ、構文・引数の意味・前提が崩れたときに何が起こるかを正しく理解しておく必要があります。
本記事は「関数としてどう組むか」に的を絞ります。どの予測手法(トップダウン・ボトムアップ・ドライバーベース・時系列)をそもそも選ぶべきかという判断軸は、予測手法の選び方|トップダウン・ボトムアップ・ドライバーベース・時系列の使い分けで扱っています。時系列予測を採用すると決めた後、Excel上でどの関数をどう組むかを知りたい読者は本記事から読み進めてください。
構文と引数:既知のy・xの範囲をどう指定するか
3つの関数はいずれも「既知のyの範囲」「既知のxの範囲」「予測したいx」という3種類の情報を渡す点で共通しています。まずFORECAST.LINEARです。
FORECAST.LINEAR(x, known_y’s, known_x’s)
x:予測したい時点(例:来期の期番号)
known_y’s:既知の実績値の範囲(被説明変数)
known_x’s:既知の時点の範囲(説明変数。known_y’sと同じ件数)
戻り値:xに対応する予測値を1つだけ返します。
旧関数のFORECASTは引数の並びも計算方法もFORECAST.LINEARと同一です。Excel 2016でFORECAST.LINEARが新設された際に名称が整理されましたが、既存ファイルとの互換性を保つためFORECASTも引き続き使えます。新規に数式を組む場合は、名称から挙動が分かりやすいFORECAST.LINEARを使うのが実務上は無難です。
TRENDとGROWTHは引数の形が共通で、既知のxを省略すると1,2,3…という連番が自動で使われ、予測したいxを省略すると既知のxと同じ範囲に対する当てはめ値(実績に対する回帰直線・回帰曲線上の値)が返ります。
TREND(known_y’s, [known_x’s], [new_x’s], [const])
GROWTH(known_y’s, [known_x’s], [new_x’s], [const])
known_y’s:既知の実績値の範囲(必須)
known_x’s:既知の時点の範囲(省略可。省略時は1,2,3…)
new_x’s:予測したい時点(省略可。複数セルの範囲も指定できます)
const:TRUEまたは省略時は通常どおり計算。FALSEにすると、TRENDは切片を0に、GROWTHは定数項bを1に固定します(原点を通る形に強制する特殊な使い方で、通常の売上予測では使いません)。
回帰計算そのもの(最小二乗法の仕組み、決定係数R²の読み方、残差診断)は回帰分析入門|財務予測とベータ推定をOLSの仕組みから理解するに譲り、本記事ではこれらの関数を実際にどう組むかに絞って進めます。
設例:過去実績から翌期以降の売上を予測する
以下は説明用の仮設例です。実在する企業や取引のデータではありません。ある事業部の過去6期分の売上高(百万円)が次の表のとおりだったとします。1期の間隔は四半期でも年度でも構いませんが、ここでは期という抽象的な単位で統一します。
| 期 | 実績(百万円) | 回帰直線上の予測値 |
|---|---|---|
| 1 | 800 | 805.2 |
| 2 | 850 | 843.8 |
| 3 | 880 | 882.4 |
| 4 | 930 | 921.0 |
| 5 | 950 | 959.5 |
| 6 | 1,000 | 998.1 |
| 7(予測) | — | 1,036.7 |
| 8(予測) | — | 1,075.2 |
E2:E7に期番号(1〜6)、F2:F7に実績値が入っているとして、期7の予測をセルF8に求める式は次のとおりです。
=FORECAST.LINEAR(8, F2:F7, E2:E7)
xに渡す8は「求めたい期番号」であって、範囲の何行目かではない点に注意してください。known_y’s・known_x’sの範囲は固定(F2:F7、E2:E7)のまま、xだけを7から8に変えれば次の期の予測になります。
手計算で検算すると、最小二乗法の傾きbと切片aはそれぞれ b≈38.57、a≈766.67(b=Sxy÷Sxx、a=ȳ−b・x̄という定義式から求まります)となり、期7の予測値は766.67+38.57×7=1,036.7、期8は766.67+38.57×8=1,075.2と、表の値に一致します。FORECAST.LINEARとTRENDは同じ最小二乗法を使うため、=TREND(F2:F7,E2:E7,8)と入力しても同じ1,036.7が返ります。
自分の手元データで試してみる
FORECAST.LINEARの計算そのものは3引数だけで完結しますが、実務では「予測を年度計画のどのセルに接続するか」「前提が変わったときに全体の数値がどう動くか」まで含めて設計する必要があります。財務3表モデルの中に予測ロジックを組み込む練習は、Labの演習で手を動かしながら確認できます。
TRENDの複数値・複数変数への拡張とFORECAST.LINEARとの違い
FORECAST.LINEARは1つのxに対して1つの予測値しか返せません。期7と期8の両方を求めたい場合、xを7にした式と8にした式を別々のセルに書く必要があります。TRENDはnew_x’sに複数セルの範囲を渡すことで、複数の予測値を1つの数式でまとめて返せます。
=TREND(F2:F7, E2:E7, {7;8})
またはH2:H3に7と8を入力しておき =TREND(F2:F7,E2:E7,H2:H3) とすると、Microsoft 365以降のExcelでは1つのセルに数式を入れるだけで隣接するセルへ自動的に結果が展開されます(スピル)。この動的配列の仕組みは動的配列関数を参照してください。2019以前のバージョンや配布先の環境が古い場合は、範囲を選択してからCtrl+Shift+Enterで確定する配列数式として同じ結果を得る必要があり、両者の違いはレガシー配列数式(CSE)とスピル配列の違いで解説しています。
もう一つの違いは、known_x’sに複数列を渡せるかどうかです。FORECAST.LINEARのknown_x’sは1系列(1列または1行)に限られますが、TRENDのknown_x’sは複数列にできます。たとえば「期番号」と「販促費」という2つの説明変数を同時に使い、売上を2変数で説明する重回帰も、TRENDであれば同じ関数の中で計算できます。ただし説明変数を増やすほど、係数の解釈や多重共線性の確認が必要になり、それは回帰分析そのものの論点です。本記事の設例のように説明変数が期番号1つだけの単回帰であれば、TRENDとFORECAST.LINEARの結果は完全に一致し、どちらを使っても構いません。使い分けの目安は、予測値を1つだけ返したいならFORECAST.LINEAR、複数期をまとめて返したい・説明変数を増やしたいならTRENDです。
GROWTHで複利成長率ベースの予測を作る
ここまでの売上高は、毎期おおむね一定額ずつ増える前提でした。一方、サブスクリプション型のビジネスの月間経常収益(MRR)のように、毎期おおむね一定率ずつ増える指標には、直線ではなく指数曲線をあてはめるGROWTHの方が実態に合います。以下は説明用の仮設例です。あるサブスクリプションサービスの月間売上(百万円)が次の表のとおりだったとします。
| 期 | 実績(百万円) | 前期比 |
|---|---|---|
| 1 | 100 | — |
| 2 | 108 | +8.0% |
| 3 | 117 | +8.3% |
| 4 | 126 | +7.7% |
| 5 | 136 | +7.9% |
| 6 | 147 | +8.1% |
| 7(予測) | 158.8 | — |
| 8(予測) | 171.4 | — |
G2:G7に実績、E2:E7に期番号が入っているとして、期7・期8の予測は次の式で求まります。
=GROWTH(G2:G7, E2:E7, {7;8})
GROWTHはy=b・m^xという指数曲線を、ln(y)を期番号に単回帰することで求めます(両辺の対数を取ると ln(y)=ln(b)+x・ln(m) となり、線形回帰の形に帰着します)。この設例のデータで検算すると、期間を通じた成長率mは約1.0800(年率換算ではなく1期あたり約8.0%)と推定され、期6の実績147に対してm、m²を掛けると158.8、171.4となり、GROWTHの戻り値と一致します。
ここで実務上役立つ視点は、GROWTHがCAGR(年平均成長率)のような「始点と終点だけを使う」簡便な計算とは異なり、6期すべてのデータを使って成長率を推定している点です。単純に(147÷100)の(1/5)乗−1で終点・始点だけからCAGRを計算すると約8.01%となり、この設例では両者はほぼ一致しますが、途中の期にノイズが大きい実データでは、全期間を使うGROWTHの推定値の方が1期だけの変動に引っ張られにくくなります。逆に言えば、成長パターンが期の途中で明確に変わっている場合は、GROWTHも古い期のデータに引きずられるため、次の見出しで扱う対処が必要になります。
予測の前提が崩れる場面:外れ値・構造変化への対処
FORECAST.LINEARもTRENDもGROWTHも、known_y’s・known_x’sに渡した範囲を機械的に回帰計算するだけで、そのデータが「予測に使ってよい実績かどうか」を判断してはくれません。一時的な大型契約や災害・規制変更のような一回限りの事象が実績に混ざっていると、予測は静かに歪みます。以下は説明用の仮設例です。先ほどの売上高の設例に、期4だけ一時的な大型契約(架空の想定)で1,400百万円を計上した期を追加し、期5〜7の実績を950・1,000・1,030として7期分のデータにしたとします。
=TREND(F2:F8,E2:E8,8)のようにE5:F5(期4の行)を含めた7期分をそのまま渡すと、期8の予測は1,138.6になります。一方、E5:F5を範囲から外し、期1〜3・5〜7の6期分だけをknown_y’s・known_x’sに渡すと、期8の予測は1,069.8になります。差は68.8、率にして約6.4%です。傾き自体の変化は小さいのですが、期4の値が全体の平均を押し上げるため、切片が766.9から835.7へ動き、その分だけ予測全体の水準が底上げされます。
関数を組む前にできる実務的な対処は、まずグラフや条件付き書式で実績を目視し、他の期から明らかに外れた値がないかを確認することです。一時的な事象だと判断できる値は、known_y’s・known_x’sの範囲から該当行を除外するか、除外前後の両方を計算して感応度を確認したうえで採用する予測を決めます。逆に、外れて見える値が一時的な事象ではなく、その期を境に構造そのものが変わった結果(新製品の投入、値上げ、規制変更など)である場合は、単に1点を除外するのではなく、変化前と変化後を別の期間として扱うべきかどうかを検討する必要があります。どの期を境に何が変わったかを時系列データから拾い出す分析はAIで複数年度の財務トレンドを分析する|「いつ何が変わったか」を見つける時系列分析で扱っているため、外れ値か構造変化かの判断に迷う場合はあわせて確認してください。
感応度分析・シナリオ切替との組み合わせ
FORECAST.LINEAR・TREND・GROWTHは、known_y’s・known_x’sに渡す範囲を変えるだけで前提を切り替えられるという性質があります。この性質は、感応度分析やシナリオ切替の仕組みと相性がよく、複数の前提を並べて比較するモデルを組みやすくします。
たとえば「全期間(6期)を使うか、直近3期だけを使うか」で予測がどれだけ変わるかを見てみます。先ほどの売上高の設例(期4の大型契約を含まない6期分)で、直近3期(期4〜6:930、950、1,000)だけを使ってTRENDを計算すると、期7は1,030.0、期8は1,065.0になります。全期間を使った場合の期7=1,036.7、期8=1,075.2と比べると差は小さいものの、直近の傾きの方がやや緩やかであることが分かります。どちらの前提を採用するかは、事業の状況(直近で成長が鈍化・加速していないか)を踏まえた判断であり、関数自体はどちらが正しいかを教えてくれません。
この「範囲をどこまで使うか」「どの前提を使うか」をシート上で切り替えられるようにしておくと、判断の材料が増えます。具体的には、CHOOSE関数やIF関数で「全期間」「直近3期」を切り替えるスイッチを1つのセルに置き、そのスイッチの値に応じてTRENDに渡すknown_y’s・known_x’sの範囲そのものを変える組み方や、前提となる成長率の仮定セルを1つ用意してデータテーブルで複数パターンの予測を一覧化する組み方があります。シナリオ切替の具体的な作り方はCHOOSE関数の使い方|財務モデルのシナリオ切替を作る方法を、データテーブルによる感応度分析の作り方はWhat-If分析の3兄弟|データテーブル・ゴールシーク・シナリオの使い分けを参照してください。シナリオ切替3方式の比較も、どの切替方式を採るかの判断材料になります。
よくある質問(FAQ)
Q. FORECASTとFORECAST.LINEARはどちらを使えばよいですか。
A. 計算方法はどちらも同じ線形回帰です。FORECAST.LINEARはExcel 2016以降に追加された新しい名称で、FORECASTは互換性維持のために残されている旧関数です。既存ファイルを触らないなら現状のままで問題ありませんが、新規に数式を組む場合はFORECAST.LINEARを使うのが分かりやすく、実務上も無難です。
Q. TRENDとFORECAST.LINEARはどちらを使い分ければよいですか。
A. 1つの時点に対する予測値を1つだけ求めるならFORECAST.LINEARで十分です。複数の時点をまとめて1つの数式で返したい場合や、説明変数を2つ以上に増やしたい場合はTRENDを使います。単回帰(説明変数が1つ)であれば、両者の計算結果は完全に一致します。
Q. 実績データがGROWTHとTRENDのどちらに向いているか、どう見分ければよいですか。
A. 前期比の増減額がほぼ一定であれば線形パターン(TREND)、前期比の増減率がほぼ一定であれば複利パターン(GROWTH)に近いと考えられます。本記事の設例のように前期比を並べて眺め、額が安定しているか率が安定しているかを見比べるだけでも、大まかな判断材料になります。
Q. 予測に使う実績の件数は何期分あればよいですか。
A. 関数自体は3期分あれば計算できますが、件数が少ないほど1期の変動が予測全体に与える影響は大きくなります。本記事の外れ値の設例のように、たった1期の異常値で期8の予測が約6.4%動く例もあるため、可能な範囲で件数を確保し、件数を変えたときに予測がどれだけ動くかも合わせて確認することをおすすめします。
Q. 決定係数R²が低くても、FORECAST.LINEARやTRENDの結果をそのまま使ってよいですか。
A. 関数はR²の高低にかかわらず、渡された範囲から機械的に値を計算して返します。回帰式がデータをどれだけ説明できているかという統計的な当てはまりの評価は関数自体には組み込まれていないため、あわせてR²を確認したい場合は回帰分析の考え方を扱った記事を参照してください。
まとめ
FORECAST.LINEAR・TREND・GROWTHは、いずれもknown_y’s・known_x’sという既知の実績範囲と、予測したい時点を渡すだけで将来値を返す関数です。実績が一定額ずつ増える場合はFORECAST.LINEARかTREND、一定率ずつ増える場合はGROWTHを使い、複数期をまとめて求めたい場合や説明変数を増やしたい場合はTRENDを選びます。一方で、これらの関数は渡された範囲を機械的に回帰計算するだけであり、外れ値や構造変化を自動では見分けてくれません。本記事の設例でも、たった1期の異常値で予測が約6.4%動くことを確認しました。実務では、関数の構文を正しく使うことと同じくらい、渡す範囲そのものが予測に使ってよい実績かどうかを見極めることが重要です。どの予測手法を選ぶべきかという判断軸は「予測手法の選び方」の記事を、回帰の統計的な意味を深く理解したい場合は「回帰分析入門」の記事をあわせて参照してください。
予測ロジックを財務モデルの中に組み込む
FORECAST.LINEAR・TREND・GROWTHの構文を覚えるだけでは、実務のモデルはまだ完成しません。予測した売上をP/L・キャッシュフローにどうつなぎ、前提を変えたときに全体がどう動くかまで一体で設計する力が実務では問われます。3表モデリングの教材で、予測ロジックを他の財務諸表と連動させる組み方を練習できます。
出典・参考(2026年9月確認)
- Microsoft サポート「FORECAST、FORECAST.LINEAR 関数」https://support.microsoft.com/en-us/office/forecast-and-forecast-linear-functions-50ca49c9-7b40-4892-94e4-7ad38bbeda99
- Microsoft サポート「TREND 関数」https://support.microsoft.com/en-us/office/trend-function-e2f135f0-8827-4096-9873-9a7cf7b51ef1
- Microsoft サポート「GROWTH 関数」https://support.microsoft.com/en-us/office/growth-function-541a91dc-3d5e-437d-b156-21324e68b80d
※本記事は教育目的の一般的な解説であり、法務・税務・投資助言ではありません。設例は理解のための仮設例です。