ExcelのLOGEST関数の使い方|指数回帰の係数と売上予測を解説

スポンサーリンク

「売上が毎年加速して伸びているけど、この成長カーブをExcelで数式にできないかな?」と感じたことはありませんか。右肩上がりのデータを直線で近似すると、実態とズレた予測になってしまいますよね。

ExcelのLOGEST関数を使えば、指数回帰(しすうかいき)の係数をかんたんに求められます。基本構文・引数の意味・統計情報の読み解き方を解説します。GROWTH関数を組み合わせた売上予測の手順まで、まるごと説明しますよ。

LOGEST関数とは?どんなときに使う関数か

LOGEST関数は「ログエスト」と読みます。LOGarithmic + ESTimate(対数推定)が語源です。

LOGEST関数は、既存のデータに y = b × m^x という指数回帰モデルをあてはめ、係数(mとb)を返す関数です。mは成長率(倍率)、bは初期値を表しています。

たとえば、mが1.15と出たら「毎期15%ずつ成長している」とわかります。0.85なら「毎期15%ずつ減少」です。m=1なら変化なしを意味しますよ。

LOGEST関数は予測値そのものではなく「モデルの中身」を返す関数です。予測値がほしい場合はGROWTH関数と組み合わせて使います。

線形回帰と指数回帰の違い(LINEST関数との対比)

回帰分析には大きく分けて2種類あります。

  • 線形回帰(LINEST関数): y = a + bx のモデル。データが一定ペースで増減するときに使う
  • 指数回帰(LOGEST関数): y = b × m^x のモデル。データが加速度的に増減するときに使う

LOGEST関数は内部でデータを対数変換します。log(y) = log(b) + x × log(m) の形に変換し、LINESTと同等の線形回帰を実行しています。つまりLINESTの「指数バージョン」というイメージですね。

直線で近似できるデータにはLINEST関数、カーブを描いて加速するデータにはLOGEST関数と使い分けてください。

指数成長データの見分け方(グラフで判断するコツ)

データが指数成長かどうか迷ったときは、次の方法で確認できます。

  1. データを散布図にして、直線ではなくカーブを描いているかを確認する
  2. データの対数(LN関数)をとって散布図を作る。直線に近くなれば指数回帰が適している

たとえば売上データをLN関数で変換したあとのグラフがきれいに直線に並んでいたら、LOGEST関数を使うサインです。逆に、そのままのデータが直線的ならLINEST関数のほうが適していますよ。

LOGEST関数の構文と4つの引数

基本構文

=LOGEST(既知のy, [既知のx], [定数], [補正])

LOGEST関数は配列数式として動作します。Excel 2021・Microsoft 365では、結果が複数セルに自動展開(スピル)されます。Excel 2019以前は、Ctrl + Shift + Enter での確定が必要です。

引数①:既知のy(必須)

回帰の対象となるyの値を指定します。売上や利用者数など、予測したいデータ列のことです。

注意点: yに0や負の値が含まれていると #NUM! エラーになります。LOGEST関数は内部で対数計算を行うため、正の数のみ受け付けます。

引数②:既知のx(省略可)

yに対応するxの値を指定します。年度や月番号などの時間軸が一般的です。

省略すると {1, 2, 3, …} という連番が自動で割り当てられます。データが等間隔に並んでいるなら省略してもOKですよ。

引数③:定数(省略可)

初期値bの扱いを指定します。

動作回帰モデル
TRUE(既定)bを計算するy = b × m^x
FALSEbを1に固定するy = m^x

ほとんどの場合はTRUE(または省略)で問題ありません。原点を通る回帰を求めたい特殊なケースでFALSEを使います。

引数④:補正(省略可)

統計情報を追加出力するかどうかを指定します。

動作出力サイズ
FALSE(既定)係数のみ返す1行2列(mとb)
TRUE統計情報も返す5行2列(係数+統計量)

