Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


26683 / 76732 ←次へ | 前へ→

【55379】Re:ユーザー定義関数について
質問  YUMI E-MAIL  - 08/5/1(木) 15:11 -

引用なし
パスワード
   A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,01,P1 ←範囲
と一行に並んだデータがあるのですが、これを
10←誤差 =< (STDEV(A1:J1)/STDEV(B1:K1))/100
      ↓OK
10←誤差 =< (STDEV(B1:K1)/STDEV(C1:L1))/100
      ↓OK
10←誤差 =< (STDEV(B1:K1)/STDEV(C1:L1))/100
      ↓OK
10←誤差 =< (STDEV(C1:L)/STDEV(D1:M1))/100
      ↓NO
ずっと、OKなら、データの端までの
1010←誤差 =< (STDEV(F1:O1)/STDEV(G1:P1))/100 で処理は終了。(処理の回数を出力)
この例では、
結果OKが3回続いたので、3を出力する事になります。つまり、処理が成立する回数を数えています。
この処理をユーザー関数として登録したいのですが、
ご指摘を受けて、私なりに考えたのですが以下のようなコードになりました。
///////////////////////////コード/////////////////////////////////////////
Function 日数(範囲,誤差)'まずここの範囲の書き方がわかりません。
               A1:P1みたいな書き方でいいのでしょうか?
Range("A1") "=count(範囲)"
m = Range("A1")
For s = 1 to m
'ここの標準偏差関数はSTDEV(range(cells(,),cells(,)))と言う書き方ではできないですが、どのような書き方に
’なるのでしょうか?
If 誤差 =< (STDEV(Range(cells(1,s),cells(1,s + 9)/STDEV(cells(1,s + 1),cells(1,s + 10))/100 Then
日数 = s         'ここで誤差内で合格したデータの処理回数の合計を数えています。
    If (m-s) = 10 Then 'この計算では最低11のデータがないと成り立たないので処理を終了させる。
    exit For
    end If
Else
exit For         'ここで誤差外が出たら、処理を終了
end If
Next s
end Function
//////////////////////////////////////////////////////////////////////////////////
少し考えましたが、ここまでしかわかりません。もしよろしければ、範囲の書き方と標準偏差の
cellsを使った書き方を教えていただけないでしょうか?
もしよろしければこのコードを補完していただけたら助かります。
0 hits

【55365】ユーザー定義関数について YUMI 08/4/30(水) 23:32 質問
【55369】Re:ユーザー定義関数について ひげくま 08/5/1(木) 9:12 発言
【55370】Re:ユーザー定義関数について neptune 08/5/1(木) 9:54 発言
【55379】Re:ユーザー定義関数について YUMI 08/5/1(木) 15:11 質問
【55380】Re:ユーザー定義関数について Jaka 08/5/1(木) 16:30 発言
【55382】Re:ユーザー定義関数について Jaka 08/5/1(木) 16:46 発言
【55385】Re:ユーザー定義関数について YUMI 08/5/1(木) 19:04 お礼
【55381】Re:ユーザー定義関数について ひげくま 08/5/1(木) 16:31 回答
【55384】Re:ユーザー定義関数について YUMI 08/5/1(木) 18:59 お礼

26683 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free