FORECAST.ETS.SEASONALITY関数の使い方|エクセルで季節の周期を調べる・必要なデータの長さ

FORECAST.ETS.SEASONALITY関数は、時系列のデータ(月ごとの売上など)から季節のくり返しの長さ(周期)を自動で見つける関数です。夏に売れて冬に落ちる、といった1年ごとの波があれば「12」(12か月ごと)のように返します。将来の値を予測する FORECAST.ETS 関数が、内部でどの周期を使っているかを確かめるのに使います。

この記事では、FORECAST.ETS.SEASONALITY 関数の書き方から、季節性を見つけるのに必要なデータの長さ、FORECAST.ETS の予測との関係、0 になるときの考え方まで、実際の Excel の画面で説明します。

式の書き方
数式=FORECAST.ETS.SEASONALITY(値, タイムライン, [データ補間], [集計])
練習用Excelファイル(無料ダウンロード)
「基本」「データの長さ」「予測に使う」の3シートです。2023年1月〜2025年12月の月ごとの売上が入っています。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
目次

FORECAST.ETS.SEASONALITY関数の書き方(構文)

=FORECAST.ETS.SEASONALITY(値, タイムライン, [データ補間], [集計])
引数意味
値売上などの時系列の数値の範囲
タイムライン日付の範囲。同じ間隔(毎月1日など)で並んでいること
データ補間(省略可)日付の抜けを補うか。省略または 1 で補う、0 で 0 として扱う
集計(省略可)同じ日付が複数あるときのまとめ方。省略すると平均

結果は周期の長さ(データの個数)で、見つからないときは 0 です。Excel 2016 以降・Microsoft 365 で使えます。

基本の使い方:月ごとの売上の周期を調べる

2023年1月〜2025年12月の36か月分の売上(B2:B37)と年月(A2:A37)から、季節の周期を調べます。D2 に次の式を入れると、12 になりました。

=FORECAST.ETS.SEASONALITY(B2:B37,A2:A37)
エクセルのFORECAST.ETS.SEASONALITY関数で3年分の月ごとの売上から季節の周期12を求めた例
エクセルのFORECAST.ETS.SEASONALITY関数で3年分の月ごとの売上から季節の周期12を求めた例

グラフを見ると、毎年 7〜8 月に高く、1〜2 月に低い波がくり返されています。この「12 か月ごとのくり返し」を、関数が自動で見つけたということです。

季節性を見つけるにはデータが何年分必要か

同じデータを 1 年分・2 年分・3 年分に区切って調べました。

エクセルのFORECAST.ETS.SEASONALITY関数で1年分や2年分のデータでは周期が0になる例
エクセルのFORECAST.ETS.SEASONALITY関数で1年分や2年分のデータでは周期が0になる例

1 年分(12 か月)と 2 年分(24 か月)では 0(季節性が見つからない)、3 年分で初めて 12 になりました。周期を見つけるには、波が何回かくり返されている必要があります。この例のように少しばらつきがあるデータでは、3 周期分くらいのデータがあると安心です。

FORECAST.ETS の予測との関係

FORECAST.ETS 関数は、4つ目の引数(季節性)を省略すると、この関数と同じ方法で周期を自動で決めて予測します。

エクセルのFORECAST.ETS関数で季節性を自動・12・0に指定して2026年1月と8月を予測した例
エクセルのFORECAST.ETS関数で季節性を自動・12・0に指定して2026年1月と8月を予測した例
季節性の指定2026/1 の予測2026/8 の予測
自動(省略)109.8190.7
12(周期を指定)109.8190.7
0(季節性なし)141.2149.7

自動と 12 を指定した結果は同じで、1 月は低く、8 月は高く予測されました(①)。季節性を 0(なし)にすると、1 月と 8 月の差は小さくなり、季節の波が予測に反映されません(②)。予測そのものの求め方は FORECAST.ETS関数の使い方で説明しています。

よくある間違い

症状考えられる原因対処
0 になるデータが短く、くり返しが見つからないデータを増やす(3周期分くらい)。周期が分かっているなら FORECAST.ETS に直接指定する。
#NUM! になる日付がすべて同じ・間隔が大きくばらばら・日付に文字が入っている毎月1日など、同じ間隔の日付にする。
#N/A になる値とタイムラインの範囲の大きさが違う2つの範囲を同じ行数にする。
思った周期と違う週ごとのデータで 7、月ごとで 12 など、データの間隔で周期の単位が変わる周期は「データ何個分か」と読む。

試したところ、年月の1つを空白にしたり、1か所だけ 4/17 のようにずらしたりしても、結果は 12 のままでした。日付をすべて同じにしたり、間隔を大きくばらばらにしたりすると #NUM! です。

よくある質問

週ごと・日ごとのデータでも使えますか?

使えます。結果は「データ何個分のくり返しか」なので、日ごとのデータで1週間の波があれば 7 のようになります。

予測の確からしさや、予測に使った統計値を知りたいときは?

予測の幅(信頼区間)は FORECAST.ETS.CONFINT関数、予測の誤差などの統計値は FORECAST.ETS.STAT関数で求められます。

グラフで予測を見たいときは?

[データ]タブの[予測シート]を使うと、FORECAST.ETS の予測と信頼区間がグラフ付きで作られます。

練習用Excelファイル(無料ダウンロード)
この記事の例がすべて入った練習用のファイルです。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

あわせて読みたい:時系列予測の関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次