RAND関数でランダム(シャッフル)並べ替え【Excel】

Excelマクロ_シャッフルボタン_アイキャッチ Excel

ボタンを押すとランダムに替わるものって?

例えば名簿の順番入れ替え。
ボタンを押すたびに違う並び順(名前が入れ替わる)になる。

Excel_1RAND完成1

他にも、席順を替えるなど。
ちなみに、私も今のクラスで使っている。

Excel_2RAND完成2

ボタンを押して一瞬で入れ替わるということは・・・?

マクロを使っていくよ!
やり方は後ほど。

マクロについての詳しい解説はこちらから。

そして、入れ替えをするためにはRAND関数並べ替えを行う。
これも後ほど。

元となるデータの「マスタシート」を作る

まずは、マスタとなるデータを別シートに作っておこう。

Excel_3RANDマスタ

シート名は「マスタ」にしておく。

Excel_4RANDマスタタブ

こうすると、メンバーが変わっても「マスタシート」の氏名を変えるだけで
他は一切変えなくていい。

【C列】にRAND関数を入れればマスタは完成だ。

RAND関数

=RAND()
0以上で1より小さい乱数を発生させる。
つまり、RAND関数を使うと1未満のランダムな数字が表示されてくる。
※引数は入れないのでこれで完成。
※数字の更新は≪F9≫を押す。

【C2】にRAND関数を入れよう。

=RAND()

Excel_5RAND関数

この関数を入れて確定(Enter)すれば1未満の数字が表示されてくる。
※数字は人によって違うし、何かが更新されるたびにRAND関数の入っているセルの
数字は変わってくるよ。

では、計算式を下までコピーしよう。
【C2】のセル右下にあるフィルハンドルをダブルクリック。

フィルハンドル、オートフィルについてはこちらから。

Excel_6オートフィル後

すべてのセルにランダムな数字が表示された。

F9≫キーを押してみよう。

F9≫キー
押すたびにデータを更新する。セルを選択している必要はない。
※ファンクションキー(キーボードの一番上に並んでいる)のF9のこと。

セルを選択しなくても、RAND関数の入っているセルすべての数字が変わった。

Excel_7F9で更新

ここで【C列】を並び替えすれば氏名もそれに合わせて替わることになる。

並べ替え

並べ替えは、並べ替えたい列のうちどれか1つのセルを選択する。
その列内だったらどのセルでもOK

Excel_8r並べ替え選択

今回は昇順(小さい順)にしてみよう。

【C列】の中の1つのセルを選択したら、
データ]タブー並べ替えとフィルターグループの[昇順]ボタンを押す。
昇順ボタンは”A→Z”となっているボタンで、小さい順になる。

Excel_9昇順ボタン

【C列】に合わせて【A列】も【B列】も一緒に移動してくれる。

Excel_10並べ替え後

ちなみに、元の並び順が必要な場合は、このマスタのように
【A列】に連番となる№を入力しておくといい。
【A列】の中のセル1つを選択して昇順ボタンを押せばいつでも元の順番に戻る。

降順(大きい順)にしたい場合は、昇順ボタンの下 ”Z→A”のボタン。
並べ替えの条件が2つ以上だったり、色で並べ替えたい時は、
右側の[並べ替え]ボタンを使う。

※今回は単に順番が替わればいいので「昇順」ボタンでいい。

結果を表示する「順番シート」を作る

ボタンを押したら表示される側の「順番シート」を作る。
今回の表は簡単なもの。

入れる計算式は1つだけ。
「マスタシート」の【B列】を参照すればいい。

「順番シート」の【B2】のセルにカーソルをおき、”=”と入力後、マスタシートの【B2】を
クリックしてEnter。

表示される計算式はこれ。

=マスタ!B2
※””は、違うシートのセルを参照する時に表示される。””マークの前がシート名。
ここでは、マスタシートの【B2】セルの内容を表示するよってことになる。

Excel_11順番入れ替えシート

続けて【B2】のセル右下のフィルハンドルでダブルクリックすれば完成。

フィルハンドル、オートフィルについてはこちらから。

マスタの【B列】が表示されるようになった。

Excel_12オートフィル後

ランダムな並べ替えをする