TRUEにすると決定係数R²やF統計量など、モデルの精度を評価するための情報も一緒に得られます。実務では最初にTRUEで出力して、モデルの信頼性を確認するのがおすすめです。

補正=TRUEで返される5行2列の出力を読み解く

LOGEST関数の補正をTRUEにすると、5行×2列(計10個)の値が返されます。ちょっと情報量が多く見えますが、それぞれの意味がわかれば難しくありません。

次のサンプルデータで実際に試してみましょう。

セルA列(年)B列(売上・万円)
2行目1100
3行目2120
4行目3150
5行目4180
6行目5220

D2セルに次の数式を入力してください。

=LOGEST(B2:B6, A2:A6, TRUE, TRUE)

Microsoft 365ではD2:E6に5行2列の結果がスピルします。Excel 2019以前では、D2:E6を選択した状態で数式を入力し、Ctrl + Shift + Enter で確定してください。

1行目:係数m・定数b(回帰式の本体)

D2(m)E2(b)
約1.21約82.5

これが回帰式 y = b × m^x の心臓部です。m ≈ 1.21 なら「年間約21%の成長率」、b ≈ 82.5 なら「x=0時点の初期値が82.5万円」を意味します。

mの読み方をまとめておきましょう。

  • m > 1:成長(例: m=1.21 → 年21%増加)
  • 0 < m < 1:減少(例: m=0.85 → 年15%減少)
  • m = 1:変化なし

2行目:各係数の標準誤差

D3(se_m)E3(se_b)
mの標準誤差bの標準誤差

係数の「ブレ幅」を示す値です。標準誤差が小さいほど、その係数の推定が安定していることを意味します。

3行目:決定係数R²とyの標準誤差

D4(R²)E4(se_y)
決定係数y推定値の標準誤差

R²(決定係数)は最重要の指標です。 0〜1の範囲で、1に近いほどモデルがデータにフィットしていることを示します。

  • R² ≧ 0.9:モデルの当てはまりが良い。予測に使える
  • R² < 0.7:当てはまりが弱い。LINEST(線形回帰)を試したほうがよいかもしれない

4行目:F統計量と自由度

D5(F値)E5(df)
F統計量自由度(残差)

F値が大きいほど「回帰モデルが偶然でなく意味がある」ことを示します。学術論文でなければ、R²だけ確認すれば実務上は十分ですよ。

5行目:回帰平方和と残差平方和

D6(ssreg)E6(ssresid)
回帰平方和残差平方和

回帰平方和はモデルが説明できた変動量、残差平方和は説明しきれなかった変動量です。ssreg ÷ (ssreg + ssresid) = R² という関係がありますよ。

実務で使う!LOGEST→GROWTHの2ステップ売上予測

LOGEST関数で係数を確認し、GROWTH関数で予測値を出す。この2ステップが実務での定番ワークフローです。

Step1:LOGESTで指数回帰の係数を取得する

先ほどのサンプルデータ(A2:B6)を使って、まずは係数と統計量を確認します。

=LOGEST(B2:B6, A2:A6, TRUE, TRUE)

出力の1行目からm(成長率)とb(初期値)を、3行目からR²(決定係数)を読み取ってください。

Step2:GROWTHで将来の売上予測値を算出する

R²が十分に高ければ(目安は0.9以上)、GROWTH関数で将来の値を予測します。

A8セルに「6」、A9セルに「7」、A10セルに「8」と入力しておきます。B8セルに次の数式を入力してください。

=GROWTH(B2:B6, A2:A6, A8:A10)

6〜8年目の予測値がスピルして表示されます。GROWTH関数は内部でLOGESTと同じ回帰計算を行い、新しいxに対するy値を直接返してくれますよ。

手動で計算したい場合は、LOGESTから得たmとbを使って次の式でも同じ結果になります。

=E2 * D2 ^ A8

E2がb、D2がmの場合です。GROWTH関数のほうが手軽ですが、式の仕組みを理解するには手動計算も試してみてください。

予測精度の確認方法(R²の見方)

