• ベストアンサー

乱数の利用で、九つのセルにそれぞれ違う数を(整数)を返すことはできるの

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

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.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列を選択して右クリックし「非表示」を選択すればよいでしょう。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

乱数というのは同じ数が出ることを排除するルール(本質)では在りません。 乱数というのは、数学的には難しい理論が背景に必要ですので素人には手におえません。 それで乱数を入れた列とは別に、上から別列に連続番号を振り、乱数列で並べ替え、連番の方をマス目に持ってくるなどしかないでしょう。 乱数はRAND関数ではその都度動くので、値として固定するほうが良かろう。 ーー この質問の9つというのは3x3行列のマス目ですか。自分が書いた文章を良く読んで、質問としてください。 そんな内容の質問の臭いもしますが。 ーー 例データ 連番  乱数(B列) 値化(B列) 1 5 5 2 9 6 3 2 8 4 8 7 5 2 4 6 8 8 7 3 6 8 3 2 9 3 8 B列の式は=INT(RAND()*(10-1)+1) 下方向に式を複写。 B列は色々場合によって変わる。 B列をコピーし、B列に 形式を選択して貼り付けー値、で式を消す B列で並べ替え 8 2 5 4 1 5 2 6 7 6 4 7 3 8 6 8 9 8 ーー E2に(ここを何処にするかで式が変わる) =INDEX($A$1:$A$9,MOD(ROW()-2,3)*3+1+MOD((COLUMN()-5),3)) G2まで式を複写。E2:G2をE4:G4まで式を複写 結果 8 5 1 2 7 4 3 6 9

outdoors80
質問者

お礼

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

noname#204879
noname#204879
回答No.2

1.セル C1 に式 =RAND() を入力して、此れを下方にズズーッと   セル C9 までドラッグ&ペースト 2.セル A1 に式 =MATCH(SMALL(C$1:C$9,ROW()),C$1:C$9,0)   を入力して、此れを下方にズズーッとセル C9 までドラッグ&   ペースト すると、範囲 A1:A9 に 1 ~ 9 の無重複の整数が得られます。

outdoors80
質問者

お礼

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

  • Sinogi
  • ベストアンサー率27% (72/260)
回答No.1

=INT(RAND()*10) を9つのセルに入力すると「それぞれ違う整数」はめったなことでは得られないでしょう。 A1~A9に=RAND()*10 とし B1に =RANK(A1,A$1:A$9) を入力して B1~B9までCopy & Paste

outdoors80
質問者

お礼

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

関連するQ&A