F9≫キーでRAND関数設定セルの数字がランダムに替わることがわかった。
※「マスタシート」の【C列】のこと。

F9≫キーを押した後、変更された【C列】で昇順などの並べ替えをする。

これで「順番シート」の表示は自動で変更されてくる。
「順番シート」は「マスタシート」の【B列】を参照しているからね。

ではもう一度・・・

F9≫キーを押す

「マスタシート」の【C列】で昇順ボタンを押す
以上!!

これだけで「順番シート」のランダム並べ替えが完成するのだ!

この流れをマクロに記録してボタンに適用すれば、シャッフルボタンの出来上がりとなる!

ランダム並べ替え(シャッフル)のマクロを記録する

今回はマクロ記録の流れを一気に書くよ。

マクロについての詳しい解説はこちらから。

表示]タブ-マクログループの[マクロ]ボタンから「マクロの記録」を選択。

Excel_マクロボタン

マクロの記録ダイアログボックスが出てくるので、名前を登録する。
今回は「シャッフル」としよう。あとはそのまま。

Excel_13マクロ名

[OK]ボタンを押す。
これから先の操作は全て裏でVBAとなって記録されていく。

①「順番シート」の【A1】をクリック。(どこでもいいんだけど)
②≪F9≫キーを押す。
③「マスタシート」の【C1】をクリック。(C列ならどこでもいい)
④[データ]タブー並べ替えとフィルターグループの[昇順]ボタンを押す。
⑤「順番シート」の【A1】をクリック。
⑥[表示]タブ-マクログループの[マクロ]ボタンから「記録終了」を選択。

※記録終了を押し忘れると、ずーっと記録し続けるから注意!

Excel_記録終了ボタン

これでマクロの記録ができた。

シャッフルボタン(マクロを実行するボタン)を作る

図形を使って下のようなシャッフルボタンを作ろう。

Excel_1rand

図形でボタンを作る

図形は何を使ってもOK!

ちなみに上の図形は角丸四角形で描き、
図形の塗りつぶしから「青、アクセント5、黒+基本色50%」を選択。
さらに図形の効果から「標準スタイル1」を適用している。

図形の描き方についてはこちら

図形を選択して「シャッフル」と打てば文字が入る。

図形にマクロを適用する

図形の上で右クリックし「マクロの登録」を選択する。

マクロの登録ダイアログボックスが出てくるので、適用したいマクロ(シャッフル)を選択して
[OK]ボタンを押す。

Excel_14マクロ適用

図形にマウスポインタを合わせると手のマークに変わる。
これで完成。

シャッフルボタンを押してみよう。
押すたびに順番が並べ替えられるかな?

マクロを適用してから図形を変更したい場合
≪Ctrlキー≫を押しながらクリックすると図形として触れるようになる。

マクロを登録したファイル(ブック)は拡張子を変えて保存

せっかくマクロの記録をしても、いつものExcelファイル(ブック)に保存しては意味がない。
それではマクロは有効にならないのだ。

保存する時は拡張子を変える必要がある。

拡張子
ファイルの種類を識別するもので、ファイル名の最後につく。
.(ピリオド)から始まる半角のアルファベット。
パソコンはこの拡張子から、どのアプリケーションで開くか識別している。
※通常のパソコンでは拡張子は表示されないが、表示タブの拡張子にチェックを
入れると表示されるようになる。

Excelは通常「.xlsx」という拡張子だが、マクロ有効ファイル(ブック)は「.xlsm」となる。
マクロの「m」がつくよ。

拡張子を変えて保存するには、
名前を付けて保存から(ショートカットは≪F12≫キー)
ファイルの種類を「Excel マクロ有効ブック」に変更すればいい。

Excel_15マクロ有効ブック

※この時、拡張子を表示にチェックが入っているパソコンは図のように拡張子まで表示される。

マクロ有効ブックを開いた時に「セキュリティの警告」が出る場合がある。
自分が作ったファイルや信用のあるファイルは「コンテンツの有効化」を押さないとマクロが実行できなくなるから注意。
ただし、知らないファイルはマクロを使って何されるかわからないから有効化しちゃダメだよ。

タイトルとURLをコピーしました