- 締切済み
セル範囲を任意に変更する方法は?
時系列データ(外国為替)の任意の日付から、任意の日数分を対象に データの分析をしたいのですが、対象範囲の指定方法が分かりません。 A B 1 日付 USD/JPY 2 061205 114.95 3 061205 114.95 4 061206 115.33 5 061207 115.15 6 061208 116.32 7 061211 116.76 8 061212 116.71 9 061213 117.40 10 061214 117.78 11 061215 118.16 例えば、12/15から過去5日間および10日間のドル円(USD/JPY)相場の 平均値を求めたい時、 =AVERAGE(B7:B11) 【過去5日平均】 =AVERAGE(B2:B11) 【過去10日平均】 と任意のセルに範囲指定すれば求められますが、 (1)基準セル(この場合"B11") (2)過去何日を対象にするのか?(この場合"5"とか"10") を入力すれば自動的に算出できるようにしたいのです。 (データは日々追加されるため、基準セルは可変となる) 初歩的な質問かもしれませんが、宜しくお願い致します!
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- now2150
- ベストアンサー率50% (17/34)
#3です。#4さんの式が正しいですね。 ですので#3の場合、セルC10には =AVERAGE(OFFSET(B10,-C$2+1,,C$2)) にして下さい。この後C2はどこにでも移動できます。
セル D1 に 5 とか 10 の数値を入力するとしたとき、 C11: =AVERAGE(OFFSET(B11,-D$1+1,,D$1))
お礼
思い通りの結果が得られました! ありがとうございました。
- now2150
- ベストアンサー率50% (17/34)
セルC2に期間パラメータの5や10を入力します。 セルC10に =AVERAGE(OFFSET(B10,$C$2*-1+1,0):B10) と入力します。そして下方にドラッグします。 セルC11は =AVERAGE(OFFSET(B11,$C$2*-1+1,0):B11) となりますよね。 あとはパラメータを変えれば任意の期間の平均値が求められます。 A B C 1 日付 USD/JPY MA(2行目はパラメータ) 2 5 3 06.12.05 114.95 4 06.12.06 115.33 5 06.12.07 115.15 6 06.12.08 116.32 7 06.12.11 116.76 8 06.12.12 116.71 9 06.12.13 117.4 10 06.12.14 117.78 116.99 11 06.12.15 118.16 117.36
- maron--5
- ベストアンサー率36% (321/877)
◆間違いました ◆対象日数は「C1]に入力します ◆なお、対象日数より、データ数が少ない場合はエラーになります
お礼
いろいろな方法があるんですね。 大変参考になりました。 ありがとうございました。
- maron--5
- ベストアンサー率36% (321/877)
◆いくつかの方法がありますが ◆B1に過去の対象日数を入力するものとします =AVERAGE(OFFSET(B2,COUNT(B:B)-1,,-C1)) または、 =AVERAGE(INDEX(B:B,COUNTA(B:B)-C1+1):INDEX(B:B,COUNTA(B:B))) または、 =AVERAGE(INDIRECT("B"&COUNTA(B:B)-C1+1&":B"&COUNTA(B:B)))
お礼
サポートありがとうございました!。 移動平均の算出以外にもいろいろと活用できそうです。