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

毎度お世話になっております。

社員200名いるとします。

その社員一人一人にランダムなパスワード、重複しない数字6桁を振りたいのです。

エクセルのヘルプを見てもTDISTやTINVなど見慣れない関数ばかりです。
(´・ω・`)ショボーン

何か良い方法はありますでしょうか?

A 回答 (9件)

ランダムな数字を出すだけでしたらRANDを使って



=INT(RAND()*1000000)
でいいんじゃないでしょうか?

必ず6桁という事ですのでセルの書式設定で
ユーザー定義→000000にしておけばよいかと。

この回答への補足

賢い

補足日時:2005/07/05 14:36
    • good
    • 0
この回答へのお礼

どうもありがとうございます。
いろいろやりましたが一番簡単にかつバラバラにできました。

重複チェックにはcountifでできるとの補足を頂きましたが、
恐れ入りますが具体的に教えてもらえないでしょうか。。。

お礼日時:2005/07/05 15:38

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


→RAND関数を使われたらいかがでしょうか。

=RAND()*1000000

違っていたらごめんなさい。

この回答への補足

天才

補足日時:2005/07/05 14:40
    • good
    • 0

No1です。

書き忘れました。
さっきの例だと000000~999999までなので
1~1000000を出したいのでしたら+1して下さい。

重複チェックはCOUNTIFを使って実現できると思います。

この回答への補足

GREAT

補足日時:2005/07/05 14:42
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/07/05 16:32

RAND関数だけだと重複する場合もあると思いますので、RAND関数で100~999までの値を出し、この3桁に001~200までの連番をくっつけます。


これでまったく重複しなくなります。
A1せるに書きの式をコピーして、200行目までドラックしてみてください。

ただし、再計算すると数値が変わりますから、一旦コピーして値貼り付けした方が良いと思います。

=ROUND(RAND()*899+100,0)&TEXT(ROW(),"000")

この回答への補足

ビンゴ

補足日時:2005/07/05 14:44
    • good
    • 0
この回答へのお礼

どうもありがとうございます。

一応パスワードなので最後の三桁もランダムになった方がよいのですが・・・

再計算したら数値が変わるのは防ぎようがないんでしょうか?

お礼日時:2005/07/05 14:57

EXCEL2000を使用していますが、以下の関数で如何でしょうか。


=RANDBETWEEN(1,999999)
(注)アドインで分析ツールをチェックしないと駄目かもかもしれません。

この回答への補足

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

補足日時:2005/07/05 15:39
    • good
    • 0

=RANDBETWEEN(1,999999)


でいかがでしょう?
(200程度ではまず重複はしないと思いますが、もしかすると重複しないとも限りませんが)

また、0から始まる数字の場合、桁数が少なくなることがあるので、その場合は表示形式で「000000」を設定しておくと良いと思います。
    • good
    • 0

ランダム関数はでたらめな数字というだけで重複しない保証はありません。

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

No4です。



> 一応パスワードなので最後の三桁もランダムになった方がよいのですが・・・

ではA1に  =TEXT(ROUND(RAND()*1000000,0),"000000")
B1に =COUNTIF($A$1:$A$200,A1)

と入れて、200行下までドラッグしてください。
B列に1があれば重複してません。2以上は重複しているものです。

> 再計算したら数値が変わるのは防ぎようがないんでしょうか?

先ほど書いたように、結果がでたらコピーして別なところへメニューから「形式を選択して貼り付け」、「値」で値だけを貼り付けてください。式のままではどうしても再計算時にかわってしまいます。
    • good
    • 0
この回答へのお礼

なるほど!

親切にありがとうございました!

感謝感謝

お礼日時:2005/07/06 09:50

B50000=RAND()


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

まだ試していませんが試してみようと思います。

どうもありがとうございました。

お礼日時:2005/07/06 09:51

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