OFFSET関数を使って、区間を可変にした移動平均を求める方法をご紹介しました。
単純に
「=AVERAGE(OFFSET(E2,1-$F$1,0):E2)」
という数式を入力しただけでは、どうしてもエラーが表示されたり、正しくない値が返されるセルが存在してしまいます。
エラーが表示されないように、正しくない値が返されないようにするには数式を修正しましょう。
※E2セルから下に終値が入力されているときに、F1セルに区間を入力するとF2セルから下に移動平均が表示されるようにする例 F2セルに
「=IF(COUNT($E$2:E2)<$F$1,"",AVERAGE(OFFSET(E2,1-$F$1,0):E2))」
という数式を入力
↓
F2セルを下にオートフィル
「COUNT($E$2:E2)」
COUNT関数で数値データがいくつあるかカウントして
「IF(COUNT($E$2:E2)<$F$1,"",」
F1セルの値より小さい場合は空白に
そうでない場合に前回ご紹介した
「AVERAGE(OFFSET(E2,1-$F$1,0):E2)」
という数式で移動平均を求めるわけです。
前回ご紹介した数式と、IF関数がわかっている方にとっては、「COUNT($E$2:E2)」という部分がキモでしょう。
COUNT関数の引数の中で、絶対参照と相対参照を使うことで、オートフィルによるコピー後の数式が適切に変化してくれます。
考え方としてはSUM関数で累計を計算する方法と同じです。
▼サンプルファイル(003244.xls 185KByte)ダウンロード
サンプルファイルには前日ご紹介したエラー回避前のシートと、エラー回避処理を入れたシートが作成してありますので、F3セルの値を変更したときにどうなるかご確認ください。
なお、F3セルには「0"日移動平均"」というユーザー定義書式を設定してありますので、例えば「25」と数値を入力しても「25日移動平均」という表示になります。
- Newer:×少数点、○小数点
- Older:AMNブロガーミーティング「生命保険、保険料の秘密公開」1/28(水)開催
Home » Excel(エクセル)の関数・数式の使い方 » 統計 » 区間可変の移動平均でエラーが表示されないように