[[20150704002553]] 『エクセル関数について質問です。』(ゲン) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『エクセル関数について質問です。』(ゲン)

エクセル関数について質問です。

?@ セルA1に手持金50000円とした場合

?A セルB1に投資金(ちなみに投資金は1000円とする。)

?B セルC1に勝 負(勝敗を入力する)

?C 勝の場合 投資金の70%が利益

?D 負の場合 投資した投資金1000円がなくなる。

?E 合計損益をセルD1に。

?F ?Dで負けた場合は2回目の投資金は1.2倍で投資する。1200円という意味です。
  (※ちなみに2回目も連続で負けた場合 
   3回目の投資金額は1200円×1.2倍=1440円になります)
   
   総合損益がマイナスの場合は2の条件を元に賭け金を上げていく。
   賭けられる最低単位以下の数字は全て繰り上げて計算する。

?G  損益がプラスになった時点で終了し、最初?@に戻る。

   文字で説明すると少々ややこしいですが、
   簡単に概要をいうとマーチンゲール法が10敗を1勝で取り戻そうと
   するのに対し、10敗を数勝で総合的に取り戻そうとする賭け方がしたいので
   エクセル関数で簡単にできないかと。。。

   具体的にどう関数を入力したら良いのか理解できないためアドバイス等頂けたら幸いです。
   よろしくおねがい致します。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


こういうことでしょうか?

   A列                     B列
1  50000                   =A1+A4
2   1000                   =MIN(B1,IF(A3=1,1000,ROUND(1.2*A2,0)))
3  1                       -1
4  =IF(A3=1,A2*0.7,-1*A2)  =IF(B3=1,B2*0.7,-1*B2)
5                
6  =IF(RAND()>0.5,1,-1)    =IF(RAND()>0.5,1,-1)
7                
8  =MATCH(0,1:1,0) 

その後の手順:
(1)B2:B6 に 右にコピーペイスト
(2)6行目を行毎、3行目に値のみ複写
(3)破産時期がA8に表示されます。

補足:
勝った時は7割、負けたら投資額の全額没収ということですか?
それなら、もし勝ち負けが仮に均等だとしたら(上記はそういう前提ですが)、
早晩、破産するわけですね。

それとも、マルチンゲールになるような、均等ではない勝負の確率を求めるとかいう話に
つながるのだろうか。

(γ) 2015/07/04(土) 07:18


早速ありがとうございます。

お忙しいところ親切・ご丁寧に教えていただき
誠にありがとうございます。

凄いです。
どんな関数を使って良いのか全然解らない状態でした。^^;
色々な関数があるのですね。^^;
本当にありがとうございます。

それで後もう少しなのですが

1回目 1000円投資して勝の場合 合計損益は50700円になり
2回目
3回目
4回目 まで連続で3連敗した場合 投資金は1.2倍で増えていっているのですが
5回目は勝となりますと総合損益が48269となり
6回目の投資金が1000に戻ってしまっています。

総合損益がマイナスの場合(2回目の50700円よりマイナスという意味です)
要は50700円以上プラスになるまでは
投資金を1.2倍づつ上げていきたいのです。

ペイアウト70%の投資ゲームの場合
勝率さえよければ、これくらいのリスクはとってもいいのかなぁ〜と思っておりまして。

マルチンゲールは少しリスクが高すぎて
資金が無限でない限り投資では不向きだと思っておりまして。

お忙しいところ申し訳ございません。
何卒、今一度アドバイス頂けたら幸いでございます。
(ゲン) 2015/07/04(土) 23:16


よく読んだら、縦と横を逆にしていましたね。どうも失礼しました。
何度も実行させるのでしょうから、
乱数列をコピーする部分は、マクロにして、
それをシート上のボタンにでも登録すると楽でしょうね。

あなたの仕様に忠実ではなかったようですね。
所持金が50000を下回っているあいだは、1.2倍を続けると言うことですか?
もっと所持金が上がって10万円になってから負けても、1.2倍というのはしないのですか?

いずれにしても、「もうあと少し」なんですから、あなたが試行錯誤してはいかがですか?
こちらでなければ出来ないような話ではなさそうです。