予測の信頼性を判断するには、R²(決定係数)をチェックするのが基本です。

R²の範囲判断の目安
0.95以上非常に良好。安心して予測に使える
0.90〜0.95良好。実務では十分な精度
0.70〜0.90まずまず。予測は参考程度にとどめる
0.70未満当てはまりが弱い。モデルの見直しが必要

R²が低い場合は、データが指数成長ではなく線形成長のパターンかもしれません。LINEST関数に切り替えて比較してみてくださいね。

LOGEST・GROWTH・LINEST・TREND 4関数の使い分け比較表

回帰関連の4関数は役割が明確に分かれています。迷ったときはこの表を参考にしてください。

関数回帰モデル返すもの予測担当使いどころ
LOGEST指数(y = b × m^x)係数(m, b)+統計量GROWTH指数成長の成長率・初期値を知りたいとき
GROWTH指数(y = b × m^x)予測値加速度的に増減するデータの将来予測
LINEST線形(y = mx + b)係数(m, b)+統計量TREND線形成長の傾き・切片を知りたいとき
TREND線形(y = mx + b)予測値一定ペースで増減するデータの将来予測

ポイントは2つの軸で整理することです。

  • データの形状: カーブ → LOGEST / GROWTH、直線 → LINEST / TREND
  • 知りたいもの: 係数(モデルの中身)→ LOGEST / LINEST、予測値(結果)→ GROWTH / TREND

LOGESTとGROWTHはセットで使うのが定番です。LOGESTでモデルの妥当性(R²)を確認してから、GROWTHで予測を出す。この流れを覚えておけば、指数回帰による予測で迷うことはありませんよ。

よくあるエラーと対処方法

配列数式の入力ミス(#VALUE!エラー)

Excel 2019以前で Ctrl + Shift + Enter を押さずにEnterだけで確定すると、正しい結果が得られません。補正=TRUEの場合は1つ目の値(m)しか返されず、残りのセルに #VALUE! が出ることがあります。

対処法: 出力先セル範囲(補正=TRUEなら5行2列)を選択し、数式を入力します。そのあと Ctrl + Shift + Enter で確定してください。数式バーに {=LOGEST(…)} と中かっこが表示されれば成功です。

Microsoft 365やExcel 2021をお使いなら、自動スピルに対応しているのでこの問題は起きません。

データが指数曲線に合わない場合

LOGEST関数自体はエラーにならなくても、R²が著しく低い場合はモデルがデータに合っていない可能性があります。

確認ポイント:

  • yに0や負の値が含まれていないか → #NUM! エラーの原因になる
  • yとxの配列サイズが一致しているか → #REF! エラーの原因になる
  • 引数に文字列が混入していないか → #VALUE! エラーの原因になる
  • データが実は線形成長ではないか → LINEST関数を試す

R²が低いからといって間違いではありません。「このデータは指数回帰に向いていない」という有用な情報が得られたわけです。LINEST関数に切り替えるか、データの前処理(外れ値の確認など)を検討してみてください。

よくあるエラーの一覧はExcelのエラー値一覧も参考にしてくださいね。

まとめ

ExcelのLOGEST関数は、指数回帰モデル(y = b × m^x)の係数と統計量を求める関数です。

この記事のポイントをおさらいしておきましょう。

  • LOGEST関数は「成長率m」と「初期値b」を返す。予測値がほしいときはGROWTH関数を使う
  • 引数「補正」をTRUEにすると、5行2列の統計情報(R²・F値など)も取得できる
  • R²(決定係数)が0.9以上ならモデルの当てはまりが良好。予測に活用できる
  • 配列数式として入力する(Microsoft 365ではスピル対応)
  • カーブするデータにはLOGEST / GROWTH、直線的なデータにはLINEST / TRENDを使い分ける
  • yに0や負の値が含まれると #NUM! エラーになる

売上やアクセス数の成長率を分析したいときに、ぜひ活用してみてください。Excel関数の一覧はこちらから確認できます。

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