- ベストアンサー
【EXCEL】1~1000000までのランダムな数値を入れたいのです。
毎度お世話になっております。 社員200名いるとします。 その社員一人一人にランダムなパスワード、重複しない数字6桁を振りたいのです。 エクセルのヘルプを見てもTDISTやTINVなど見慣れない関数ばかりです。 (´・ω・`)ショボーン 何か良い方法はありますでしょうか?
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
No4です。 > 一応パスワードなので最後の三桁もランダムになった方がよいのですが・・・ ではA1に =TEXT(ROUND(RAND()*1000000,0),"000000") B1に =COUNTIF($A$1:$A$200,A1) と入れて、200行下までドラッグしてください。 B列に1があれば重複してません。2以上は重複しているものです。 > 再計算したら数値が変わるのは防ぎようがないんでしょうか? 先ほど書いたように、結果がでたらコピーして別なところへメニューから「形式を選択して貼り付け」、「値」で値だけを貼り付けてください。式のままではどうしても再計算時にかわってしまいます。
その他の回答 (8)
- mshr1962
- ベストアンサー率39% (7417/18945)
B50000=RAND() と入力してコピー、Ctrl+Shift+HomeでA1:B50000を選択状態で貼り付け A1:A50000をコピーして、「編集」「形式を選択して貼り付け」で「値」として貼り付け これで1000000個の乱数が発生します。 C1=RANK(A1,A*B) と入力してC200までコピー、これを社員に割り振ります。
お礼
まだ試していませんが試してみようと思います。 どうもありがとうございました。
- pascal3141
- ベストアンサー率36% (99/269)
ランダム関数はでたらめな数字というだけで重複しない保証はありません。そのため、A列に001~999の連番を入れ、B列にランダム関数を入れ、下までコピー。B列でソートすれば、重複の無いでたらめな数字の並びができます。これで上3桁ができたので、その数字の並びを別シートにコピペしておき、下3桁も同様に作って、2つの3桁づつの数字を連結すればいいのではないでしょうか。
- momo525
- ベストアンサー率55% (10/18)
=RANDBETWEEN(1,999999) でいかがでしょう? (200程度ではまず重複はしないと思いますが、もしかすると重複しないとも限りませんが) また、0から始まる数字の場合、桁数が少なくなることがあるので、その場合は表示形式で「000000」を設定しておくと良いと思います。
- mu2011
- ベストアンサー率38% (1910/4994)
EXCEL2000を使用していますが、以下の関数で如何でしょうか。 =RANDBETWEEN(1,999999) (注)アドインで分析ツールをチェックしないと駄目かもかもしれません。
補足
エラーが出ます。 excel2003では駄目なんでしょうか。
- merlionXX
- ベストアンサー率48% (1930/4007)
RAND関数だけだと重複する場合もあると思いますので、RAND関数で100~999までの値を出し、この3桁に001~200までの連番をくっつけます。 これでまったく重複しなくなります。 A1せるに書きの式をコピーして、200行目までドラックしてみてください。 ただし、再計算すると数値が変わりますから、一旦コピーして値貼り付けした方が良いと思います。 =ROUND(RAND()*899+100,0)&TEXT(ROW(),"000")
お礼
どうもありがとうございます。 一応パスワードなので最後の三桁もランダムになった方がよいのですが・・・ 再計算したら数値が変わるのは防ぎようがないんでしょうか?
補足
ビンゴ
- lasichi
- ベストアンサー率31% (122/389)
No1です。書き忘れました。 さっきの例だと000000~999999までなので 1~1000000を出したいのでしたら+1して下さい。 重複チェックはCOUNTIFを使って実現できると思います。
お礼
すみません。 何かの作業がされるたびに再計算されてしまうのは excelの設定で自動再計算機能を殺さなければ防げないのでしょうか?
補足
GREAT
- a-yoshi
- ベストアンサー率34% (222/645)
>1~1000000までのランダムな数値を入れたいのです。 →RAND関数を使われたらいかがでしょうか。 =RAND()*1000000 違っていたらごめんなさい。
補足
天才
- lasichi
- ベストアンサー率31% (122/389)
ランダムな数字を出すだけでしたらRANDを使って =INT(RAND()*1000000) でいいんじゃないでしょうか? 必ず6桁という事ですのでセルの書式設定で ユーザー定義→000000にしておけばよいかと。
お礼
どうもありがとうございます。 いろいろやりましたが一番簡単にかつバラバラにできました。 重複チェックにはcountifでできるとの補足を頂きましたが、 恐れ入りますが具体的に教えてもらえないでしょうか。。。
補足
賢い
お礼
なるほど! 親切にありがとうございました! 感謝感謝