(γ) 2015/07/05(日) 07:33


いつもありがとうございます。

よく読んだら、縦と横を逆にしていましたね。どうも失礼しました。

そう言われてみれば縦の方が解りやすいですね。
一度自分なりにいただいた数式をいじりながら
縦にできるよう頑張ってみます。

乱数列をコピーする部分は、マクロにして

まだまだ私には敷居が高すぎます。
できたら凄く便利だと思いますけど。
おいおい勉強していきます。

所持金が50000を下回っているあいだは、1.2倍を続けると言うことですか?

はい。そうです。

もっと所持金が上がって10万円になってから負けても、1.2倍というのはしないのですか?

1.2倍はします。
前回の所持金が10万円としたら総合損益が10万円を超えるまでは1.2倍づつ増やしていくとい事になります。

「もうあと少し」なんですから、あなたが試行錯誤してはいかがですか?

気分を悪くされてたら申し訳ございません。
ここまでタダで教えていただいて本当に感謝しております。
もうあと少しという意味は私の理想までという意味で
つい浮かれてしまい軽率な発言をしまして
大変不愉快な思いをさせてしまい本当に申し訳ありませんでした。

試行錯誤してはいかがですか?

今回のところが一番複雑な数式?関数?
ちんぷんかんぷんで、どの関数を使えばいいのか
全然発想が思いつきません。

大変あつかましいお話ですが
関数名?だけでもヒント教えていただけないでしょうか。

何卒よろしくおねがい申し上げます。

(ゲン) 2015/07/05(日) 10:17


 > 前回の所持金が10万円としたら、総合損益が10万円を超えるまでは1.2倍づつ増やしていく

 前回の所持金の「前回」というのがいつなのか不明ですが、
 例えばこんな考え方ができるでしょう。

 (1)
 「過去最大所持金」を新たな列に作ります。
 (t期)過去最大所持金 = Max(当期投資前所持金残高、(t-1期)過去最大所持金)
 で期毎に、前期の値をもとに作成できます。

 (2)
 投資金額は、
 ・当期投資前所持金残高 >= (t期)過去最大所持金なら、  1,000円   
 ・そうでなければ、                                    前期投資金額 * 1.2
 を計算し、それに所持金の上限を掛ければよいでしょう。
 (実際には、1000円投資するのは、等号が成立するときだけでしょうけど。)

 (3)
 これで考え方があっていれば、それを関数で書けば良いだけです。
 使う関数は、IF関数だけです。
 トライしてください。

(γ) 2015/07/05(日) 21:05


ありがとうございます。
トライしてみます。
(ゲン) 2015/07/06(月) 00:00

お世話になります。

よく読んだら、縦と横を逆にしていましたね。

やっとの思いで横にできたのですが

    A列    B列		                 C列   D列            E列
1   50000   2500	                  1   =IF(C2=1,B2*0.7,-1*B2)   =IF(RAND()>0.5,1,-1)
2   =A2+D2   =MIN(A3,IF(C2=1,2500,ROUND(1.2*B2,0))) -1   =IF(C2=1,B3*0.7,-1*B3)   =IF(RAND()>0.5,1,-1)

(1) 「過去最大所持金」を新たな列に作ります。 (t期)過去最大所持金 = Max(当期投資前所持金残高、(t-1期)過去最大所持金) で期毎に、前期の値をもとに作成できます。

(2) 投資金額は、 ・当期投資前所持金残高 >= (t期)過去最大所持金なら、 1,000円 ・そうでなければ、 前期投資金額 * 1.2 を計算し、それに所持金の上限を掛ければよいでしょう。 (実際には、1000円投資するのは、等号が成立するときだけでしょうけど。)

(3) これで考え方があっていれば、それを関数で書けば良いだけです。 使う関数は、IF関数だけです。 トライしてください。

何度やっても上手くいきません。
(1)(2)(3)についてもう少し簡単にご教示ください。

何卒よろしくおねがい申し上げます。
(ゲン) 2015/07/12(日) 14:24


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.