エクセル実践塾 > エクセル実践塾2016

0〜9の数値を重複しないように並べたい

 

0〜9に乱数を割り当て、 その乱数の大きな順に0〜9を配置していく方法があります

RANDBETWEEN関数を使えば、 0〜9をランダムに配置することは可能ですが、 数値の重複は避けられません。

RAND関数の場合には、 0以上で1より小さい実数の乱数を作ることができます。

Excelは15桁の精度で乱数を生成するので、 乱数10個が重複することはまずありません。

この乱数を0〜9に割り当てて順位付けを行い、 0〜9を1つずつ取り出すようにすれば、 重複しない0〜9を配置することができます。


Excel 2016/2013

 

@取り出したい数値を並べ、 その左隣の各セルに、 RAND関数による0以上で1より小さい乱数を配置します

ARAND関数に引数はありません

0以上で1より小さい数値が、 それぞれのセルに表示されます。

Excelでは15桁の精度で計算が行われるので、 各セルに表示される数値の重複はまずありません。

Bセルの列番号を返すCOLUMN関数で、 0〜9の数値を配置する各セルに、 1〜10の数値を表示します

この数値は、乱数を大きなものから順に並べるために使います。

CCOLUMN関数で得た列番号から1を引く数式で、 各セルに1〜10の数値を表示できます

D縦方向に1〜10の数値を並べるときには、 行番号を返すROW関数を使います

ELARGE関数を使うと、 指定したセル範囲の中から、 指定した順位の数値を取り出すことができます

F「配列」として乱数のセル範囲を絶対指定で、 「順位」としてCOLUMN関数の数式を指定します

絶対指定は、セル範囲を選択してF4キーを押すことで設定できます。

G設定したLARGE関数式をコピーすると、 乱数の大きなものから順に表示されるようになります

HVLOOKUP関数を使って、 それぞれの乱数に該当する0〜9の数値を取り出します

I「検索値」としてLARGE関数式を、 「範囲」として乱数と0〜9のセル範囲を絶対指定で、 「列番号」として2(列目)を、 「検索方法」としてFALSEを指定します

絶対指定は、F4キーで行えます。

「列番号」として指定する2は、 「範囲」として指定したセル範囲の2列目のデータを取り出すことを意味します。

J各セルに、 重複しない0〜9の数値が表示されます

Ctrl+Enterキーで数式を確定すると、 選択中のセル範囲すべてに、 同じ数式が設定されます。

K縦マスの0〜9の数値の表示は、 横マスとは異なる乱数のセル範囲を使います

●マス計算の問題と、 その解答の作り方を解説する動画です

 

関連する他のページ

列幅の調整や、見出し行の固定を行いたい
列の区切り線をクリックすれば、列幅をデータ量に応じて調整できます
見出し行の固定は、[表示]タブ→[ウィンドウ枠の固定]→[先頭行の固定]を使います

行高と列幅を変えた表をコピーしたい
行単位で選択してコピーすれば、貼り付け時に「元の列幅を保持」を選ぶことで、 行高と列幅そのままの表をコピーできます

セルの幅を揃えたい
「ホーム」タブの「書式」→「列の幅」で、選択中のセルの列幅の確認や、選択中のセル範囲の列幅の変更を行えます

ページ番号を印刷したい
用意されている書式を選ぶだけで、ヘッダーもしくはフッターとしてページ番号を印刷できます

印刷するデータを、指定枚数に収めたい
拡大縮小印刷を使うと、指定枚数に印刷結果を収めることができます

行見出しや列見出しを毎ページに印刷したい
タイトル行やタイトル列として設定することで、特定の行や列を毎ページに印刷できるようになります

他のシートのデータを転記して使いたい
あらかじめデータ範囲に適当な名前をつけておけば、配列数式で簡単にできます

マス計算を簡単に行いたい
交差するセルで、項目値の計算結果を求めたいときには、Ctrl+Shift+Enterキーで配列数式にします

複数の検索データに合致するセル数を調べたい」
配列数式を使えば、COUNTIF関数で調べられます

階級ごとの度数を数式で求めたい
FREQUENCY関数を使えば、配列数式で簡単に度数を求められます

さらに条件を加えて、順位を求めたい
配列数式での条件の追加は、追加する条件式の乗算で行えます

COUNTIFS関数の使えない2007より前のExcelでも利用できる表を作りたい
COUNTIFS関数と同等の、配列数式を利用する方法があります

一つおきのセルの値を合計したい
配列数式を使えば、特殊な条件に合致するセルの値だけを合計することができます

素数を探し出したい
配列数式を使えば、一つの数式で、素数か否かを判断できます