アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excelに関する質問です。
ランダムに乱数を生じさせるべく、RAND関数を使用し、計算を行っています。
その際、特定のセルが特定の条件を満たすまで再計算を繰り返し行うようにしたいのですが、
どなたかよい方法をご存知の方いらっしゃいませんか?

具体的には、
V3セルに以下の文が入力されており
=IF(OFFSET(P3,'入力シ-ト'!Q3-1,0)>0.5,"OK","再計算必要")
が「OK」になるまで再計算を自動で行いたいのです。
OFFSET(P3,'入力シ-ト'!Q3-1,0)のセルに、Rand関数の絡んだ計算式があります。

上記にこだわらず、条件を満たすまで再計算をさせることはできるのですか?

A 回答 (3件)

ツールメニューのオプションの計算方法で反復計算のチェックを入れ,適切に回数の上限を定めておいてから式を作成します。



つまりV3には今の数式を入れておき,
乱数の式は,たとえばP3には
=IF(V3="OK",P3,乱数の式)
のようにしておきます。
    • good
    • 2
この回答へのお礼

さっそくやってみましたら、無事うまくいきました。
早々のお返事かんしゃしております。
ありがとうございます。

お礼日時:2010/06/20 23:50

「ゴールシーク」というコマンドについて、昔、本で読んだことがあります。



使い道がなくてスルーしたきりですが、条件を満たすまで答を探すってな機能だったと思います。

使えるかどうかは未知数ですが、検討する価値はあるかもしれません。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
ゴールシークというものを調べてみたところ、使えそうです。
今回は、マクロと一緒に使用しています。
ありがとうございました。

お礼日時:2010/06/20 23:51

以下でどうですか?


アレンジして使えませんか?

以下モジュールを標準モジュールに貼り付けて
A1にRAND関数を設定します。
A1が0.5以上だったらMacro1を以下だったらMacro2
を実行してください。

'セルA1が0.5以上になるまで再計算し続けます
'※A1にはRAND関数が設定されています
Sub Macro1()
Do Until Range("A1").Value >= 0.5
'再計算
Calculate
Loop
MsgBox "ok"

End Sub


'セルA1が0.5より小さくなるまで再計算し続けます
'※A1にはRAND関数が設定されています
Sub Macro2()
Do Until Range("A1").Value < 0.5
'再計算
Calculate
Loop
MsgBox "ok"

End Sub
    • good
    • 0
この回答へのお礼

お教えいただき助かりました。
こんな方法もあるのかと感心した次第です。
理解するには少し難解でしたが、今回そのまま使わせていただきます。
ありがとうございました。

お礼日時:2010/06/20 23:53

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