<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>RANDARRAY &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/randarray/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Sun, 17 May 2026 09:17:50 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>RANDARRAY &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのRANDARRAY関数の使い方｜ランダムな配列を一括作成する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-randarray/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-randarray/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 27 Dec 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[RANDARRAY]]></category>
		<category><![CDATA[スピル]]></category>
		<category><![CDATA[データ生成]]></category>
		<category><![CDATA[乱数]]></category>
		<category><![CDATA[動的配列]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2965</guid>

					<description><![CDATA[ExcelのRANDARRAY関数の使い方を解説。ランダムな数値（乱数）の配列を一括生成する方法を、引数の指定方法から整数・小数の切り替え、テストデータ作成・ランダムサンプリング・モンテカルロシミュレーション・SORT関数やINDEX関数との組み合わせ、RAND/RANDBETWEEN関数との使い分け、よくあるエラー対処まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「テスト用にランダムなデータが大量にほしい」「シミュレーション用の乱数を手入力するのは面倒すぎる」と感じたことはありませんか？ セル1つずつに乱数を入力していたら、あっという間に日が暮れてしまいますよね。</p>



<p class="wp-block-paragraph">ExcelのRANDARRAY関数を使えば、指定した行数・列数のランダムな数値を一括で生成できます。 数式は1つだけでよく、後から行数を変えるのも引数を書き換えるだけ。 この記事では、RANDARRAY関数の基本構文から整数・小数の切り替え、テストデータ作成・ランダムサンプリング・モンテカルロシミュレーションといった実務での活用例、よくあるエラーの対処法まで、初心者の方でも迷わないようにわかりやすく解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのRANDARRAY関数とは？</a><ol><li><a href="#toc2" tabindex="0">動的配列関数（スピル機能）の代表格</a></li></ol></li><li><a href="#toc3" tabindex="0">RANDARRAY関数の書き方（構文と引数）</a><ol><li><a href="#toc4" tabindex="0">基本構文</a></li><li><a href="#toc5" tabindex="0">引数の一覧</a></li><li><a href="#toc6" tabindex="0">引数を指定する順番に注意</a></li></ol></li><li><a href="#toc7" tabindex="0">RANDARRAY関数の基本的な使い方</a><ol><li><a href="#toc8" tabindex="0">例1: 5行3列のランダムな整数を生成する</a></li><li><a href="#toc9" tabindex="0">例2: 引数をすべて省略した場合</a></li><li><a href="#toc10" tabindex="0">例3: 行・列だけを指定する</a></li><li><a href="#toc11" tabindex="0">例4: 小数の範囲を指定する</a></li><li><a href="#toc12" tabindex="0">例5: マイナスを含む乱数を作る</a></li></ol></li><li><a href="#toc13" tabindex="0">RANDARRAY関数の実践的な活用例</a><ol><li><a href="#toc14" tabindex="0">活用例1: テストデータの一括生成</a></li><li><a href="#toc15" tabindex="0">活用例2: SORT関数と組み合わせてソート済みの乱数を作る</a></li><li><a href="#toc16" tabindex="0">活用例3: ランダムサンプリング（無作為抽出）</a></li><li><a href="#toc17" tabindex="0">活用例4: モンテカルロ法のシミュレーション</a></li><li><a href="#toc18" tabindex="0">活用例5: INT関数と組み合わせて整数に変換する</a></li><li><a href="#toc19" tabindex="0">活用例6: 値を固定する方法（再計算で変わらないようにする）</a></li></ol></li><li><a href="#toc20" tabindex="0">RANDARRAY関数でよくあるエラーと対処法</a><ol><li><a href="#toc21" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc22" tabindex="0">#CALC! エラー</a></li><li><a href="#toc23" tabindex="0">#NAME? エラー</a></li><li><a href="#toc24" tabindex="0">#SPILL! エラー</a></li></ol></li><li><a href="#toc25" tabindex="0">RAND・RANDBETWEEN関数との違い・使い分け</a><ol><li><a href="#toc26" tabindex="0">使い分けの目安</a></li><li><a href="#toc27" tabindex="0">互換性の観点</a></li></ol></li><li><a href="#toc28" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのRANDARRAY関数とは？</span></h2>



<p class="wp-block-paragraph">RANDARRAY関数は「ランダムアレイ」と読みます。 「Random（ランダム）」と「Array（配列）」を組み合わせた名前です。</p>



<p class="wp-block-paragraph">この関数は、指定したサイズのランダムな数値の配列を返します。 たとえば「5行3列の乱数テーブルがほしい」といった場面で、たった1つの数式で15個分の乱数を一括生成できますよ。</p>



<p class="wp-block-paragraph">RANDARRAY関数はMicrosoft 365またはExcel 2021以降で利用できます。 Excel 2019以前の環境では使えないので、ご注意くださいね。</p>



<h3 class="wp-block-heading"><span id="toc2">動的配列関数（スピル機能）の代表格</span></h3>



<p class="wp-block-paragraph">RANDARRAY関数は「動的配列関数」の1つで、結果が自動的に隣接セルへ展開（スピル）するのが特徴です。 スピルとは、1つのセルに入力した数式の結果が、必要な範囲のセルに自動的にあふれ出して表示される仕組みのこと。</p>



<p class="wp-block-paragraph">たとえば A1セルに <code>=RANDARRAY(5, 3)</code> と入力すると、A1からC5までの15セルに自動的に乱数が広がります。 数式が入っているのはA1だけなので、修正したいときも1か所を直すだけで全体が更新されますよ。</p>



<p class="wp-block-paragraph">スピル範囲全体を一度に参照したいときは、先頭セルのアドレスに <code>#</code> を付けて <code>A1#</code> のように書きます。 「合計や平均を計算したい」といった場面でも便利な書き方です。</p>



<h2 class="wp-block-heading"><span id="toc3">RANDARRAY関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc4">基本構文</span></h3>



<pre class="wp-block-code"><code>=RANDARRAY([行], [列], [最小値], [最大値], [整数])</code></pre>



<p class="wp-block-paragraph">引数は5つありますが、すべて省略できます。 省略した場合は、0以上1未満の小数が1つだけ返されます（つまりRAND関数と同じ動きですね）。</p>



<h3 class="wp-block-heading"><span id="toc5">引数の一覧</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th><th>省略時の初期値</th></tr></thead><tbody><tr><td>行</td><td>省略可</td><td>配列の行数（1以上の整数）</td><td>1</td></tr><tr><td>列</td><td>省略可</td><td>配列の列数（1以上の整数）</td><td>1</td></tr><tr><td>最小値</td><td>省略可</td><td>生成する数値の下限</td><td>0</td></tr><tr><td>最大値</td><td>省略可</td><td>生成する数値の上限</td><td>1</td></tr><tr><td>整数</td><td>省略可</td><td>TRUE=整数 / FALSE=小数</td><td>FALSE（小数）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>「整数」引数のポイント</strong>: TRUEまたは1を指定すると整数だけが生成されます。 FALSEまたは0（省略時も同じ）だと小数値になります。 TRUEを指定したときは、最小値と最大値も整数で指定するのが安全ですよ。</p>



<h3 class="wp-block-heading"><span id="toc6">引数を指定する順番に注意</span></h3>



<p class="wp-block-paragraph">RANDARRAY関数の引数は「行→列→最小値→最大値→整数」の順番です。 RANDBETWEEN関数の引数の順番（下限→上限）に慣れていると、つい <code>=RANDARRAY(1, 100)</code> のように書いてしまいがちですが、これは「1行100列の0〜1の小数」を作る式になってしまいます。</p>



<p class="wp-block-paragraph">「1〜100の整数を1つだけほしい」場合は <code>=RANDARRAY(1, 1, 1, 100, TRUE)</code> と書く必要があります。 引数の順番は意識しておきたいポイントですね。</p>



<h2 class="wp-block-heading"><span id="toc7">RANDARRAY関数の基本的な使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc8">例1: 5行3列のランダムな整数を生成する</span></h3>



<p class="wp-block-paragraph">1から100までの整数をランダムに生成してみましょう。</p>



<pre class="wp-block-code"><code>=RANDARRAY(5, 3, 1, 100, TRUE)</code></pre>



<p class="wp-block-paragraph">この数式を1つのセルに入力するだけで、5行3列の15個の整数が自動的に展開されます。 入力したセルから右と下に結果がスピルされるので、展開先のセルは空けておいてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc9">例2: 引数をすべて省略した場合</span></h3>



<pre class="wp-block-code"><code>=RANDARRAY()</code></pre>



<p class="wp-block-paragraph">引数をすべて省略すると、0以上1未満の小数が1つ返されます。 この動きはRAND関数と同じです。 「とにかく乱数が1個ほしい」だけなら、RAND関数のほうが短くて済みますね。</p>



<h3 class="wp-block-heading"><span id="toc10">例3: 行・列だけを指定する</span></h3>



<pre class="wp-block-code"><code>=RANDARRAY(3, 4)</code></pre>



<p class="wp-block-paragraph">行と列だけを指定すると、3行4列の配列で0以上1未満の小数が返されます。 最小値・最大値・整数は省略時の初期値（0, 1, FALSE）が使われますよ。</p>



<h3 class="wp-block-heading"><span id="toc11">例4: 小数の範囲を指定する</span></h3>



<p class="wp-block-paragraph">「0〜100の小数（小数点以下も含む）」を作りたいときは、整数引数をFALSEまたは省略にします。</p>



<pre class="wp-block-code"><code>=RANDARRAY(5, 3, 0, 100, FALSE)</code></pre>



<p class="wp-block-paragraph">これで0以上100未満の小数が15個生成されます。 売上の重み付けや確率シミュレーションなど、連続値が必要な場面で使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">例5: マイナスを含む乱数を作る</span></h3>



<p class="wp-block-paragraph">最小値にマイナス値を指定すれば、負の数を含む乱数も生成できます。</p>



<pre class="wp-block-code"><code>=RANDARRAY(5, 3, -50, 50, TRUE)</code></pre>



<p class="wp-block-paragraph">-50から50までの整数がランダムに生成されます。 偏差値の模擬データや、増減の幅を試したいシミュレーションで活躍する書き方です。</p>



<h2 class="wp-block-heading"><span id="toc13">RANDARRAY関数の実践的な活用例</span></h2>



<h3 class="wp-block-heading"><span id="toc14">活用例1: テストデータの一括生成</span></h3>



<p class="wp-block-paragraph">ダミーの売上データなどを作りたいときに便利です。 たとえば、100人分の売上金額（1,000円〜50,000円）を一括で作るなら次のように書きます。</p>



<pre class="wp-block-code"><code>=RANDARRAY(100, 1, 1000, 50000, TRUE)</code></pre>



<p class="wp-block-paragraph">100行1列の配列で、1,000から50,000の間の整数がランダムに生成されます。 ピボットテーブルやグラフの動作確認、研修用の練習データなど「中身は適当でいいから、それっぽい数字が大量にほしい」場面で重宝しますよ。</p>



<p class="wp-block-paragraph">複数列のテストデータがほしいときは、列ごとに別の引数で組み合わせます。 たとえば「売上（1,000〜50,000）」と「数量（1〜10）」の2列を作るなら、隣り合わせのセルに別々のRANDARRAY式を入れる形ですね。</p>



<h3 class="wp-block-heading"><span id="toc15">活用例2: SORT関数と組み合わせてソート済みの乱数を作る</span></h3>



<p class="wp-block-paragraph">ランダムに生成した数値を昇順で並べたいときは、SORT関数で囲みます。</p>



<pre class="wp-block-code"><code>=SORT(RANDARRAY(10, 1, 1, 100, TRUE))</code></pre>



<p class="wp-block-paragraph">これで1から100の整数が10個、小さい順に並んだ状態で表示されます。 降順にしたいときは <code>=SORT(RANDARRAY(10, 1, 1, 100, TRUE), 1, -1)</code> のように、SORT関数の第3引数に-1を指定してください。</p>



<p class="wp-block-paragraph">テスト用のソート済みデータがほしいときや、検索関数（VLOOKUP・XLOOKUPなど）の動作確認をしたいときに重宝しますよ。</p>



<h3 class="wp-block-heading"><span id="toc16">活用例3: ランダムサンプリング（無作為抽出）</span></h3>



<p class="wp-block-paragraph">「100人のリストから10人をランダムに選びたい」といった抽選・サンプリングの場面でもRANDARRAY関数が活躍します。 INDEX関数とSORTBY関数と組み合わせるのが定番ですね。</p>



<p class="wp-block-paragraph">たとえばA2:A101に100人分の名前があるとして、SORTBY関数を使えば次のように書けます。</p>



<pre class="wp-block-code"><code>=INDEX(SORTBY(A2:A101, RANDARRAY(100)), SEQUENCE(10))</code></pre>



<p class="wp-block-paragraph">RANDARRAY(100)で100個の乱数を作り、それをキーにA2:A101を並べ替えています。 結果のうち先頭10件をINDEX関数とSEQUENCE関数で取り出す形ですね。 「重複なし・等確率」で10人を抽出できます。</p>



<p class="wp-block-paragraph">シンプルに「ランダムな順番に並べ替える」だけでよければ、次の式でもOKです。</p>



<pre class="wp-block-code"><code>=SORTBY(A2:A101, RANDARRAY(100))</code></pre>



<p class="wp-block-paragraph">社内の班分けや当番決め、AB両グループへのランダム割り当てなど、抽選が絡む業務はこれで一発ですよ。</p>



<h3 class="wp-block-heading"><span id="toc17">活用例4: モンテカルロ法のシミュレーション</span></h3>



<p class="wp-block-paragraph">「サイコロを1,000回振ったら、6が出る回数の期待値はいくつか？」といった確率シミュレーションでも、RANDARRAY関数が便利です。 1,000個の乱数を一発で作って、条件に合う数を数えるだけで済みます。</p>



<pre class="wp-block-code"><code>=COUNTIF(RANDARRAY(1000, 1, 1, 6, TRUE), 6)</code></pre>



<p class="wp-block-paragraph">1,000個の1〜6の整数の中から、6が出た回数をCOUNTIF関数で数える式です。 理論上は約167回（1,000 ÷ 6）に近い値が出るはずですよ。</p>



<p class="wp-block-paragraph">売上予測や在庫シミュレーションなど、不確実性を含む試算ではモンテカルロ法が有効です。 RANDARRAY関数なら1つの数式で大量の試行ができるので、本格的なシミュレーションも手軽に組めますね。</p>



<h3 class="wp-block-heading"><span id="toc18">活用例5: INT関数と組み合わせて整数に変換する</span></h3>



<p class="wp-block-paragraph">「整数」引数をTRUEにする代わりに、INT関数で小数点以下を切り捨てる方法もあります。</p>



<pre class="wp-block-code"><code>=INT(RANDARRAY(5, 3, 1, 100))</code></pre>



<p class="wp-block-paragraph">この書き方でも整数が得られます。 ただし、RANDARRAY関数の「整数」引数をTRUEにするほうがシンプルなので、通常はそちらがおすすめです。 INT関数を使うのは、小数で生成した結果を別の計算に流用したい場合に限られますね。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-int/">INT関数の使い方はこちらの記事</a>で詳しく解説しています。</p>



<h3 class="wp-block-heading"><span id="toc19">活用例6: 値を固定する方法（再計算で変わらないようにする）</span></h3>



<p class="wp-block-paragraph">RANDARRAY関数は「揮発性関数」です。 シートを再計算するたびに、値が新しい乱数に変わります。 セルを編集したり、別シートで関数を編集したりするだけでも値が変わってしまうので、「さっきの乱数のまま固定したい」場面では困りますよね。</p>



<p class="wp-block-paragraph">生成した値を固定したいときは、次の手順で対応しましょう。</p>



<ol class="wp-block-list"><li>RANDARRAY関数で生成されたセル範囲を選択する</li><li>Ctrl + C でコピーする</li><li>同じ範囲を選択した状態で「貼り付け」→「値」を選ぶ（ショートカット: Ctrl + Alt + V → V → Enter）</li></ol>



<p class="wp-block-paragraph">これで数式が値に置き換わり、再計算しても変わらなくなりますよ。 テストデータを納品したり、シミュレーション結果のスクリーンショットを撮ったりするときは、値貼り付けでの固定が必須です。</p>



<p class="wp-block-paragraph">なお、計算方法を「手動」に切り替える方法（数式タブ → 計算方法の設定 → 手動）もありますが、シート全体の挙動が変わってしまうのでおすすめしません。</p>



<h2 class="wp-block-heading"><span id="toc20">RANDARRAY関数でよくあるエラーと対処法</span></h2>



<h3 class="wp-block-heading"><span id="toc21">#VALUE! エラー</span></h3>



<p class="wp-block-paragraph">行数や列数に0以下の数値、または小数を指定すると発生します。 行と列には1以上の整数を指定してください。</p>



<pre class="wp-block-code"><code>=RANDARRAY(0, 3)    → #VALUE! エラー（行が0）
=RANDARRAY(2.5, 3)  → #VALUE! エラーになる場合あり（環境による）
=RANDARRAY(5, 3)    → 正常に動作</code></pre>



<p class="wp-block-paragraph">また、最小値が最大値より大きい場合も#VALUE!エラーになります。</p>



<pre class="wp-block-code"><code>=RANDARRAY(5, 3, 100, 1)   → #VALUE! エラー（最小値&gt;最大値）
=RANDARRAY(5, 3, 1, 100)   → 正常に動作</code></pre>



<p class="wp-block-paragraph">引数を変数（別セル参照）で渡している場合は、その参照先の値もチェックしておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc22">#CALC! エラー</span></h3>



<p class="wp-block-paragraph">生成する配列が大きすぎてシートに収まらない場合に発生します。 たとえば、A1セルに <code>=RANDARRAY(1048577, 1)</code> と入力すると、Excelの最大行数（1,048,576行）を超えるためエラーになります。</p>



<p class="wp-block-paragraph">行数・列数を見直して配列のサイズを小さくするか、入力セルの位置を表の左上付近に変更してみてください。 「100万行 × 100列」のような大きすぎる配列は、計算負荷も高いのでおすすめしません。</p>



<h3 class="wp-block-heading"><span id="toc23">#NAME? エラー</span></h3>



<p class="wp-block-paragraph">RANDARRAY関数に対応していないバージョンのExcelで使おうとすると、#NAME?エラーが表示されます。 この関数はMicrosoft 365またはExcel 2021以降が必要です。 Excel 2019以前の環境では代わりに、RAND関数やRANDBETWEEN関数をセル単位でコピーして対応しましょう。</p>



<p class="wp-block-paragraph">お使いのバージョンが対応しているかは、「ファイル」→「アカウント」から確認できますよ。</p>



<h3 class="wp-block-heading"><span id="toc24">#SPILL! エラー</span></h3>



<p class="wp-block-paragraph">スピル先（配列が展開される先）のセルにデータが入っていると、#SPILL!エラーになります。 たとえばA1に <code>=RANDARRAY(5, 3)</code> と入力したのに、B3セルにすでに値が入っていると、配列を展開できないためエラーになる仕組みです。</p>



<p class="wp-block-paragraph">展開先のセルを空にすれば解消しますよ。 エラーが出ているセルをクリックすると、Excelが「スピルできない範囲」を青枠で表示してくれます。 その範囲のデータを削除するか、別の場所に移動してから数式を入れ直してみてください。</p>



<p class="wp-block-paragraph">結合セルがスピル先にある場合も#SPILL!の原因になります。 結合を解除してから数式を入力し直すと解決しますよ。</p>



<h2 class="wp-block-heading"><span id="toc25">RAND・RANDBETWEEN関数との違い・使い分け</span></h2>



<p class="wp-block-paragraph">Excelには乱数を生成する関数が3つあります。 目的に応じて使い分けましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>返す値</th><th>個数</th><th>引数</th></tr></thead><tbody><tr><td>RAND()</td><td>0以上1未満の小数</td><td>1つ</td><td>なし</td></tr><tr><td>RANDBETWEEN(下限, 上限)</td><td>指定範囲の整数</td><td>1つ</td><td>2つ</td></tr><tr><td>RANDARRAY(行, 列, 最小, 最大, 整数)</td><td>指定範囲の整数または小数</td><td>配列（複数）</td><td>5つ（すべて省略可）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc26">使い分けの目安</span></h3>



<ul class="wp-block-list"><li><strong>乱数（小数）が1つだけほしい</strong> → RAND関数が一番シンプル</li><li><strong>整数の乱数が1つほしい</strong> → RANDBETWEEN関数が手軽</li><li><strong>複数の乱数を一括で生成したい</strong> → RANDARRAY関数</li><li><strong>小数の範囲を指定して乱数を作りたい</strong> → RANDARRAY関数のみ可能</li></ul>



<p class="wp-block-paragraph">RANDARRAY関数は配列で返せるのが最大の強みです。 RAND関数やRANDBETWEEN関数だと、必要なセルの数だけ数式をコピーする必要がありますが、RANDARRAY関数なら1つの数式で完結します。 行数を変えたいときも引数を書き換えるだけなので、管理もラクですよ。</p>



<p class="wp-block-paragraph">また、RANDBETWEEN関数では指定できない「小数の範囲」も指定できるのがRANDARRAY関数の強みです。 「0.0〜1.0の連続値が10個ほしい」といった場面では、RANDARRAY関数一択になります。</p>



<h3 class="wp-block-heading"><span id="toc27">互換性の観点</span></h3>



<p class="wp-block-paragraph">Excel 2019以前で動作させる必要があるブックでは、RAND関数・RANDBETWEEN関数を使ってください。 RANDARRAY関数を含むブックを古いExcelで開くと#NAME?エラーになり、その場で値が壊れてしまいます。 取引先や社内で旧バージョンのExcelが残っているなら、互換性を考えてRAND/RANDBETWEEN関数を選ぶのが安全ですね。</p>



<h2 class="wp-block-heading"><span id="toc28">まとめ</span></h2>



<p class="wp-block-paragraph">この記事では、ExcelのRANDARRAY関数の使い方を解説しました。 ポイントをおさらいしましょう。</p>



<ul class="wp-block-list"><li><strong>RANDARRAY関数</strong>は、指定した行数・列数のランダムな数値の配列を一括生成できる動的配列関数</li><li>引数は5つ（行・列・最小値・最大値・整数）で、すべて省略可能</li><li>「整数」引数をTRUEにすると整数、FALSEまたは省略で小数が返される</li><li>結果は隣接セルへ自動展開（<strong>スピル</strong>）される。スピル範囲は <code>A1#</code> のように <code>#</code> 付きで参照可能</li><li><strong>揮発性関数</strong>なので再計算のたびに値が変わる。固定するにはコピー → 値貼り付け</li><li><strong>SORT関数</strong>と組み合わせるとソート済み乱数、<strong>SORTBY関数</strong>と組み合わせるとランダムサンプリングが作れる</li><li><strong>モンテカルロシミュレーション</strong>のように大量の乱数を扱う処理にも便利</li><li><strong>RAND関数・RANDBETWEEN関数</strong>との違いは「配列で一括生成できるか」「小数の範囲を指定できるか」</li><li><strong>Microsoft 365またはExcel 2021以降</strong>が必要。古い環境ではRAND/RANDBETWEEN関数で代用</li></ul>



<p class="wp-block-paragraph">テストデータの作成、ランダム抽選、シミュレーションなど、ランダムなデータが必要な場面でぜひ活用してみてください。 1つの数式で完結するシンプルさは、一度使うと手放せなくなりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-randarray/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Excel】RAND関数の使い方｜ランダム整数・抽出の実践例付き</title>
		<link>https://mashukabu.com/excel-function-howto-use-rand/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-rand/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 15 May 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[RANDARRAY]]></category>
		<category><![CDATA[RANDBETWEEN]]></category>
		<category><![CDATA[RAND関数]]></category>
		<category><![CDATA[ランダム]]></category>
		<category><![CDATA[乱数]]></category>
		<category><![CDATA[揮発性関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1921</guid>

					<description><![CDATA[ExcelのRAND関数で0以上1未満の乱数を生成する基本から、ランダムな整数の作り方、リストからの無作為抽出（重複あり・なし両対応）、シャッフル、値の固定方法までを実例付きで解説。RANDBETWEEN・RANDARRAYとの違いや揮発性関数の注意点も網羅した完全ガイドです。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「Excelでランダムな数値を出したいんだけど、どうすればいいんだろう？」</p>



<p class="wp-block-paragraph">抽選や名簿からの無作為抽出、テストデータの作成など、ランダムな値がほしい場面は意外と多いですよね。そんなときに活躍するのが<strong>RAND関数</strong>です。</p>



<p class="wp-block-paragraph">この記事では、RAND関数の基本構文から、ランダム整数の作り方、リストからの抽出（重複あり・なし両対応）、シャッフル、値の固定方法まで、実務で使えるパターンを一通り解説します。RANDBETWEEN・RANDARRAYとの違いや、揮発性関数の注意点もまとめましたので、最後まで読めばRAND関数まわりで迷うことはなくなりますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">RAND関数とは？</a></li><li><a href="#toc2" tabindex="0">RAND関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc5" tabindex="0">RAND関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">0〜1のランダムな小数を生成する</a></li><li><a href="#toc7" tabindex="0">ランダムな整数を生成する</a></li></ol></li><li><a href="#toc8" tabindex="0">RAND関数の実践的な使い方・応用例</a><ol><li><a href="#toc9" tabindex="0">パターン1: リストからランダムに1件抽出する</a></li><li><a href="#toc10" tabindex="0">パターン2: 重複なしでN件をランダム抽出する</a></li><li><a href="#toc11" tabindex="0">パターン3: ランダムに並べ替える（シャッフル）</a></li><li><a href="#toc12" tabindex="0">パターン4: 2択・3択をランダムに振り分ける</a></li><li><a href="#toc13" tabindex="0">パターン5: ランダムな日付・時刻を生成する</a></li></ol></li><li><a href="#toc14" tabindex="0">RAND関数の注意点（揮発性関数）</a><ol><li><a href="#toc15" tabindex="0">揮発性関数とは？</a></li><li><a href="#toc16" tabindex="0">値を固定する方法（値貼り付け）</a></li></ol></li><li><a href="#toc17" tabindex="0">RANDBETWEEN・RANDARRAYとの違い・使い分け</a></li><li><a href="#toc18" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc19" tabindex="0">よくある質問（FAQ）</a><ol><li><a href="#toc20" tabindex="0">Q1. RAND関数の値を一度だけ生成して固定したい</a></li><li><a href="#toc21" tabindex="0">Q2. RAND関数で本当に偏りのない乱数が得られる？</a></li><li><a href="#toc22" tabindex="0">Q3. ランダム抽選で「同じ人が2回当たる」のを防ぎたい</a></li><li><a href="#toc23" tabindex="0">Q4. F9を押しても値が変わらない</a></li><li><a href="#toc24" tabindex="0">Q5. 大量のRAND関数でファイルが重い</a></li></ol></li><li><a href="#toc25" tabindex="0">まとめ</a><ol><li><a href="#toc26" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">RAND関数とは？</span></h2>



<p class="wp-block-paragraph"><strong>RAND関数</strong>（読み方: ランド）は、<strong>0以上1未満のランダムな小数</strong>を返す関数です。</p>



<p class="wp-block-paragraph">名前の由来は「Random（ランダム）」の略で、再計算するたびに新しい値を返します。たとえば <code>=RAND()</code> と入力すると、<code>0.384752...</code> のような値が表示され、何か別のセルを編集するだけでも値が変わります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>RAND関数が返す値の範囲は <strong>0以上1未満</strong>（0 ≤ 値 < 1）です。0が出ることはありますが、ちょうど1になることはありません。Excel公式仕様では「0以上1未満の一様分布実数の乱数」と定義されています。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc2">RAND関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc3">基本構文</span></h3>



<pre class="wp-block-code"><code>=RAND()</code></pre>



<p class="wp-block-paragraph">RAND関数には<strong>引数がありません</strong>。ただし、カッコ <code>()</code> は必ず記述する必要があります。<code>=RAND</code> とカッコなしで入力すると <code>#NAME?</code> エラーになるので注意してください。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>内容</th></tr></thead><tbody><tr><td>引数</td><td>なし（カッコのみ）</td></tr><tr><td>戻り値</td><td>0以上1未満のランダムな実数（小数点以下約15桁）</td></tr><tr><td>対応バージョン</td><td>Excel 2003以降すべて / Microsoft 365 / Googleスプレッドシート</td></tr><tr><td>揮発性</td><td>あり（再計算のたびに値が変わる）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数がないので入力はとてもシンプルです。<code>=RAND()</code> と入力してEnterを押すだけでランダムな小数が表示されます。</p>



<h2 class="wp-block-heading"><span id="toc5">RAND関数の基本的な使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc6">0〜1のランダムな小数を生成する</span></h3>



<p class="wp-block-paragraph">もっとも基本的な使い方です。任意のセルに以下の数式を入力します。</p>



<pre class="wp-block-code"><code>=RAND()</code></pre>



<p class="wp-block-paragraph">Enterを押すと、<code>0.629481...</code> のようなランダムな小数が表示されます。</p>



<p class="wp-block-paragraph">数式バーを見ると <code>=RAND()</code> のままなのがポイント。表示されている数値は「今の計算結果」で、再計算のたびに変わります。</p>



<h3 class="wp-block-heading"><span id="toc7">ランダムな整数を生成する</span></h3>



<p class="wp-block-paragraph">実務では小数よりも整数がほしい場面の方が多いですよね。RAND関数と<a href="https://mashukabu.com/excel-function-howto-use-int/">INT関数</a>を組み合わせて、指定した範囲のランダムな整数を作りましょう。</p>



<pre class="wp-block-code"><code>=INT(RAND()*10)+1</code></pre>



<p class="wp-block-paragraph">この数式は<strong>1〜10のランダムな整数</strong>を返します。仕組みを分解してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>ステップ</th><th>処理内容</th><th>値の例</th></tr></thead><tbody><tr><td><code>RAND()</code></td><td>0以上1未満の小数を生成</td><td>0.7382&#8230;</td></tr><tr><td><code>RAND()*10</code></td><td>0以上10未満に拡大</td><td>7.382&#8230;</td></tr><tr><td><code>INT(RAND()*10)</code></td><td>小数を切り捨てて整数化</td><td>7</td></tr><tr><td><code>INT(RAND()*10)+1</code></td><td>1を足して1〜10の範囲にする</td><td>8</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>任意の範囲に対応する一般式</strong>はこちらです。</p>



<pre class="wp-block-code"><code>=INT(RAND()*(上限-下限+1))+下限</code></pre>



<p class="wp-block-paragraph">代表的なパターンを表にまとめておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>ほしい範囲</th><th>数式</th></tr></thead><tbody><tr><td>1〜10</td><td><code>=INT(RAND()*10)+1</code></td></tr><tr><td>1〜100</td><td><code>=INT(RAND()*100)+1</code></td></tr><tr><td>0〜99</td><td><code>=INT(RAND()*100)</code></td></tr><tr><td>50〜100</td><td><code>=INT(RAND()*51)+50</code></td></tr><tr><td>-50〜50</td><td><code>=INT(RAND()*101)-50</code></td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>整数の乱数を作るだけなら、<a href="https://mashukabu.com/excel-function-howto-use-randbetween/">RANDBETWEEN関数</a>を使う方がシンプルです。<code>=RANDBETWEEN(1,10)</code> と書くだけでOK。RAND関数を使うのは、小数の乱数が必要なときや、他の関数と組み合わせて柔軟にカスタマイズしたいときに向いています。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc8">RAND関数の実践的な使い方・応用例</span></h2>



<h3 class="wp-block-heading"><span id="toc9">パターン1: リストからランダムに1件抽出する</span></h3>



<p class="wp-block-paragraph">名簿や商品リストから1件だけランダムに選びたいときに使うパターンです。</p>



<p class="wp-block-paragraph">A列にデータが10件（A2:A11）入っているとします。</p>



<pre class="wp-block-code"><code>=INDEX(A2:A11,INT(RAND()*10)+1)</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数</a>がリストの「n番目」を取り出す仕組みです。<code>INT(RAND()*10)+1</code> でそのnをランダムに決めています。データ件数が変わる場合は <code>10</code> の部分を <code>COUNTA(A2:A11)</code> などに置き換えると汎用化できます。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-choose/">CHOOSE関数</a>を使ったパターンもあります。</p>



<pre class="wp-block-code"><code>=CHOOSE(INT(RAND()*3)+1,&quot;赤&quot;,&quot;青&quot;,&quot;緑&quot;)</code></pre>



<p class="wp-block-paragraph">「赤・青・緑」の3択からランダムに1つ選ぶ式です。選択肢が固定で少数なら、こちらの方が直感的に書けます。</p>



<h3 class="wp-block-heading"><span id="toc10">パターン2: 重複なしでN件をランダム抽出する</span></h3>



<p class="wp-block-paragraph">抽選で「100人から5人を重複なしで選びたい」というケース。実務でいちばん多いパターンですが、RAND関数単体ではできないので、RANK関数と組み合わせます。</p>



<p class="wp-block-paragraph"><strong>手順:</strong></p>



<ol class="wp-block-list"><li>B列に <code>=RAND()</code> を入力して、データの行数だけ下にコピー（例: B2:B101）</li><li>C列に <code>=RANK(B2,$B$2:$B$101)</code> を入力して下にコピー → 1〜100の重複しない順位が得られる</li><li>C列が1〜5のデータが「ランダムに選ばれた5人」になる</li></ol>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-rank/">RANK関数</a>はランダム値を順位化することで、重複のない1〜Nの整数列を作ります。RAND関数の精度は約15桁なので、同じ値が偶然出る確率は実質ゼロ。安心して抽選に使えます。</p>



<p class="wp-block-paragraph">Microsoft 365 / Excel 2021 以降なら、<a href="https://mashukabu.com/excel-function-howto-use-randarray/">RANDARRAY関数</a>と<a href="https://mashukabu.com/excel-function-howto-use-sortby/">SORTBY関数</a>を組み合わせる方法もスマートです。</p>



<pre class="wp-block-code"><code>=SORTBY(A2:A101,RANDARRAY(100))</code></pre>



<p class="wp-block-paragraph">これでA列の100件がランダム順に並び、上から5行が「ランダム抽選の5人」になります。スピル対応関数なので、1つの数式で結果が全行に展開されるのが便利です。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン3: ランダムに並べ替える（シャッフル）</span></h3>



<p class="wp-block-paragraph">データの順番をシャッフルしたいときも、RAND関数を「並べ替えキー」として使います。</p>



<ol class="wp-block-list"><li>データの隣の列に <code>=RAND()</code> を入力して下までコピー</li><li>RAND列を基準にデータ全体を並べ替え（昇順でも降順でもOK）</li><li>並べ替え完了後、不要になったRAND列を削除</li></ol>



<p class="wp-block-paragraph">ボードゲームのカード順を決めたい、研修の発表順をランダムにしたいといった場面で使えます。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン4: 2択・3択をランダムに振り分ける</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>と組み合わせると、ランダムな振り分けができます。</p>



<p class="wp-block-paragraph"><strong>2択の場合（GO / STOP）:</strong></p>



<pre class="wp-block-code"><code>=IF(RAND()&lt;0.5,&quot;GO&quot;,&quot;STOP&quot;)</code></pre>



<p class="wp-block-paragraph"><strong>3択の場合（A / B / C）:</strong></p>



<pre class="wp-block-code"><code>=CHOOSE(INT(RAND()*3)+1,&quot;A&quot;,&quot;B&quot;,&quot;C&quot;)</code></pre>



<p class="wp-block-paragraph">3択以上はIF関数をネストするよりもCHOOSE関数と組み合わせる方が読みやすくなります。アンケート配布グループの振り分けや、A/Bテストの対象選定に便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン5: ランダムな日付・時刻を生成する</span></h3>



<p class="wp-block-paragraph">テストデータとして特定期間内のランダムな日付を作りたいときに使えます。</p>



<p class="wp-block-paragraph"><strong>日付のみ（2026年内）:</strong></p>



<pre class="wp-block-code"><code>=INT(RAND()*(DATE(2026,12,31)-DATE(2026,1,1)+1))+DATE(2026,1,1)</code></pre>



<p class="wp-block-paragraph">セルの表示形式を「日付」に変更すると、2026年1月1日〜12月31日のランダムな日付が表示されます。</p>



<p class="wp-block-paragraph"><strong>日付＋時刻（2026年内の任意の瞬間）:</strong></p>



<pre class="wp-block-code"><code>=DATE(2026,1,1)+RAND()*(DATE(2026,12,31)-DATE(2026,1,1)+1)</code></pre>



<p class="wp-block-paragraph">表示形式を「yyyy/m/d h:mm」などに設定すれば、ログデータのテストにも使えるリアルなタイムスタンプを生成できます。</p>



<h2 class="wp-block-heading"><span id="toc14">RAND関数の注意点（揮発性関数）</span></h2>



<p class="wp-block-paragraph">RAND関数を使うときに必ず知っておいてほしいのが、<strong>揮発性関数</strong>（Volatile Function）という特性です。</p>



<h3 class="wp-block-heading"><span id="toc15">揮発性関数とは？</span></h3>



<p class="wp-block-paragraph">揮発性関数とは、<strong>ワークブック内で何らかの再計算が発生するたびに必ず再計算される関数</strong>のことです。RAND関数のほか、RANDBETWEEN・NOW・TODAY・INDIRECT・OFFSET・CELL・INFOも揮発性関数に分類されます。</p>



<p class="wp-block-paragraph">「どんな操作で値が変わるのか」を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>操作</th><th>値が変わるか</th></tr></thead><tbody><tr><td>任意のセルを編集してEnter</td><td>変わる</td></tr><tr><td>F9キーを押す</td><td>変わる</td></tr><tr><td>Shift+F9（アクティブシートのみ再計算）</td><td>変わる</td></tr><tr><td>ブックを開き直す</td><td>変わる</td></tr><tr><td>別のセルに数式を入力する</td><td>変わる</td></tr><tr><td>行・列を挿入／削除する</td><td>変わる</td></tr><tr><td>セルの書式だけ変更する</td><td>変わらない</td></tr><tr><td>セルの塗りつぶしを変えるだけ</td><td>変わらない</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「せっかく良い値が出たのに、別の作業をしたら変わってしまった&#8230;」ということが起こり得るので、抽選結果として確定させたいときは次の値固定の手順を必ず実行してください。</p>



<h3 class="wp-block-heading"><span id="toc16">値を固定する方法（値貼り付け）</span></h3>



<p class="wp-block-paragraph">RAND関数の結果を固定したいときは、Microsoft公式でも案内されている<strong>値貼り付け</strong>を使います。</p>



<ol class="wp-block-list"><li>RAND関数が入ったセル範囲を選択 → <strong>Ctrl+C</strong> でコピー</li><li>同じ範囲を選択した状態で <strong>Ctrl+Shift+V</strong> → 「値」を選んで貼り付け（または右クリック →「値」貼り付け）</li><li>数式が消えて、コピー時点の数値だけが残る</li></ol>



<p class="wp-block-paragraph">これで再計算しても値は変わらなくなります。抽選結果を確定させたい、テストデータとして固定したいといった場面で使ってください。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>揮発性関数が多数あるとワークシートの再計算に時間がかかります。Microsoftの公式ガイドでも、大量の揮発性関数はパフォーマンス低下の原因として挙げられています。何百セルもRAND関数を使う場合は、生成完了後に必ず値貼り付けで固定するのがおすすめです。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc17">RANDBETWEEN・RANDARRAYとの違い・使い分け</span></h2>



<p class="wp-block-paragraph">ExcelのRAND系関数は3つあります。それぞれの特性を整理しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>RAND</th><th>RANDBETWEEN</th><th>RANDARRAY</th></tr></thead><tbody><tr><td>構文</td><td><code>=RAND()</code></td><td><code>=RANDBETWEEN(下限,上限)</code></td><td><code>=RANDARRAY([行],[列],[最小],[最大],[整数])</code></td></tr><tr><td>引数</td><td>なし</td><td>下限・上限の2つ</td><td>最大5つ（すべて省略可）</td></tr><tr><td>戻り値</td><td>0以上1未満の小数</td><td>指定範囲の整数(両端含む)</td><td>配列(複数セル一括)</td></tr><tr><td>主な用途</td><td>確率計算、他関数との組み合わせ</td><td>手軽に整数の乱数を取得</td><td>大量の乱数を一括生成</td></tr><tr><td>スピル対応</td><td>なし</td><td>なし</td><td>あり</td></tr><tr><td>対応バージョン</td><td>Excel 2003以降</td><td>Excel 2007以降</td><td>Microsoft 365 / Excel 2021以降</td></tr><tr><td>揮発性</td><td>あり</td><td>あり</td><td>あり</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>使い分けの目安:</strong></p>



<ul class="wp-block-list"><li><strong>整数の乱数がほしいだけ</strong> → <a href="https://mashukabu.com/excel-function-howto-use-randbetween/">RANDBETWEEN関数</a>がシンプルでおすすめ</li><li><strong>小数の乱数が必要</strong> → RAND関数を使う</li><li><strong>確率で分岐したい</strong>（IF関数との組み合わせ等） → RAND関数を使う</li><li><strong>複数セルに一括で乱数を入れたい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-randarray/">RANDARRAY関数</a>（Microsoft 365なら最優先）</li><li><strong>重複なしでランダム抽出したい</strong> → RAND+RANK または SORTBY+RANDARRAY</li></ul>



<p class="wp-block-paragraph">迷ったら「整数だけならRANDBETWEEN、配列が必要ならRANDARRAY、それ以外はRAND」と覚えておけばOKです。</p>



<h2 class="wp-block-heading"><span id="toc18">よくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">RAND関数自体はシンプルなのでエラーが出ることは少ないですが、組み合わせて使うときに注意が必要です。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>値が勝手に変わる</td><td>揮発性関数の仕様</td><td>値貼り付け（Ctrl+Shift+V → V）で固定する</td></tr><tr><td><code>#NAME?</code> エラー</td><td>カッコ <code>()</code> を付け忘れている</td><td><code>=RAND()</code> と必ずカッコまで記述する</td></tr><tr><td><code>#VALUE!</code> エラー</td><td>RAND関数の結果を文字列として処理した</td><td>数値として扱っているか確認する</td></tr><tr><td>同じ値が並ぶ</td><td>整数化で範囲を狭めすぎ（小数のままなら実質ゼロ確率）</td><td><code>INT(RAND()*N)</code> のNを大きくする・RANDBETWEENの範囲を広げる</td></tr><tr><td>小数点以下の桁数が多すぎる</td><td>RAND関数の仕様（約15桁の小数）</td><td><a href="https://mashukabu.com/excel-function-howto-use-round/">ROUND関数</a>で桁数を丸める</td></tr><tr><td>RANDBETWEENで <code>#NUM!</code> エラー</td><td>下限 > 上限になっている</td><td>引数の順序を見直す</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc19">よくある質問（FAQ）</span></h2>



<h3 class="wp-block-heading"><span id="toc20">Q1. RAND関数の値を一度だけ生成して固定したい</span></h3>



<p class="wp-block-paragraph">A. 値貼り付け（Ctrl+C → Ctrl+Shift+V → V）で数式を静的な値に変換するのが標準的な手順です。マクロ（VBA）が使える環境なら、生成後に <code>Range.Value = Range.Value</code> で自己代入する方法もあります。</p>



<h3 class="wp-block-heading"><span id="toc21">Q2. RAND関数で本当に偏りのない乱数が得られる？</span></h3>



<p class="wp-block-paragraph">A. RAND関数が返すのは「擬似乱数」ですが、Excel 2010以降はMersenne Twister系のアルゴリズムが採用されており、業務用途の抽選やテストデータ生成では十分な品質です。暗号用途やシミュレーション研究には不向きなので、その場合は専用ライブラリを使ってください。</p>



<h3 class="wp-block-heading"><span id="toc22">Q3. ランダム抽選で「同じ人が2回当たる」のを防ぎたい</span></h3>



<p class="wp-block-paragraph">A. 本記事の「パターン2: 重複なしでN件をランダム抽出する」で紹介した <strong>RAND+RANK</strong> または <strong>SORTBY+RANDARRAY</strong> の組み合わせを使ってください。RANK関数で順位化することで、重複のない1〜Nの整数列が得られます。</p>



<h3 class="wp-block-heading"><span id="toc23">Q4. F9を押しても値が変わらない</span></h3>



<p class="wp-block-paragraph">A. ファイル → オプション → 数式 → 計算方法が「手動」になっている可能性があります。「自動」に変更するか、Ctrl+Alt+F9で強制的に完全再計算してみてください。</p>



<h3 class="wp-block-heading"><span id="toc24">Q5. 大量のRAND関数でファイルが重い</span></h3>



<p class="wp-block-paragraph">A. 揮発性関数はワークシートの再計算が走るたびに毎回再計算されるため、数千セル単位で使うと体感速度が落ちます。生成完了後はすぐに値貼り付けで固定するか、計算方法を「手動」に切り替えて運用してください。</p>



<h2 class="wp-block-heading"><span id="toc25">まとめ</span></h2>



<p class="wp-block-paragraph">RAND関数は0以上1未満のランダムな小数を返すシンプルな関数ですが、組み合わせ次第で実務の幅広い場面に対応できます。この記事の要点をおさらいしましょう。</p>



<ul class="wp-block-list"><li><strong>基本</strong>: <code>=RAND()</code> で0〜1の乱数を生成（引数なし、カッコは必須）</li><li><strong>整数化</strong>: <code>=INT(RAND()*(上限-下限+1))+下限</code> でランダムな整数を作れる</li><li><strong>リスト抽出</strong>: INDEX関数と組み合わせて1件抽出、RANK関数で重複なしN件抽出</li><li><strong>シャッフル</strong>: RAND列を作って並べ替え後に削除</li><li><strong>揮発性関数</strong>: 再計算のたびに値が変わるので、確定したら値貼り付けで固定</li><li><strong>使い分け</strong>: 整数だけならRANDBETWEEN、配列ならRANDARRAY、柔軟に使うならRAND</li></ul>



<p class="wp-block-paragraph">ランダムな値が必要な場面は意外と多いので、RAND関数の使い方をマスターしておくと作業の幅が広がりますよ。特に「重複なしランダム抽出」は抽選イベントで重宝するので、ぜひ覚えておいてください。</p>



<h3 class="wp-block-heading"><span id="toc26">関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-randbetween/">RANDBETWEEN関数で指定範囲の整数をランダムに生成する</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-randarray/">RANDARRAY関数で配列の乱数を一括生成する（Microsoft 365専用）</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-int/">INT関数の使い方｜整数に切り捨てる基本と実務活用</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-rank/">RANK関数の使い方｜順位を求める基本から実務活用まで解説</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-round/">ROUND関数の使い方｜桁数指定から丸め6種の使い分けまで解説</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-sortby/">SORTBY関数の使い方｜別配列を基準に並べ替える</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数の使い方｜範囲からn番目の値を取り出す</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-choose/">CHOOSE関数の使い方｜インデックスで値を選び分ける</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-rand/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
