• ベストアンサー

【EXCEL】1~1000000までのランダムな数値を入れたいのです。

毎度お世話になっております。 社員200名いるとします。 その社員一人一人にランダムなパスワード、重複しない数字6桁を振りたいのです。 エクセルのヘルプを見てもTDISTやTINVなど見慣れない関数ばかりです。 (´・ω・`)ショボーン 何か良い方法はありますでしょうか?

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.8

No4です。 > 一応パスワードなので最後の三桁もランダムになった方がよいのですが・・・ ではA1に  =TEXT(ROUND(RAND()*1000000,0),"000000") B1に =COUNTIF($A$1:$A$200,A1) と入れて、200行下までドラッグしてください。 B列に1があれば重複してません。2以上は重複しているものです。 > 再計算したら数値が変わるのは防ぎようがないんでしょうか? 先ほど書いたように、結果がでたらコピーして別なところへメニューから「形式を選択して貼り付け」、「値」で値だけを貼り付けてください。式のままではどうしても再計算時にかわってしまいます。

sineminna
質問者

お礼

なるほど! 親切にありがとうございました! 感謝感謝

その他の回答 (8)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.9

B50000=RAND() と入力してコピー、Ctrl+Shift+HomeでA1:B50000を選択状態で貼り付け A1:A50000をコピーして、「編集」「形式を選択して貼り付け」で「値」として貼り付け これで1000000個の乱数が発生します。 C1=RANK(A1,A*B) と入力してC200までコピー、これを社員に割り振ります。

sineminna
質問者

お礼

まだ試していませんが試してみようと思います。 どうもありがとうございました。

回答No.7

ランダム関数はでたらめな数字というだけで重複しない保証はありません。そのため、A列に001~999の連番を入れ、B列にランダム関数を入れ、下までコピー。B列でソートすれば、重複の無いでたらめな数字の並びができます。これで上3桁ができたので、その数字の並びを別シートにコピペしておき、下3桁も同様に作って、2つの3桁づつの数字を連結すればいいのではないでしょうか。

  • momo525
  • ベストアンサー率55% (10/18)
回答No.6

=RANDBETWEEN(1,999999) でいかがでしょう? (200程度ではまず重複はしないと思いますが、もしかすると重複しないとも限りませんが) また、0から始まる数字の場合、桁数が少なくなることがあるので、その場合は表示形式で「000000」を設定しておくと良いと思います。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

EXCEL2000を使用していますが、以下の関数で如何でしょうか。 =RANDBETWEEN(1,999999) (注)アドインで分析ツールをチェックしないと駄目かもかもしれません。

sineminna
質問者

補足

エラーが出ます。 excel2003では駄目なんでしょうか。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

RAND関数だけだと重複する場合もあると思いますので、RAND関数で100~999までの値を出し、この3桁に001~200までの連番をくっつけます。 これでまったく重複しなくなります。 A1せるに書きの式をコピーして、200行目までドラックしてみてください。 ただし、再計算すると数値が変わりますから、一旦コピーして値貼り付けした方が良いと思います。 =ROUND(RAND()*899+100,0)&TEXT(ROW(),"000")

sineminna
質問者

お礼

どうもありがとうございます。 一応パスワードなので最後の三桁もランダムになった方がよいのですが・・・ 再計算したら数値が変わるのは防ぎようがないんでしょうか?

sineminna
質問者

補足

ビンゴ

  • lasichi
  • ベストアンサー率31% (122/389)
回答No.3

No1です。書き忘れました。 さっきの例だと000000~999999までなので 1~1000000を出したいのでしたら+1して下さい。 重複チェックはCOUNTIFを使って実現できると思います。

sineminna
質問者

お礼

すみません。 何かの作業がされるたびに再計算されてしまうのは excelの設定で自動再計算機能を殺さなければ防げないのでしょうか?

sineminna
質問者

補足

GREAT

  • a-yoshi
  • ベストアンサー率34% (222/645)
回答No.2

>1~1000000までのランダムな数値を入れたいのです。 →RAND関数を使われたらいかがでしょうか。 =RAND()*1000000 違っていたらごめんなさい。

sineminna
質問者

補足

天才

  • lasichi
  • ベストアンサー率31% (122/389)
回答No.1

ランダムな数字を出すだけでしたらRANDを使って =INT(RAND()*1000000) でいいんじゃないでしょうか? 必ず6桁という事ですのでセルの書式設定で ユーザー定義→000000にしておけばよいかと。

sineminna
質問者

お礼

どうもありがとうございます。 いろいろやりましたが一番簡単にかつバラバラにできました。 重複チェックにはcountifでできるとの補足を頂きましたが、 恐れ入りますが具体的に教えてもらえないでしょうか。。。

sineminna
質問者

補足

賢い

関連するQ&A