プロが教える店舗&オフィスのセキュリティ対策術

乱数の利用で、九つのセルにそれぞれ違う数を(整数)を返すことはできるのでしょうか。
=INT(RAND()*10)を使うのは、わかるのですが、、、。

A 回答 (4件)

九つの数値とは1から9までの数値ということでしょうか、乱数の関数から直接に求めることはできませんね。


例えばJ1セルに =RAND() と入力してJ9セルまでオートフィルドラッグします。
その後にA1セルからI1セルまでの範囲に1から9までの数値をランダムに並べるとしたらA1セルには次の式を入力してI1セルまでオートフィルドラッグします。

=RANK(INDEX($J$1:$J$9,COLUMN(A1)),$J$1:$J$9,1)

F9ボタンを押すことで乱数計算を繰り返すことができますので、そのたびに数値の表示が変化します。
なお、J列が目障りでしたらJ列を選択して右クリックし「非表示」を選択すればよいでしょう。
    • good
    • 0

乱数というのは同じ数が出ることを排除するルール(本質)では在りません。


乱数というのは、数学的には難しい理論が背景に必要ですので素人には手におえません。
それで乱数を入れた列とは別に、上から別列に連続番号を振り、乱数列で並べ替え、連番の方をマス目に持ってくるなどしかないでしょう。
乱数はRAND関数ではその都度動くので、値として固定するほうが良かろう。
ーー
この質問の9つというのは3x3行列のマス目ですか。自分が書いた文章を良く読んで、質問としてください。
そんな内容の質問の臭いもしますが。
ーー
例データ
連番  乱数(B列) 値化(B列)
155
296
328
487
524
688
736
832
938
B列の式は=INT(RAND()*(10-1)+1)
下方向に式を複写。
B列は色々場合によって変わる。
B列をコピーし、B列に
形式を選択して貼り付けー値、で式を消す
B列で並べ替え
82
54
15
26
76
47
38
68
98
ーー
E2に(ここを何処にするかで式が変わる)
=INDEX($A$1:$A$9,MOD(ROW()-2,3)*3+1+MOD((COLUMN()-5),3))
G2まで式を複写。E2:G2をE4:G4まで式を複写
結果
851
274
369
    • good
    • 0
この回答へのお礼

ご丁寧に教えて頂いてありがとうございました。

お礼日時:2010/07/08 05:29

1.セル C1 に式 =RAND() を入力して、此れを下方にズズーッと


  セル C9 までドラッグ&ペースト
2.セル A1 に式 =MATCH(SMALL(C$1:C$9,ROW()),C$1:C$9,0)
  を入力して、此れを下方にズズーッとセル C9 までドラッグ&
  ペースト
すると、範囲 A1:A9 に 1 ~ 9 の無重複の整数が得られます。
「乱数の利用で、九つのセルにそれぞれ違う数」の回答画像2
    • good
    • 0
この回答へのお礼

ご丁寧に教えて頂いてありがとうございました。

お礼日時:2010/07/08 05:30

=INT(RAND()*10) を9つのセルに入力すると「それぞれ違う整数」はめったなことでは得られないでしょう。



A1~A9に=RAND()*10 とし
B1に =RANK(A1,A$1:A$9) を入力して B1~B9までCopy & Paste
    • good
    • 0
この回答へのお礼

ご丁寧に教えて頂いてありがとうございました。

お礼日時:2010/07/08 05:31

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