こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルでの計算式のアイディアが浮かばない…

株価をエクセルで計算したいのですが
うまく思いつきません…


例えばある会社の株価が1000円だったとします
そしてこの株価が次の日に1200円に上がったとします
この場合、株価は前日に比べて20%上昇しておりますので
この上昇率のパーセンテージを式にして表したいと思います


この場合エクセルには
A1に1000を入力してB1に1200と入力した場合
c3には"20"という数字がでます

計算式は以下になります
=SUM((B1-A1)/A1)*100


株価が上昇した場合は上記の計算式でOKなのですが
下落した場合ちょっとおかしくなってしまいます



例えば株価が1200円から1000円に下落した場合
同じように入力すると"-20%"という数字を出すことができません


-1.6666~
になってしまいます


株価が1000円から1200円になった場合
+20と表示させ
株価が1200円から1000円になった場合
-20と表示させるような計算式ってご存じでしょうか?


よろしくお願いします

投稿日時 - 2007-07-23 18:21:03

QNo.3192917

困ってます

質問者が選んだベストアンサー

前日比=現在値ー前日終値
前日比(%)=(現在値ー前日終値値)÷前日終値値×100

で計算すればいいのでは?

前日終値:1000 現在値:1200 の場合、
前日比=現在値ー前日終値=1200-1000=200
前日比(%)=200/1000*100=+20%

前日終値:1200 現在値:1000 の場合、
前日比=現在値ー前日終値=1000-1200=-200
前日比(%)=-200/1200*100=-16.6666%

したがって、
>株価が1200円から1000円になった場合
>-20と表示させるような計算式ってご存じでしょうか?
の考え方に誤りがあるのではないでしょうか?

間違っていたらごめんなさい。

こちらのサイトのデータで上記1,2行目の計算方法の
確認を行いました。
http://today.reuters.co.jp/investing/FinanceMarketsChain.aspx?sym=jp!n225&rpc=112

投稿日時 - 2007-07-23 22:20:59

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(10)

ANo.10

こんにちは。ひょっとして

   A   B   C  D
1 1,000 1,200 1,000 900
2      20  -20 -10
B2に
=(B1-A1)*100/$A1
右にコピー。

と、A1を基準値にしての値動きの率を?

投稿日時 - 2007-07-24 01:24:19

ANo.8

普通は、スタート時点の値を問題(分母)として、増減率を考えますよ。
質問者の例は、私の実務経験の時の考えとも違います。
エクセルのカテでなく、株・投資などのカテの経験者に聞いてみては。個人投資なら問題ないが、何か発表するようなときは、注釈が
必要。かえって、ノウハウとして、この考えの指標は、有意義だと世に評価されるかも。
ーー
しかし質問者がそうした意図とすれば、答える義務が?ある

2値のうち少ないほう=Min()を使い
例データ
B列   C列   D列
12001000-0.2
100012000.2
13001000-0.3
C1は =SIGN(C1-B1)*ABS(C1-B1)/MIN(B1,C1)
と入れて、下方向に式を複写する。
結果
C列

投稿日時 - 2007-07-23 19:50:42

ANo.7

質問のとおりにするなら、

=IF(A2<B2,(B2-A2)/A2,(B2-A2)/B2)*100

セルの書式設定で
ユーザー定義
+0;-0

これでリクエストどおり、+20 とか -20 の表示になります。

投稿日時 - 2007-07-23 18:44:39

ANo.6

関数式以前の問題で確認です
1000円の20%は200円です。ですから1000円の20%値上がりしたら1200円。これは分かります

1200円の20%は240円です。1200円から20%下落したら
 1200円-240円=960円
になりませんか? 
1200円が1000円に下落したら16%ダウンだと思うのですが?

前日値がA1、本日値がA2にあるとき、B2に
 =(A2-A1)/MIN(A1:A2)
とすればとりあえず希望の数字は出ますが、株の世界ではそれが普通なんですかね。

投稿日時 - 2007-07-23 18:40:33

まず、sum関数を使う意味がありません。=(B1-A1)/A1の計算式で、
書式をパーセンテージにするのが一般的です。

次に、差額の前日の価格に対する比ですから、1200→1000は16.6%の
下落で間違いありません。1200から20%下落すると、960です。
上がって下がって正味は同じっていうような話をするなら、比にし
ないで生身の差額を累計するか、前日比とは別に基準日を定めて、
基準日と今日の差額で比を出すようにするのがいいような気がしま
すが、私は株をやらないのでどういう習慣なのか判りません。

投稿日時 - 2007-07-23 18:34:01

ANo.4

excelだったらこれでどうでしょ。

=INT(B3/A3*100)-100

投稿日時 - 2007-07-23 18:33:52

ANo.3

sumに意味が無いのはまあいいとしまして、1200円が1000円になれば16.67%下がったわけですからいいのでは?
1200円が20%下がったら960円ですよね?

強引にやるなら
=IF(A1<B1,((B1-A1)/A1)*100,((A1-B1)/B1)*100)
でどうでしょうか?

投稿日時 - 2007-07-23 18:32:42

ANo.2

単純にセルの書式設定をパーセンテージにして
=SUM((B1-A1)/A1)*100←の「*100」をとってしまえば?

ちなみに1200→1000 17%ダウンです。

投稿日時 - 2007-07-23 18:31:11

ANo.1

書式の変更をして下さい。
%というボタンがありますのでそれをクリックすれば大丈夫です。

投稿日時 - 2007-07-23 18:30:12

あなたにオススメの質問