- ベストアンサー
エクセルでランダムな座席表を作成したい
zap35の回答
#02、04です。 う~ん困りました。補足していただいた内容だけでは到底期待に添うマクロは書けないからです。例えば「机の絵をレイアウトどおりに表示させて」って、具体的にはどのセルが氏名の表示セルなのかも分かりません。回答者は質問者さまのパソコンは見えないのです。 それにVLOOKUP関数を使用する方法は試していただけましたか? これでも毎回異なる座席表は作成できるはずです。どんな問題がありました?(試さずに「マクロでお願いします」はないですよね) とりあえずマクロは書いてみました。でもこちらで不足する情報を想像で補っていますから、きっと期待通りのものにはなりません。後はご自身で修正するなりしてください。 前提 ・シート1に座席表がある。氏名が入るセルはB,D,F,H,J列の2行目から2行おきとする ・シート2のA列に1~100の連番。B列に100人分の氏名が入力されている。C列は作業列として使うので何も入力しない ・実際の人数が100人に満たない場合、空席もランダムに発生する(人を前方に詰めることはしない。マクロを変更すれば詰めることも可能ですが…) 以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて下さい。マクロの実行はワークシート画面に戻ってALT+F8でマクロ一覧を開き、マクロ名を選択して「実行」ボタンです。 Sub Macro1() Dim idx, R, C As Integer Randomize For idx = 1 To 100 Sheets("Sheet2").Cells(idx, 3) = Rnd Next idx With Sheets("sheet2") .Activate .Cells(1, 1).CurrentRegion.Select Selection.Sort key1:=Range("C1"), Order1:=xlAscending, _ header:=xlGuess, DataOption1:=xlSortNormal For idx = 1 To 100 R = Int((idx - 1) / 5 + 1) * 2 'この式は実際の配置に合わせる C = ((idx - 1) Mod 5 + 1) * 2 '必要があります If .Cells(idx, "B") = "" Then Sheets("Sheet1").Cells(R, C).ClearContents Else Sheets("Sheet1").Cells(R, C).Value = .Cells(idx, "B") End If Next idx .Cells(1, 1).CurrentRegion.Select Selection.Sort key1:=Range("A1"), Order1:=xlAscending, _ header:=xlGuess, DataOption1:=xlSortNormal .Columns(3).ClearContents End With Sheets("Sheet1").Activate End Sub このマクロを実行するボタンを作成するなら、「ツールバー右クリック」→「フォーム」から「コマンドボタン」を選択し、画面上にコマンドボタンを配置して、マクロを登録すればよいでしょう
関連するQ&A
- ランダム関数で任意の桁数のランダム数字を作りたい
エクセル2000ユーザーです。ランダム関数を使い、重複を許さない5桁のランダム数字を1000個作りたいと思っています。randbetween関数を使おうと思ったのですが、2000では使えないのか、NAMEといったエラー表示がでます。5桁の中は同じ数字がでてきても構いません。例:11295、43634、70676・・・etc。 が、1000個の中では同じ数字が重複しないようにしたいです。 =RIGHT(RAND(),5) のように考えたのですが、他にいい方法はありますでしょうか? マクロやVBAは苦手なので、できれば関数でいいやり方があれば教えてください。
- ベストアンサー
- オフィス系ソフト
- Excel2002 ランダムに並べ替える関数
Excel2002で掛算九九の100マス計算を作っています。 マクロを使って、ボタンにマクロを登録し、九九の問題を作成したいのです。 1~10の数字をランダムに重複しないように、A1:J1に表示したいです。 A B C D E 1 9 7 8 1 2・・・ 2 2 3 8 4 1 5 4 でA1:J1の1~10の数字ををランダムに並び替えたいのですが、そういった関数はありますか? RANDBETWEEN関数を使ってみたんですが、重複する数字が返ってきてしまいます。 何か良い方法はありますか?
- ベストアンサー
- オフィス系ソフト
- 【EXCEL】1~1000000までのランダムな数値を入れたいのです。
毎度お世話になっております。 社員200名いるとします。 その社員一人一人にランダムなパスワード、重複しない数字6桁を振りたいのです。 エクセルのヘルプを見てもTDISTやTINVなど見慣れない関数ばかりです。 (´・ω・`)ショボーン 何か良い方法はありますでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルで3ケタの乱数
今度くじ引き大会をするのに3ケタの数字を250名ほどに配りたいのですが、それぞれの数字が重複なくかつ各桁数の数字が重複しないで乱数をエクセルで生成する方法を教えてください。(例えば、101,221,199などは除外したいです) RAND,RANDBETWEEN関数を使ってみましたが、重複してしまうし、221などのような各桁で数字が重複してしまうものができてしまうのでうまくいきません。 よろしくお願いします。
- ベストアンサー
- その他(業務ソフトウェア)
- 職場の座席表を作成したい
職場の座席表を作成したいのですが、レイアウトの変更や名前の入力が簡単にできて、 机や電話やパソコンなどの図を挿入できたりできるソフトな無いでしょうか? できればフリーソフトであれば嬉しいのですが。 以前にエクセルで図などを挿入して作成したのですが、そのときに使用した電話やパソコンなどの図が どこから引っ張ってきたか(確かエクセルのクリップアートだと思うのですが。。。) エクセルも新しいバージョンになりわからなくなってしまいました。 以前作成した座席表の元ファイルも今はもうありません。 もしいいフリーソフトが無くても、エクセルで挿入できる机や電話やパソコンの図 (以前はグレー色のいろんな図が固まって表示されて選べたのですが。。。) がどこにあるかご存知の方いらっしゃれば、その場所でも結構ですのでお教え下さい。 よろしくお願い致します。
- ベストアンサー
- その他(業務ソフトウェア)
- EXCELの並べ替えとランダムについて
ABCDEFGを一つのグループとして、ランダムに並べ替え それぞれのアルファベットに1234のいずれかの数字を 付加するという作業をしています。 例 CEGDBAF GDBEACF … 1433212 3224312 … 今は、ABCDEFGにRANDで数字をつけ、昇順で並び替え それに、RANDBETWEEN(1,4)で得た数字をつけていくという 作業をしているのですが、グループの数が多い場合 この方法だと限界があると思いました。 何かまとめてできる方法がありましたら 教えていただきたく思います。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルで0から300までの数字をランダム表示
エクセルで0から300までの数字をランダムに表示させる方法はありますか? 262 096 111 282 063 173 263 211 187 118 121 014 039 235 244 273 082 142 166 197 052 019 とこんな風に表示させていきたいんですが できますでしょうか?
- 締切済み
- オフィス系ソフト
- エクセルで条件付きランダム化を行う方法
はじめまして。 エクセル初級者です(2007ユーザー)。 なるべくマクロ関数を使わずに、条件付きのランダム化をする方法を探しています。 具体的には、1~5の数字をランダムに並べる際、1度も重複せずに並べたいと思っています。 例) 5, 3, 2, 4 ,1 / 2, 1, 4, 3, 5 などなど どうもラテン方陣というものを作るのが1番早いようですが、 今一つ作り方が分かりません。 上記どちらでもかまいませんので、もしご存知の方がいらっしゃいましたら教えてください。 よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- ランダムに6つの数字を選びその際、数字が重複しない様にする方法が知りたいです。
6個の枠があり、ボタンを押すとそれぞれの枠に ランダムに1~43の数字が表示できるようにしたいです。 その際それぞれの数字が重複しない様にしたいです。 ランダムに数字を選ぶようには、何となく解りますが、 重複しない様にする方法が解りません。 よろしくお願いします。
- 締切済み
- Flash
- エクセルでランダム組み合わせする方法
はじめまして、エクセルを使用してある集団からランダムに組み合わせを作りたいのですがよい方法あるいはヒントがあればアドバイスをいただきたいのでよろしお願いします。 具体的には、7列12行の席があり、その中からランダムに7席(名)を選んで1~3チームを作るというものです。各チーム内で重複しないようにし、7席(名)を選択する方法あればベストですが、それに近い方法でもよいです。(結果を見て、重複席を自分で変更するなど微調整できればよいと思っています。 ちなみに7列12行のそれぞれのセルには氏名か番号をつける予定です。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
お礼
お礼が送れて失礼いたしました。 実例のマクロを作成いただきありがとうございました。前提どおりのシートを作成して、マクロを少しずつ変更しています。希望通りのマクロにもう少しでなりそうです。後は自力でやってみます。ありがとうございました。
補足
ご対応ありがとうございます。記載していただいている前提条件のように述べる必要があったのですね・・・。 う、失礼いたしました。 VLOOKUPも試してみたのですが、エクセルをほとんど知らないメンバーでも操作できるようになるべく簡略化したかったのです。 今日、マクロを入れて試してみます。取り急ぎお礼まで。