[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『数式の範囲を固定』(まんそん)
株価の管理のために使用する管理表を作成しています。
やりたいことは、常に今日から前5日間の平均株価をだすことです。
《例》
sheet1 sheet2
C D E F G
5/22 5/19 5/18 5/17 5/16 平均株価
200 210 205 210 205 206円
↓ ↓
5/23 5/22 5/19 5/18 5/17 平均株価
210 200 210 205 210 207円
上に書いたような方法で管理していきたいので、平均株価のところには
=SUM(C1,D1,E1,F1,G1)/5 (各セルの前にsheet1!がはいっています。)
と式をいれてあります。
問題は、翌日新しい株価が出てきた際にC1に列を挿入し、
新しい株価を入力するのですが式自体も動いて
=SUM(D1,E1,F1,G1,H1)/5
というような式に変わってしまいます。
求めたいのは、今日から5日前までの株価平均なので
列を挿入しても式が動かないようにする方法が知りたいです。
よろしくお願いいたします。
< 使用 Excel:Excel2013、使用 OS:Windows7 >
INDIRECT関数で検索してください。 (稲葉) 2017/05/23(火) 08:24
>=SUM(C1,D1,E1,F1,G1)/5 (各セルの前にsheet1!がはいっています。)
セルが飛び飛びではなく連続している場合は、1個1個指定しなくても Sheet1!C1:G1 でオッケー。
質問の件ですが、1行目が日付だとして、株価は2行目だけ? 3行目以降も続いているとか?
■2行目だけなら =SUM(INDIRECT("Sheet1!C2:G2"))/5 とか =AVERAGE(INDIRECT("Sheet1!C2:G2")) とか
■3行目以降も続いているのなら =AVERAGE(OFFSET(Sheet1!B2,0,1,1,5)) とか =AVERAGE(INDEX(Sheet1!2:2,3):INDEX(Sheet1!2:2,7)) とかを下コピー
参考まで。 (笑) 2017/05/23(火) 10:53
ありがとうございます!
解決できました。
他にも伺いたいことができてしまいました…。
上で聞いたこととほぼ変わらないと思うのですが、当日株価を前日株価で割って率を出したいです。
もちろん固定はしたいので…
INDIRECT("sheet1!C2/sheet1!D2")
と入力したのですが、REFとなってしまいます。
原因おわかりになりますか?
(まんそん) 2017/05/24(水) 06:09
INDIRECT関数のヘルプは確認しただろうか? INDIRECT関数はセル参照を表す文字列を実際のセル参照に変換する関数。
なので行いたいことは =INDIRECT("sheet1!C2")/INDIRECT("sheet1!D2") となる (ねむねむ) 2017/05/24(水) 09:06
Sheet1に株価を入力するのは2行目だけなのか、3行目以降にも入力するのか、 答えてもらってないんですけど?
INDIRECTではないですが ↓ でも。
=INDEX(Sheet1!2:2,3)/INDEX(Sheet1!2:2,4)
3行目以降にも入力してるのならそのまま下へコピー
稲葉さんではありませんが、参考まで。 (笑) 2017/05/24(水) 11:17
なるほど!
他のサイトでINDIRECTについて調べはしたのですが、ねむねむさんが
記載していただいた式を拝見してやっとINDIRECTが少し理解できました!
ありがとうございます!
(まんそん) 2017/05/24(水) 22:24
すいません。答え忘れてます。
3行目も入力します。
《例》
5/24 5/23 5/22
A社 200円 210円 200円 …
B社 380円 375円 377円 …
という具合に入力します。
ありがとうございます!
(まんそん) 2017/05/24(水) 22:30
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.