乱数(ランダムな数)は統計などにおけるサンプルデータの生成に使いますが、リストをランダムに並べ替えるような使い方もできます。並べ替えの用途に適した「重複しないランダムな整数」を、関数の組み合わせで求める方法を紹介しましょう。「重複しないランダムな整数」で並べ替えExcelで「乱数」、すなわち「ランダムな数」を発生させる方法としては、RAND(ランダム)関数とRANDBETWEEN(ランダム・ビトウィーン)関数がよく知られています。乱数は主にサンプルデータを生成するために使われますが、もっと身近な用途として「リストをランダムに並べ替える」ことも挙げられます。レクリエーションのグループ分けや、席順を決めるときなどに便利ですよ。したランダムな並べ替えを行いたい場合、「重複しないランダムな整数」が求められると便利ですが、それにはひと工夫が必要です。【エクセル時短】第109回では、重複しないランダムな整数を生成する方法を見ていきましょう。RAND関数の乱数をRANK関数で順位付けするRAND関数とRANDBETWEEN関数の働きは似ていますが、RAND関数は「0以上1未満の実数(=小数)」、RANDBETWEEN関数は「指定した範囲内の整数」の乱数を発生させるという点で違いがあります。発生させた乱数が重複する可能性はゼロではありません。そこで、RAND関数で発生させた乱数を基準にRANK(ランク)関数で順位付けすることで、重複しないランダムな整数を求めます。これなら、リストをランダムに並べ替える用途にもピッタリです。RAND関数とRANK関数の構文を確認し、以下の手順を進めていきましょう。RAND()引数は不要です。順序)数値......順位を求めたい数値やセルを指定します。参照......順位を求めたい数値全体のセル範囲を指定します。順序......順位を「0」(または省略)なら降順、「1」なら昇順で数えます。1RAND関数を入力するセルC3に「=RAND()」と入力します。2乱数が発生した乱数が発生しました。ここではテーブルを利用しているので、リストの下方まで一気に入力されています。通常の表ではRAND関数をコピーしておいてください。3RANK関数を入力するセルD3に以下の数式を入力します。コピーしたときに引数[参照]の参照範囲がずれないように、絶対参照で指定しています。=RANK(C4,$C$3:$C$32,0)4ランダムな順位が生成されたランダムな順位が生成されました。テーブルでは内表では、RAND関数と同様にコピーしておいてください。5乱数と順位を[値]で貼り付けるRAND関数はシートが再計算されるたびに新しい乱数を発生させるため、このままでは何か操作したタイミングで順位が変わってしまいます。乱数と順位の列を[値]で貼り付けて、順位を固定しておきましょう。ここではリストを例にしましたが、単純に重複しない整数の乱数がほしいときにも使えるので、ぜひ覚えておいてください。RANK関数には新しいバージョンのRANK.EQ(ランク・イコール)関数があり、引数も機能もまったく同じです。2010以降では、どちらの関数を使ってもOKです。毎日役立つExcelのビジネス活用ノウハウ一覧Share記事をシェアするtweetpocketこの記事が気に入ったらいいね!しようできるネットから最新の記事をお届けします。たかし)元パソコン書籍の編集者。現在は、パソコンのほか、デジタルカメラやスマートフォンなどのデジタルデバイス、Webサービスなどに関する企画・編集・執筆を中心に活動しています。お届けした情報が少しでも役立ったと思ってもらえれば幸いです。