プロが教えるわが家の防犯対策術!

株の収支をエクセルで管理していますが、関数がわかりません。

例えば、

日付     日経平均
2月末     10.624
3/1       10.754
3/2       10.492

合計       -132

毎日、日経平均を記入したときに下段の合計額に、2月末との差異を計算したいです。
3/1なら +130 3/2なら -132というように前月末比の金額を表示させたいのですが、
関数がわかりません。

わかる方いましたら教えてください。よろしくお願いします。  

A 回答 (5件)

添付図のように作成して


=LOOKUP(99999,B2:B33)-B2
のように。
「月末の値と、毎日の値の差額を計算したい。」の回答画像3
    • good
    • 0
この回答へのお礼

ありがとうございました。

完ぺきにできました。日経平均だけでなく、ダウ、ドル、ユーロも同じように
表計算していたのですが、この部分は関数がわからずに手計算で毎日入力してました。

これで毎朝のわずらわしさが無くなりました。ありがとうございました。

お礼日時:2011/03/04 16:09

仮にB2以下に先月末値を含み一月分(32行)として、その範囲の最下行を当日値として算出しています。


 =B2-INDEX(B2:B33,MATCH(MAX(B2:B33)+1,B2:B33,1))
    • good
    • 0
この回答へのお礼

ありがとうございます。

出来ました。自分の入力が間違えたのかも知れませんが、+と-が逆に
なってしまいましたが数字は正しく表示されました。問題無く使えます。

ありがとうございました。

お礼日時:2011/03/04 16:36

最終入力行を捉えるのが難しいのだが



A2:A4 
2月末10624
3月1日10754
3月2日10492
第2行目は固定位置とする。
上から詰めて入力されるとする(空白行は無いものとする)。<-注意
第32行など固定の行に「合計」を出すものとする。
ーーー
=INDEX($B$2:$B$31,COUNT(B2:B31)) でB列最終行(もちろん合計直前行までの最終行)のB列の計数が出る。
だから
B32行に =INDEX($B$2:$B$31,COUNT(B2:B31))-$B$2
32については適当に、月中のマーケットの開いている日数の最大日数を考えてください。
ーーー
空白行がある場合は=LOOKUP(10^10,$B$2:$B$31)で最終行が出ます。この意味が、初心者にはわかりにくいので、
とりあえず、途中空白行が無い例で上記は説明してます。
ーー
本件の場合に限り、A列は日付順だろうから、A列A2:A32の日付の最大値の行のB列の値(MAXとINDEX利用)で考えるのも判りやすいかも。
    • good
    • 0
この回答へのお礼

ありがとうございます。

確かに初心者にはわかりずらかったです。何人かの方から回答を
いただいて、いろんなやり方があるのだと思いました。

もっと簡単で単に自分が知らないだけだと思ってましたが、結構
難しいのですね。勉強になりました。

お礼日時:2011/03/04 16:27

下段に出さないとだめですか


右列に出すなら
画像でC3に 
=IF(COUNTA(A3:B3)=2,B3-$B$2,"")
下方にオートフィル
A3とB3両方に入力されたらB3からB2(2月末)を引いた数
をそれ以外は、空白とする。
こうすると毎日の差が見られます。
「月末の値と、毎日の値の差額を計算したい。」の回答画像2
    • good
    • 0
この回答へのお礼

ありがとうございます。

確かにこういう表示の仕方も便利ですね。質問の時に説明不足でしたが、

日付・日経平均、前日比、騰落率、ダウ平均、ドル、ユーロ、口座残高という
感じですでに項目が多いので、下段に表示していました。この部分のみ関数が
わからず毎日手計算して入力してました。

それで質問をしてみたのですが、この表示も見やすくできそうです。全体の
レイアウト(項目)を変更しないと横長になりすぎてしまいますが。次に
表計算を組む時の参考にさせていただきます。ありがとうございました。

お礼日時:2011/03/04 16:03

例えばA2セルから下方には古い順から新しい日付と入力していくとします。

また、B2セルから下方に日経平均を入力していくとします。C列には先月末の日経平均の値との差の1000倍した値を表示させるとしたらC2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(COUNTIF(A$1:A1,"<="&DATE(YEAR(A2),MONTH(A2),0))=0,"",(B2-INDEX(B:B,MATCH(10^10,B$1:INDEX(B$1:B1,MATCH(DATE(YEAR(A2),MONTH(A2),0),A$1:A1,1)))))*1000)

式の上で考慮した点は先月末以前のデータがない場合には空白とする、A列に先月末の日付があってもB列にデータがない場合にはその日付よりも前の日付でのデータを先月末のデータとして使用するようにしていることです。
    • good
    • 0
この回答へのお礼

ありがとうございます。

僕には難しくて、説明がよく理解できませんでした。けれども回答を
していただいて感謝しております。

何人かの方から回答をいただいて、いろいろなやり方(関数)があるのですね。
なるほど自分では考えてもわかるわけが無いと思いました。

お礼日時:2011/03/04 16:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!