[[20171212115349]] 『ランダム関数で生成した数値を表示(蓄積)させた』(しゅがー) ページの最後に飛ぶ

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

 

『ランダム関数で生成した数値を表示(蓄積)させたい』(しゅがー)

ランダム関数RANDBETWEEN()を元に生成した数値を別セルでSUM関数にて合計し、その結果をさらに別セルで表示させています。(現状100行分)
F9にて更新させると合計値が変わります。

この合計値を別セルまたは別シートにF9を押した分(もしくは指定した分)を下に続くように表示(蓄積)させたいです。

A1〜A100=rand()
B1〜B100=IF(A1<0.5,1,-1)
C1〜C100=RANDBETWEEN(1,10)
D1=sum(C1:C100)
E1〜=D1に表示された数値をF9を押した分だけ下に蓄積されていく

ご教授頂ければ幸いです。
宜しくお願いします。

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


 F1セルとG1セルを作業セルとして使う。
 まず、Excelのオプションの数式で反復計算を行うにチェックを入れ、最大反復回数を1としてくれ。
 次にG1セルに1と入力。
 F1セルに
 =IF(G1=1,0,F1+1)
 と入力し、E1セルに
 =IF(G$1=1,"",IF(ROW(A1)=F$1,D$1,E1))
 と入力して下へフィルコピーする。

(ねむねむ) 2017/12/12(火) 13:17


 すまない。
 E1セルではなくE2セルに
 =IF(G$1=1,"",IF(ROW(A1)=F$1,D$1,E1))
 と入力して下にフィルコピーしてくれ。
 (E1セルはあくことになる) 
 これでG1セルをクリアセルとその時点からF9セルでD1セルの値を下へコピーしていく。
(ねむねむ) 2017/12/12(火) 13:22

 なお、G1セルに1と入力するとE列はクリアされる。
(ねむねむ) 2017/12/12(火) 13:26

 たびたびすまない。
 E2セルに入力する式は
 =IF(G$1=1,"",IF(ROW(A1)=F$1,D$1,E2))
 で。
(ねむねむ) 2017/12/12(火) 13:27

Dim dt As Long
Private Sub Worksheet_Calculate()
    Application.EnableEvents = False
    Range("E" & Rows.Count).End(xlUp).Offset(1).Value = dt
    Application.EnableEvents = True
    dt = Range("D1").Value
End Sub
(mm) 2017/12/12(火) 13:28

完璧です!ありがとうございました!本当に助かりました!
(しゅがー) 2017/12/12(火) 13:52

コメント返信:

[ 一覧(最新更新順) ]


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