- 締切済み
乱数に対して条件に合った値を返すには?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
全くの蛇足ですが、バージョンは古いがアドインは入れたくないって方の場合、参考URLの式で代用できます。ベストアンサーは辞退します。
- keithin
- ベストアンサー率66% (5278/7941)
>この図例以外にも乱数に対して返したい値がたくさんあるため >どのようにしたらいいのかわかりません。 添付図のように、丁寧に対応表を作成します。 B2にあなたの乱数が発生する場合に、対応する範囲の値を対応表から参照して次のように計算します。 C2: =IF(B2="","",RANDBETWEEN(VLOOKUP(B2,E:G,2),VLOOKUP(B2,E:G,3))) 以下コピー #注意 アナタのエクセルでは問題ありませんが、Excel2003以前を使う場合は分析ツールアドインのチェックを入れておく必要があります。
お礼
ご回答ありがとうございます。 表にしているため編集も簡単にできますね^^ やりたいことが出来て本当に助かりました。 ありがとうございました!
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! C5~C7セルに表示するのは整数で良いわけですよね? そういうコトだとして・・・ RANDBETWEEN関数を使用してみてはどうでしょうか? B列がお示しの数値以外の場合は空白としています。 C5セルに =IF(B5=2,RANDBETWEEN(3,4),"") C6セルに =IF(B6=4,RANDBETWEEN(1,4),"") C7セルに =IF(B7=1,4,"") としてF9キーを何度か押してみてください。 こんな感じではどうでしょうか?m(_ _)m
お礼
ご回答ありがとうございます。 >RANDBETWEEN関数を使用してみてはどうでしょうか? B列は乱数にするためRANDBETWEEN関数を使っています。 C列はB列の条件によって値が変わってきますよね? ご回答頂いた例では、 C5セルに =IF(B5=2,RANDBETWEEN(3,4),"") ですが、セルB5は2の固定ではなく乱数になります^^;
- shintaro-2
- ベストアンサー率36% (2266/6245)
>IF関数を使うと思うのですがやり方がわかりません。 IF文で実現しようとすると条件が多い場合は実現できませんので、 条件が多い場合は choose関数を使います。 関数ウイザードでサンプルをみながらやれば簡単でしょう。 >セルB6が4の時は、1~4の値を入れたいです。 何でやっても条件が明確でないので不可能です。 1-4をランダムで選ぶということでしょうか?
お礼
ご回答ありがとうございます。 choose関数ですね。一度調べてみますね。 >1-4をランダムで選ぶということでしょうか? そうです^^; 誤解しますよね。 セルB6が4の時は、1、2、3、4のいづれかの数字をランダムで選びたいです。
お礼
ご回答ありがとうございます。 RANDBETWEEN関数はアドインツールなのですね。知りませんでした^^; エクセルの古いバージョンで使う場合は、RAND関数を使うんですね。 勉強になりました!