<?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>乱数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%e4%b9%b1%e6%95%b0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Tue, 26 May 2026 10:48:15 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>乱数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのRAND関数の使い方｜乱数を固定する方法も解説</title>
		<link>https://mashukabu.com/spreadsheet-rand-function/</link>
					<comments>https://mashukabu.com/spreadsheet-rand-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:31:42 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[RANDBETWEEN関数]]></category>
		<category><![CDATA[RAND関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[ランダム抽出]]></category>
		<category><![CDATA[乱数]]></category>
		<category><![CDATA[揮発性関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4791</guid>

					<description><![CDATA[スプレッドシートのRAND関数の使い方を解説。0以上1未満の乱数を生成する基本構文から、計算のたびに値が変わる揮発性の注意点と固定方法、INT・SORT関数との組み合わせ実務例、RANDBETWEENとの違いまでまとめました。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「ランダムに抽選したいのに、毎回同じ人を手作業で選んでいる…」そんな経験はありませんか？</p>



<p class="wp-block-paragraph">手作業だと公平性の説明もむずかしいですよね。</p>



<p class="wp-block-paragraph">Googleスプレッドシートの<strong>RAND関数</strong>を使えば、乱数をかんたんに生成できます。抽選やシャッフルも数式ひとつで実現できますよ。</p>



<p class="wp-block-paragraph">この記事では、RAND関数の基本から乱数の固定方法、実務での活用パターンまで解説します。</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">RAND関数とは？スプレッドシートで乱数を生成する関数</a><ol><li><a href="#toc2" tabindex="0">戻り値は「0以上1未満」の小数</a></li><li><a href="#toc3" tabindex="0">引数なしで使える</a></li></ol></li><li><a href="#toc4" tabindex="0">RAND関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">セルに入力するだけで乱数が生成される</a></li><li><a href="#toc6" tabindex="0">計算のたびに値が変わる（揮発性関数）</a></li></ol></li><li><a href="#toc7" tabindex="0">揮発性関数の注意点と乱数の固定方法</a><ol><li><a href="#toc8" tabindex="0">なぜ再計算されるの？原因と被害事例</a></li><li><a href="#toc9" tabindex="0">値貼り付けで固定する方法</a></li></ol></li><li><a href="#toc10" tabindex="0">実務で使えるRAND活用パターン</a><ol><li><a href="#toc11" tabindex="0">0〜100の整数に変換する（INT・ROUND組み合わせ）</a></li><li><a href="#toc12" tabindex="0">任意の範囲の乱数に変換する公式</a></li><li><a href="#toc13" tabindex="0">ランダム抽出・シャッフルへの応用（SORT+RAND）</a></li></ol></li><li><a href="#toc14" tabindex="0">RANDBETWEENとの違いと使い分け</a><ol><li><a href="#toc15" tabindex="0">RANDBETWEENは整数に特化</a></li><li><a href="#toc16" tabindex="0">どちらを選ぶべきか</a></li></ol></li><li><a href="#toc17" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc18" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">RAND関数とは？スプレッドシートで乱数を生成する関数</span></h2>



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



<p class="wp-block-paragraph">入力するたびに異なる値が出るので、抽選やデータのシャッフルに使えます。</p>



<h3 class="wp-block-heading"><span id="toc2">戻り値は「0以上1未満」の小数</span></h3>



<p class="wp-block-paragraph">RAND関数が返す値の範囲は <strong>0 ≤ 値 < 1</strong> です。</p>



<p class="wp-block-paragraph">たとえば <code>0.2847...</code> や <code>0.9163...</code> のような小数が返ります。0ちょうどが出ることはありますが、1は出ません。</p>



<p class="wp-block-paragraph">この小数をもとに、整数への変換やランダム抽出に応用できます。</p>



<h3 class="wp-block-heading"><span id="toc3">引数なしで使える</span></h3>



<p class="wp-block-paragraph">RAND関数の構文はとてもシンプルです。</p>



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



<p class="wp-block-paragraph">引数（カッコの中に入れる値）は不要です。カッコの中は空のまま入力してください。</p>



<p class="wp-block-paragraph">セルに <code>=RAND()</code> と入力してEnterを押すだけで乱数が表示されます。</p>



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



<p class="wp-block-paragraph">RAND関数の基本操作を確認しましょう。</p>



<h3 class="wp-block-heading"><span id="toc5">セルに入力するだけで乱数が生成される</span></h3>



<p class="wp-block-paragraph">使い方は3ステップです。</p>



<ol class="wp-block-list"><li>任意のセルをクリックする</li><li><code>=RAND()</code> と入力する</li><li>Enterキーを押す</li></ol>



<p class="wp-block-paragraph">これだけで、0〜1未満の乱数がセルに表示されます。複数のセルに入力すれば、それぞれ独立した乱数になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc6">計算のたびに値が変わる（揮発性関数）</span></h3>



<p class="wp-block-paragraph">RAND関数には重要な特徴があります。<strong>スプレッドシートが再計算されるたびに値が変わる</strong>という点です。</p>



<p class="wp-block-paragraph">このような関数を<strong>揮発性関数</strong>と呼びます。再計算のタイミングは次のとおりです。</p>



<ul class="wp-block-list"><li>どこかのセルを編集したとき</li><li>シートを開いたとき</li><li>F5キーで手動再計算したとき</li></ul>



<p class="wp-block-paragraph">つまり、何か操作するたびに乱数が変わります。便利な反面、値を保持したい場面では注意が必要です。</p>



<h2 class="wp-block-heading"><span id="toc7">揮発性関数の注意点と乱数の固定方法</span></h2>



<p class="wp-block-paragraph">RAND関数は便利ですが、揮発性ゆえの落とし穴があります。</p>



<h3 class="wp-block-heading"><span id="toc8">なぜ再計算されるの？原因と被害事例</span></h3>



<p class="wp-block-paragraph">通常の関数は、参照先のセルが変わったときだけ再計算されます。しかし揮発性関数は、シート上のどこかが変更されるだけで再計算が走ります。</p>



<p class="wp-block-paragraph">これが問題になる具体的な場面を紹介します。</p>



<ul class="wp-block-list"><li><strong>抽選結果が消える</strong>: RAND関数で当選者を決めた後、別のセルを編集したら結果が変わってしまった</li><li><strong>並び順が崩れる</strong>: シャッフル結果を確認中に、うっかり操作して順番が変わった</li><li><strong>再現性がない</strong>: 同じ乱数を再度出すことができない</li></ul>



<p class="wp-block-paragraph">「さっきの結果をもう一度見たい」と思っても、手遅れです。固定していなければ元の値は取り戻せません。</p>



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



<p class="wp-block-paragraph">乱数を固定するには、<strong>数式を値に変換</strong>します。手順は次のとおりです。</p>



<ol class="wp-block-list"><li>RAND関数が入ったセル範囲を選択する</li><li><code>Ctrl + C</code>（Macは <code>Cmd + C</code>）でコピーする</li><li>そのまま <code>Ctrl + Shift + V</code>（Macは <code>Cmd + Shift + V</code>）で値のみ貼り付け</li></ol>



<p class="wp-block-paragraph">これで数式が消えて、数値として確定されます。再計算しても値は変わりません。</p>



<pre class="wp-block-code"><code>コピー: Ctrl + C
値貼り付け: Ctrl + Shift + V</code></pre>



<p class="wp-block-paragraph">抽選やシャッフルの結果を確定させたいときは、<strong>結果が出たらすぐに値貼り付け</strong>を習慣にしましょう。</p>



<h2 class="wp-block-heading"><span id="toc10">実務で使えるRAND活用パターン</span></h2>



<p class="wp-block-paragraph">RAND関数は、他の関数と組み合わせることで活用の幅が広がります。よく使うパターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc11">0〜100の整数に変換する（INT・ROUND組み合わせ）</span></h3>



<p class="wp-block-paragraph">RAND関数の小数を整数に変換するには、<a href="https://mashukabu.com/spreadsheet-int-function/">INT関数</a>を組み合わせます。</p>



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



<p class="wp-block-paragraph"><code>RAND()*101</code> で0以上101未満の小数を作り、INT関数で小数点以下を切り捨てます。結果は0〜100の整数です。</p>



<p class="wp-block-paragraph">サイコロ（1〜6）を再現したい場合はこちらです。</p>



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



<p class="wp-block-paragraph"><code>INT(RAND()*6)</code> で0〜5の整数を作り、+1で1〜6にシフトしています。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-round-function/">ROUND関数</a>を使う方法もあります。ただしROUNDは四捨五入のため、端の値（0と100）の出現確率が他より低くなります。均等な分布が必要ならINT関数を使いましょう。</p>



<h3 class="wp-block-heading"><span id="toc12">任意の範囲の乱数に変換する公式</span></h3>



<p class="wp-block-paragraph">「10〜50の整数をランダムに出したい」など、範囲を指定したい場合の公式です。</p>



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



<p class="wp-block-paragraph">たとえば10〜50の整数なら、次のように書きます。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>やりたいこと</th><th>数式</th><th>結果の範囲</th></tr></thead><tbody><tr><td>1〜6の整数</td><td><code>=INT(RAND()*6)+1</code></td><td>1, 2, 3, 4, 5, 6</td></tr><tr><td>0〜100の整数</td><td><code>=INT(RAND()*101)</code></td><td>0〜100</td></tr><tr><td>10〜50の整数</td><td><code>=INT(RAND()*41)+10</code></td><td>10〜50</td></tr><tr><td>1〜100の整数</td><td><code>=INT(RAND()*100)+1</code></td><td>1〜100</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">公式を覚えなくても、この表を見れば応用できますよ。</p>



<h3 class="wp-block-heading"><span id="toc13">ランダム抽出・シャッフルへの応用（SORT+RAND）</span></h3>



<p class="wp-block-paragraph">実務で特に便利なのが、リストのシャッフルです。<a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">SORT関数</a>とRAND関数を組み合わせます。</p>



<p class="wp-block-paragraph">A1:A10に名前リストが入っている場合の数式です。</p>



<pre class="wp-block-code"><code>=SORT(A1:A10, ARRAYFORMULA(RAND()), TRUE)</code></pre>



<p class="wp-block-paragraph">ちょっとむずかしく見えますが、やっていることはシンプルです。</p>



<ul class="wp-block-list"><li><code>ARRAYFORMULA(RAND())</code>: 各行にランダムな数値を割り当てる</li><li><code>SORT(...)</code>: そのランダム数値で並び替える</li></ul>



<p class="wp-block-paragraph">結果として、名前リストがランダムな順番で表示されます。発表順の決定や座席のシャッフルに使えますよ。</p>



<p class="wp-block-paragraph">上位N件だけ抽出したい場合は、SORT結果の先頭N行を使います。たとえば10人から3人を抽選するなら、シャッフル結果の上位3名を採用するだけです。</p>



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



<p class="wp-block-paragraph">RAND関数と似た関数に<strong>RANDBETWEEN関数</strong>があります。違いを整理しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc15">RANDBETWEENは整数に特化</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>RAND()</th><th>RANDBETWEEN(下限, 上限)</th></tr></thead><tbody><tr><td>引数</td><td>なし</td><td>下限・上限の2つ</td></tr><tr><td>戻り値</td><td>0以上1未満の小数</td><td>指定範囲の整数</td></tr><tr><td>揮発性</td><td>あり</td><td>あり</td></tr><tr><td>典型的な用途</td><td>確率計算・シャッフル</td><td>サイコロ・くじ引き</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">RANDBETWEEN関数は <code>=RANDBETWEEN(1,6)</code> のように書きます。引数で範囲を直接指定できるので、整数の乱数が欲しいときは直感的です。</p>



<h3 class="wp-block-heading"><span id="toc16">どちらを選ぶべきか</span></h3>



<p class="wp-block-paragraph">迷ったときは、次の基準で選んでみてください。</p>



<ul class="wp-block-list"><li><strong>RANDBETWEEN</strong>: 整数の乱数がほしい。範囲が決まっている。シンプルに使いたい</li><li><strong>RAND</strong>: 小数の乱数がほしい。確率の計算に使いたい。他の関数と組み合わせて加工したい</li></ul>



<p class="wp-block-paragraph">「1〜6の整数」のような単純なケースはRANDBETWEENが手軽です。一方、シャッフルや確率シミュレーションにはRAND関数が向いています。</p>



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



<p class="wp-block-paragraph">RAND関数はシンプルですが、つまずきやすいポイントもあります。</p>



<p class="wp-block-paragraph"><strong>カッコ内に引数を入れてしまった</strong></p>



<p class="wp-block-paragraph"><code>=RAND(10)</code> のように引数を入れるとエラーになります。RAND関数は引数不要です。<code>=RAND()</code> とカッコ内を空にしてください。</p>



<p class="wp-block-paragraph"><strong>乱数が勝手に変わる</strong></p>



<p class="wp-block-paragraph">これはエラーではなく揮発性関数の正常な動作です。値を固定したい場合は <code>Ctrl + Shift + V</code> の値貼り付けで対処しましょう。</p>



<p class="wp-block-paragraph"><strong>同じ乱数を複数セルで使いたい</strong></p>



<p class="wp-block-paragraph">RAND関数はセルごとに独立した乱数を返します。同じ値を使いたい場合は、1つのセルにRAND関数を入力します。他のセルからは絶対参照（<code>=$A$1</code>）で参照してください。</p>



<p class="wp-block-paragraph"><strong>RAND関数が大量にあると動作が重い</strong></p>



<p class="wp-block-paragraph">揮発性関数を大量に使うと再計算の負荷が増えます。結果が確定したら値貼り付けで数式を消すか、RAND関数の数を最小限にしましょう。</p>



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



<p class="wp-block-paragraph">RAND関数は、0以上1未満の乱数を返すシンプルな関数です。</p>



<p class="wp-block-paragraph">この記事で紹介した活用パターンをおさらいします。</p>



<ul class="wp-block-list"><li><strong>基本</strong>: <code>=RAND()</code> で0〜1未満の乱数を生成</li><li><strong>整数に変換</strong>: <code>=INT(RAND()*6)+1</code> でサイコロを再現</li><li><strong>任意範囲</strong>: <code>=INT(RAND()*(上限-下限+1))+下限</code> の公式</li><li><strong>シャッフル</strong>: <code>=SORT(A1:A10, ARRAYFORMULA(RAND()), TRUE)</code></li><li><strong>固定方法</strong>: <code>Ctrl + Shift + V</code> で値のみ貼り付け</li></ul>



<p class="wp-block-paragraph">揮発性関数なので、<strong>結果が出たらすぐに値貼り付けで固定する</strong>のがポイントです。</p>



<p class="wp-block-paragraph">まずは <code>=RAND()</code> をセルに入力して、乱数が生成される様子を確認してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-rand-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのRANDARRAY関数の使い方｜複数の乱数を一括生成</title>
		<link>https://mashukabu.com/spreadsheet-randarray-function/</link>
					<comments>https://mashukabu.com/spreadsheet-randarray-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:31:37 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[RANDARRAY関数]]></category>
		<category><![CDATA[RANDBETWEEN関数]]></category>
		<category><![CDATA[RAND関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[テストデータ]]></category>
		<category><![CDATA[乱数]]></category>
		<category><![CDATA[配列関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4789</guid>

					<description><![CDATA[RANDARRAY関数を使えば、行数・列数を指定して乱数の配列を一括生成できます。テストデータ作成・シャッフル・ランダム抽出の実務例と、RAND・RANDBETWEENとの使い分けを解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「テストデータを大量に作りたいけど、1セルずつ入力するのは面倒&#8230;」と感じたことはありませんか。スプレッドシートで手作業で乱数を並べていくと、時間がかかるうえにミスも起きやすいですよね。そんなときは、RANDARRAY関数を使えば一発で解決します。この記事では、RANDARRAY関数の基本から実務で使える活用パターンまでまとめて解説します。</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">RANDARRAY関数とは？スプレッドシートで乱数の配列を生成する関数</a><ol><li><a href="#toc2" tabindex="0">基本構文</a></li><li><a href="#toc3" tabindex="0">引数の説明</a></li><li><a href="#toc4" tabindex="0">戻り値</a></li><li><a href="#toc5" tabindex="0">対応環境</a></li><li><a href="#toc6" tabindex="0">ExcelのRANDARRAYとの違い</a></li></ol></li><li><a href="#toc7" tabindex="0">RANDARRAY関数の基本的な使い方</a><ol><li><a href="#toc8" tabindex="0">5行3列の乱数配列を生成する</a></li><li><a href="#toc9" tabindex="0">引数を省略したパターン</a></li><li><a href="#toc10" tabindex="0">計算のたびに値が変わる（揮発性関数）</a></li></ol></li><li><a href="#toc11" tabindex="0">RANDARRAY関数の実践的な使い方・応用例</a><ol><li><a href="#toc12" tabindex="0">パターン1: テストデータを一括生成する</a></li><li><a href="#toc13" tabindex="0">パターン2: 整数の乱数配列を作る</a></li><li><a href="#toc14" tabindex="0">パターン3: リストをランダムにシャッフルする</a></li><li><a href="#toc15" tabindex="0">パターン4: リストからN件をランダム抽出する</a></li><li><a href="#toc16" tabindex="0">パターン5: 重複なしでランダムにN件抽出する</a></li><li><a href="#toc17" tabindex="0">パターン6: 条件付きでランダム抽出する</a></li></ol></li><li><a href="#toc18" tabindex="0">揮発性関数の注意点と乱数の固定方法</a></li><li><a href="#toc19" tabindex="0">RAND・RANDBETWEEN・RANDARRAYの使い分け</a></li><li><a href="#toc20" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc21" tabindex="0">よくある質問（FAQ）</a></li><li><a href="#toc22" tabindex="0">まとめ</a><ol><li><a href="#toc23" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">RANDARRAY関数とは？スプレッドシートで乱数の配列を生成する関数</span></h2>



<p class="wp-block-paragraph">RANDARRAY関数は「ランドアレイ関数」と読みます。Random Array（ランダムな配列）が語源です。</p>



<p class="wp-block-paragraph">指定した行数・列数の乱数配列を一括で生成できます。1つのセルに数式を入れるだけで、周囲のセルに自動展開（スピル）されるのが特徴です。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-rand-function/">RAND関数</a>や<a href="https://mashukabu.com/spreadsheet-randbetween-function/">RANDBETWEEN関数</a>は1セルに1つの乱数しか返せません。一方、RANDARRAYなら「5行3列」のように複数の乱数をまとめて生成できますよ。</p>



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



<pre class="wp-block-code"><code>=RANDARRAY(行数, 列数)</code></pre>



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>行数</td><td>省略可</td><td>生成する配列の行数（省略時は1）</td></tr><tr><td>列数</td><td>省略可</td><td>生成する配列の列数（省略時は1）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc4">戻り値</span></h3>



<p class="wp-block-paragraph">0以上1未満の小数（例: 0.384729&#8230;）の配列を返します。</p>



<h3 class="wp-block-heading"><span id="toc5">対応環境</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>環境</th><th>対応状況</th></tr></thead><tbody><tr><td>Googleスプレッドシート</td><td>対応</td></tr><tr><td>Excel（Microsoft 365）</td><td>対応（ただし引数が異なる）</td></tr><tr><td>Excel 2021以前</td><td>非対応</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc6">ExcelのRANDARRAYとの違い</span></h3>



<p class="wp-block-paragraph">GoogleスプレッドシートとExcelでは、同じ関数名でも仕様が異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Googleスプレッドシート</th><th>Excel（Microsoft 365）</th></tr></thead><tbody><tr><td>引数の数</td><td>2つ（行数, 列数）</td><td>5つ（行数, 列数, 最小値, 最大値, 整数フラグ）</td></tr><tr><td>戻り値の範囲</td><td>0以上1未満（固定）</td><td>最小値〜最大値を指定可能</td></tr><tr><td>整数の生成</td><td><a href="https://mashukabu.com/spreadsheet-int-function/">INT関数</a>との組み合わせが必要</td><td>第5引数でTRUEを指定すればOK</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>ExcelのRANDARRAYには最小値・最大値・整数フラグの引数があります。しかしGoogleスプレッドシート版にはありません。Excelの解説記事を参考にすると混乱しやすいので注意してください。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc8">5行3列の乱数配列を生成する</span></h3>



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



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



<p class="wp-block-paragraph">入力したセルを起点に、5行×3列の範囲に乱数が自動展開されます。すべて0以上1未満の小数です。</p>



<p class="wp-block-paragraph">展開先のセルにデータが入っていると、#REF!エラーになります。あらかじめ空欄にしておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc9">引数を省略したパターン</span></h3>



<p class="wp-block-paragraph">引数はどちらも省略できます。</p>



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



<p class="wp-block-paragraph">引数をすべて省略すると、1行×1列（1つだけ）の乱数を返します。この場合は<a href="https://mashukabu.com/spreadsheet-rand-function/">RAND関数</a>と同じ動きですね。</p>



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



<p class="wp-block-paragraph">行数だけ指定すると、列数は1として扱われます。5行×1列の乱数が縦に並びます。</p>



<h3 class="wp-block-heading"><span id="toc10">計算のたびに値が変わる（揮発性関数）</span></h3>



<p class="wp-block-paragraph">RANDARRAYは揮発性関数です。スプレッドシートが再計算されるたびに値が変わります。</p>



<p class="wp-block-paragraph">具体的には、次のタイミングで値が更新されます。</p>



<ul class="wp-block-list"><li>どこかのセルを編集したとき</li><li>シートを開き直したとき</li><li>他の数式が再計算されたとき</li></ul>



<p class="wp-block-paragraph">「せっかく生成した乱数が消えてしまった」というトラブルは、この性質が原因です。値を固定する方法はこの記事の後半で解説しますね。</p>



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



<h3 class="wp-block-heading"><span id="toc12">パターン1: テストデータを一括生成する</span></h3>



<p class="wp-block-paragraph">0〜1の小数では使いにくい場面も多いですよね。四則演算を組み合わせれば、好きな範囲のデータを作れます。</p>



<p class="wp-block-paragraph">たとえば、0〜100の小数を5行3列で生成するにはこうします。</p>



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



<p class="wp-block-paragraph">1000〜5000の範囲にしたいなら、次のように書きます。</p>



<pre class="wp-block-code"><code>=RANDARRAY(5,3)*4000+1000</code></pre>



<p class="wp-block-paragraph"><code>*4000</code>で範囲の幅を、<code>+1000</code>で下限を調整しています。</p>



<p class="wp-block-paragraph">連番のテストデータが必要なら、<a href="https://mashukabu.com/spreadsheet-sequence-function/">SEQUENCE関数</a>（連番を自動生成する関数）も合わせて使うと便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン2: 整数の乱数配列を作る</span></h3>



<p class="wp-block-paragraph">テストデータでは整数がほしい場面が多いです。<a href="https://mashukabu.com/spreadsheet-int-function/">INT関数</a>（小数点以下を切り捨てる関数）を組み合わせましょう。</p>



<p class="wp-block-paragraph">1〜100の整数を10行3列で生成する数式です。</p>



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



<p class="wp-block-paragraph">任意の範囲の整数を作りたいときは、次の公式を使ってください。</p>



<pre class="wp-block-code"><code>=INT(RANDARRAY(行数,列数)*(上限-下限+1))+下限</code></pre>



<p class="wp-block-paragraph">たとえば、50〜200の整数なら次のようになります。</p>



<pre class="wp-block-code"><code>=INT(RANDARRAY(10,3)*(200-50+1))+50</code></pre>



<p class="wp-block-paragraph"><code>*(上限-下限+1)</code>で範囲を決めて、<code>+下限</code>でスタート地点をずらす仕組みです。</p>



<p class="wp-block-paragraph">整数の乱数が1つだけほしいなら、<a href="https://mashukabu.com/spreadsheet-randbetween-function/">RANDBETWEEN関数</a>のほうがシンプルに書けます。大量に必要なときだけRANDARRAYを使い分けるのがポイントですよ。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン3: リストをランダムにシャッフルする</span></h3>



<p class="wp-block-paragraph">A2:A11に名前リストがあるとします。これをランダムな順番に並べ替えるには、<a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">SORT関数</a>と組み合わせます。</p>



<pre class="wp-block-code"><code>=SORT(A2:A11, RANDARRAY(ROWS(A2:A11)), TRUE)</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-rows-function/">ROWS関数</a>（範囲の行数を返す関数）でリストの行数を取得し、同じ行数の乱数を生成しています。SORT関数がその乱数を基準に並べ替えるので、結果としてランダムな順番になります。</p>



<p class="wp-block-paragraph">別の列の値を基準に並べ替えたいなら、<a href="https://mashukabu.com/spreadsheet-sortby-function/">SORTBY関数</a>も確認してみてください。</p>



<p class="wp-block-paragraph">再計算のたびに順番が変わるため、確定したいときは値貼り付けで固定しましょう。</p>



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



<p class="wp-block-paragraph">シャッフルの応用で、リストから指定件数だけランダムに取り出せます。</p>



<p class="wp-block-paragraph">A2:A11の10件から3件をランダム抽出する数式です。</p>



<pre class="wp-block-code"><code>=SORTN(SORT(A2:A11, RANDARRAY(ROWS(A2:A11)), TRUE), 3)</code></pre>



<p class="wp-block-paragraph">まずSORT+RANDARRAYでリストをシャッフルします。次に<a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">SORTN関数</a>で上から3件だけ取り出しています。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-index-function/">INDEX関数</a>を使う方法もあります。</p>



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



<p class="wp-block-paragraph">こちらはランダムな行番号を生成してINDEXで取り出す方式です。ただし重複が発生する可能性があります。重複NGならSORTN方式がおすすめですよ。</p>



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



<p class="wp-block-paragraph">パターン4のSORTN方式は、もともと重複なしでN件を取り出せます。シャッフルしてから上位N件を切り出す方式なので、同じ行が二度選ばれることはありません。</p>



<p class="wp-block-paragraph">一方、INDEX方式では重複の可能性がありました。重複を除きたいなら<a href="https://mashukabu.com/spreadsheet-unique-function/">UNIQUE関数</a>（重複を除去する関数）で囲む方法もあります。</p>



<pre class="wp-block-code"><code>=UNIQUE(INDEX(A2:A11, INT(RANDARRAY(5,1)*ROWS(A2:A11))+1))</code></pre>



<p class="wp-block-paragraph">ただし、この方法は重複除去後の件数が安定しません。確実にN件を取り出したいなら、パターン4のSORTN方式がおすすめですよ。</p>



<h3 class="wp-block-heading"><span id="toc17">パターン6: 条件付きでランダム抽出する</span></h3>



<p class="wp-block-paragraph">「営業部のメンバーだけからランダムに3人選びたい」のように、条件を付けて抽出するケースもありますよね。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>（条件に合うデータだけを抽出する関数）と組み合わせると実現できます。</p>



<pre class="wp-block-code"><code>=SORTN(SORT(FILTER(A2:A11, B2:B11=&quot;営業部&quot;), RANDARRAY(COUNTA(FILTER(B2:B11, B2:B11=&quot;営業部&quot;))), TRUE), 3)</code></pre>



<p class="wp-block-paragraph">まずFILTER関数で「営業部」のデータだけを取り出します。そのあとSORT+RANDARRAYでシャッフルし、SORTNで3件に絞っています。<a href="https://mashukabu.com/spreadsheet-counta-function/">COUNTA関数</a>（データの件数を数える関数）で絞り込み後の行数を取得しているのがポイントです。</p>



<p class="wp-block-paragraph">数式は少し長くなりますが、やっていることはシンプルです。「絞り込む → シャッフルする → 上からN件取る」の3ステップですよ。</p>



<h2 class="wp-block-heading"><span id="toc18">揮発性関数の注意点と乱数の固定方法</span></h2>



<p class="wp-block-paragraph">RANDARRAY関数は再計算のたびに値が変わります。生成した乱数を保持したい場合は、値として貼り付けましょう。</p>



<p class="wp-block-paragraph">手順は次のとおりです。</p>



<ol class="wp-block-list"><li>RANDARRAY関数で生成された範囲を選択してコピーする</li><li>同じ範囲を選択した状態で、Ctrl+Shift+V（Macの場合はCmd+Shift+V）で値のみ貼り付ける</li></ol>



<p class="wp-block-paragraph">これで数式が消え、値だけが残ります。</p>



<p class="wp-block-paragraph">乱数の固定方法については<a href="https://mashukabu.com/spreadsheet-rand-function/">RAND関数の記事</a>で詳しく解説しています。仕組みは同じなので、あわせて確認してみてください。</p>



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



<p class="wp-block-paragraph">スプレッドシートには乱数を生成する関数が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>1つ</td><td>1つ</td><td>複数（配列）</td></tr><tr><td>戻り値</td><td>0以上1未満の小数</td><td>指定範囲の整数</td><td>0以上1未満の小数の配列</td></tr><tr><td>引数</td><td>なし</td><td>下限, 上限</td><td>行数, 列数</td></tr><tr><td>主な用途</td><td>単一の乱数がほしいとき</td><td>整数の乱数が1つほしいとき</td><td>大量の乱数を一括生成したいとき</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">判断の基準はシンプルです。</p>



<ul class="wp-block-list"><li><strong>乱数が1つだけほしい</strong> → <a href="https://mashukabu.com/spreadsheet-rand-function/">RAND関数</a>（小数）または<a href="https://mashukabu.com/spreadsheet-randbetween-function/">RANDBETWEEN関数</a>（整数）</li><li><strong>乱数を大量に一括生成したい</strong> → RANDARRAY関数</li><li><strong>整数の乱数を大量に生成したい</strong> → RANDARRAY関数+<a href="https://mashukabu.com/spreadsheet-int-function/">INT関数</a>の組み合わせ</li></ul>



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



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#REF!</td><td>配列の展開先にデータが入っている</td><td>展開先のセルを空欄にする</td></tr><tr><td>#VALUE!</td><td>引数に数値以外（文字列など）を指定した</td><td>行数・列数には正の整数を指定する</td></tr><tr><td>#NUM!</td><td>引数に0以下の数値を指定した</td><td>1以上の正の整数を指定する</td></tr><tr><td>値が勝手に変わる</td><td>揮発性関数の仕様</td><td>値貼り付け（Ctrl+Shift+V）で固定する</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph"><strong>Q. GoogleスプレッドシートのRANDARRAYはExcelと引数が違う？</strong></p>



<p class="wp-block-paragraph">A. はい、異なります。ExcelのRANDARRAYは「行数, 列数, 最小値, 最大値, 整数フラグ」の5引数ですが、Googleスプレッドシート版は「行数, 列数」の2引数のみです。整数を生成したい場合はINT関数と組み合わせます。</p>



<p class="wp-block-paragraph"><strong>Q. 乱数の値を固定する（再計算されないようにする）方法は？</strong></p>



<p class="wp-block-paragraph">A. 生成された範囲をコピーして、同じ場所に「値のみ貼り付け」（Ctrl+Shift+V）します。これで数式が消えて値が固定されます。</p>



<p class="wp-block-paragraph"><strong>Q. 重複なしでランダムに抽出するには？</strong></p>



<p class="wp-block-paragraph">A. <code>=SORTN(SORT(範囲, RANDARRAY(ROWS(範囲)), TRUE), N件)</code> と書きます。シャッフルしてから上位N件を切り出す方式なので重複が起きません。</p>



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



<p class="wp-block-paragraph">RANDARRAY関数のポイントをおさらいします。</p>



<ul class="wp-block-list"><li>RANDARRAY関数は、指定した行数×列数の乱数配列を一括生成する関数</li><li>Googleスプレッドシート版の引数は「行数」と「列数」の2つだけ</li><li>戻り値は0以上1未満の小数で、整数にしたいときは<a href="https://mashukabu.com/spreadsheet-int-function/">INT関数</a>と組み合わせる</li><li>四則演算で任意の範囲のデータを生成できる</li><li><a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">SORT関数</a>や<a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>と組み合わせれば、シャッフルやランダム抽出も可能</li><li>揮発性関数なので、値を保持したいときは値貼り付けで固定する</li></ul>



<p class="wp-block-paragraph">テストデータの作成やランダム抽出など、使いこなせると作業効率がぐっと上がります。ぜひ実際のシートで試してみてください。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-rand-function/">スプレッドシートのRAND関数の使い方｜乱数を固定する方法も解説</a></li><li><a href="https://mashukabu.com/spreadsheet-randbetween-function/">スプレッドシートのRANDBETWEEN関数の使い方｜範囲内の整数をランダムに生成</a></li><li><a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">スプレッドシートのSORT・SORTN・SORTBY関数の使い方｜データを自動で並べ替える</a></li><li><a href="https://mashukabu.com/spreadsheet-sortby-function/">スプレッドシートのSORTBY関数の使い方｜別列基準で並べ替え</a></li><li><a href="https://mashukabu.com/spreadsheet-sequence-function/">スプレッドシートのSEQUENCE関数の使い方｜連番・日付・2次元配列を自動生成</a></li><li><a href="https://mashukabu.com/spreadsheet-unique-function/">スプレッドシートのUNIQUE関数の使い方｜重複を瞬時に除去</a></li><li><a href="https://mashukabu.com/spreadsheet-filter-function/">スプレッドシートのFILTER関数の使い方｜条件抽出を自動化する方法</a></li><li><a href="https://mashukabu.com/spreadsheet-index-function/">スプレッドシートのINDEX関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-randarray-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのRANDBETWEEN関数の使い方｜範囲内の整数をランダムに生成</title>
		<link>https://mashukabu.com/spreadsheet-randbetween-function/</link>
					<comments>https://mashukabu.com/spreadsheet-randbetween-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:31:32 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[RANDBETWEEN関数]]></category>
		<category><![CDATA[RAND関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[テストデータ]]></category>
		<category><![CDATA[ランダム抽出]]></category>
		<category><![CDATA[乱数]]></category>
		<category><![CDATA[揮発性関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4787</guid>

					<description><![CDATA[スプレッドシートのRANDBETWEEN関数の使い方を解説。指定範囲のランダムな整数を生成する基本構文から、くじ引き・テストデータ作成の応用例、揮発性の注意点と値の固定方法、RAND関数との違いまでまとめました。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「1〜100の中からランダムに整数を出したいけど、どうすればいいんだろう？」</p>



<p class="wp-block-paragraph">くじ引きやテストデータの作成など、ランダムな整数がほしい場面は意外と多いですよね。</p>



<p class="wp-block-paragraph">そんなときは<strong>RANDBETWEEN関数</strong>の出番です。範囲を指定するだけで整数の乱数をかんたんに生成できますよ。</p>



<p class="wp-block-paragraph">この記事では、RANDBETWEEN関数の基本からくじ引き・テストデータ作成の応用例、乱数の固定方法まで解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-3" checked><label class="toc-title" for="toc-checkbox-3">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">RANDBETWEEN関数とは？スプレッドシートで整数の乱数を生成する関数</a></li><li><a href="#toc2" tabindex="0">RANDBETWEEN関数の書き方（構文と引数）</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">RANDBETWEEN関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">1から10のランダムな整数を生成する</a></li><li><a href="#toc7" tabindex="0">負の数を含む範囲を指定する</a></li><li><a href="#toc8" tabindex="0">0か1をランダムに生成する</a></li></ol></li><li><a href="#toc9" tabindex="0">RANDBETWEEN関数の実践的な使い方・応用例</a><ol><li><a href="#toc10" tabindex="0">パターン1: くじ引き・抽選番号を作る</a></li><li><a href="#toc11" tabindex="0">パターン2: テストデータを大量に作成する</a></li><li><a href="#toc12" tabindex="0">パターン3: リストからランダムに1件抽出する</a></li><li><a href="#toc13" tabindex="0">パターン4: CHOOSE関数でランダムにカテゴリを振り分ける</a></li><li><a href="#toc14" tabindex="0">パターン5: IF関数で2択をランダムに振り分ける</a></li><li><a href="#toc15" tabindex="0">パターン6: SORT+RANDで重複なしのランダム並べ替え</a></li></ol></li><li><a href="#toc16" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc17" tabindex="0">よくある質問（FAQ）</a><ol><li><a href="#toc18" tabindex="0">Q1. 重複しない乱数を生成するにはどうすればいいですか？</a></li><li><a href="#toc19" tabindex="0">Q2. 生成した乱数を固定（変わらなくする）にはどうすればいいですか？</a></li><li><a href="#toc20" tabindex="0">Q3. ExcelでもRANDBETWEEN関数は使えますか？</a></li><li><a href="#toc21" tabindex="0">Q4. RANDBETWEENで小数を生成することはできますか？</a></li><li><a href="#toc22" tabindex="0">Q5. RANDBETWEEN関数で同じ値が連続して出るのはバグですか？</a></li></ol></li><li><a href="#toc23" tabindex="0">RAND関数との違いと使い分け</a><ol><li><a href="#toc24" tabindex="0">比較表</a></li><li><a href="#toc25" tabindex="0">どちらを選ぶべきか</a></li></ol></li><li><a href="#toc26" tabindex="0">揮発性関数の注意点と乱数の固定方法</a><ol><li><a href="#toc27" tabindex="0">再計算で値が変わるタイミング</a></li><li><a href="#toc28" tabindex="0">値貼り付けで固定する方法</a></li></ol></li><li><a href="#toc29" tabindex="0">まとめ</a><ol><li><a href="#toc30" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">RANDBETWEEN関数とは？スプレッドシートで整数の乱数を生成する関数</span></h2>



<p class="wp-block-paragraph">RANDBETWEEN関数は、<strong>指定した範囲内のランダムな整数を返す関数</strong>です。読み方は「ランドビトウィーン関数」。「Random Between（2つの値の間のランダムな数）」が語源です。</p>



<p class="wp-block-paragraph">たとえば <code>=RANDBETWEEN(1,100)</code> と入力すると、1〜100のどれかの整数が表示されます。</p>



<p class="wp-block-paragraph">再計算するたびに値が変わるのが特徴です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>RANDBETWEEN関数は<strong>揮発性関数</strong>です。セルを編集したりシートを開き直したりするだけで値が変わります。結果を確定させたいときは「値貼り付け」で固定してください（方法は後述します）。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=RANDBETWEEN(下限, 上限)</code></pre>



<p class="wp-block-paragraph">2つの引数で「最小値」と「最大値」を指定するだけのシンプルな構文です。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>下限（low）</td><td>必須</td><td>乱数の最小値となる整数を指定します</td></tr><tr><td>上限（high）</td><td>必須</td><td>乱数の最大値となる整数を指定します</td></tr></tbody></table></figure>



<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>Googleスプレッドシート / Excel 2007以降 / Microsoft 365</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>引数に小数を指定した場合、小数点以下は切り捨てられて整数として扱われます。たとえば <code>=RANDBETWEEN(1.5, 9.8)</code> は <code>=RANDBETWEEN(1, 9)</code> と同じ動作です。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc6">1から10のランダムな整数を生成する</span></h3>



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



<pre class="wp-block-code"><code>=RANDBETWEEN(1,10)</code></pre>



<p class="wp-block-paragraph">Enterを押すと、1から10のどれかの整数が表示されます。別のセルを編集すると値が変わりますが、これは揮発性関数の仕様です。</p>



<h3 class="wp-block-heading"><span id="toc7">負の数を含む範囲を指定する</span></h3>



<p class="wp-block-paragraph">下限にマイナスの値を指定することもできます。</p>



<pre class="wp-block-code"><code>=RANDBETWEEN(-50,50)</code></pre>



<p class="wp-block-paragraph">-50から50までのランダムな整数を返します。温度データや差異のテストデータを作りたいときに便利です。</p>



<h3 class="wp-block-heading"><span id="toc8">0か1をランダムに生成する</span></h3>



<p class="wp-block-paragraph">フラグ（ON/OFF）のテストデータを作るときに使えるパターンです。</p>



<pre class="wp-block-code"><code>=RANDBETWEEN(0,1)</code></pre>



<p class="wp-block-paragraph">0または1がランダムに返されます。大量のテストデータにフラグを付けるときに重宝しますよ。</p>



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



<h3 class="wp-block-heading"><span id="toc10">パターン1: くじ引き・抽選番号を作る</span></h3>



<p class="wp-block-paragraph">社内イベントやプレゼント企画で抽選番号を割り振りたいときに使えます。</p>



<p class="wp-block-paragraph">参加者がA列（A2:A11）に10名入っているとします。B2セルに以下の数式を入力して下方向にコピーします。</p>



<pre class="wp-block-code"><code>=RANDBETWEEN(1,100)</code></pre>



<p class="wp-block-paragraph">各参加者にランダムな番号が割り振られます。一番大きい番号の人が当選、というルールにすればOKです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>RANDBETWEEN関数は重複する値を返すことがあります。重複なしの抽選をしたい場合は、<a href="https://mashukabu.com/spreadsheet-rand-function/">RAND関数</a>でランダムな小数を振り、<a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">SORT関数</a>で並べ替える方法がおすすめです。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc11">パターン2: テストデータを大量に作成する</span></h3>



<p class="wp-block-paragraph">ダミーデータがほしいことってありますよね。RANDBETWEEN関数なら一瞬で作れます。</p>



<p class="wp-block-paragraph"><strong>売上金額のテストデータ（1,000円〜50,000円）:</strong></p>



<pre class="wp-block-code"><code>=RANDBETWEEN(1000,50000)</code></pre>



<p class="wp-block-paragraph"><strong>年齢のテストデータ（20歳〜65歳）:</strong></p>



<pre class="wp-block-code"><code>=RANDBETWEEN(20,65)</code></pre>



<p class="wp-block-paragraph"><strong>ランダムな日付を生成する:</strong></p>



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



<p class="wp-block-paragraph">セルの表示形式を「日付」に変更してみてください。2026年内のランダムな日付が表示されます。</p>



<p class="wp-block-paragraph">スプレッドシートの日付はシリアル値（整数）なので、RANDBETWEEN関数と相性抜群です。<a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数</a>の使い方は別の記事で詳しく解説しています。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>テストデータを<strong>大量に一括生成</strong>したいときは、<a href="https://mashukabu.com/spreadsheet-randarray-function/">RANDARRAY関数</a>が便利です。行数・列数を指定するだけで、複数の乱数をまとめて作れますよ。</p></blockquote>



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



<p class="wp-block-paragraph">名簿からランダムに1件を選びたいとき、<a href="https://mashukabu.com/spreadsheet-index-function/">INDEX関数</a>と組み合わせると実現できます。</p>



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



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



<p class="wp-block-paragraph">RANDBETWEEN関数が1〜10のランダムな行番号を返します。INDEX関数がその行のデータを取り出す仕組みです。</p>



<p class="wp-block-paragraph">データ件数が変わる場合は、<a href="https://mashukabu.com/spreadsheet-counta-function/">COUNTA関数</a>で自動カウントしましょう。</p>



<pre class="wp-block-code"><code>=INDEX(A2:A11,RANDBETWEEN(1,COUNTA(A2:A11)))</code></pre>



<h3 class="wp-block-heading"><span id="toc13">パターン4: CHOOSE関数でランダムにカテゴリを振り分ける</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE関数</a>と組み合わせると、ランダムな文字列の振り分けができます。</p>



<pre class="wp-block-code"><code>=CHOOSE(RANDBETWEEN(1,3),&quot;営業部&quot;,&quot;開発部&quot;,&quot;総務部&quot;)</code></pre>



<p class="wp-block-paragraph">RANDBETWEEN関数が1〜3を返します。CHOOSE関数が対応する部署名を表示する仕組みです。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン5: IF関数で2択をランダムに振り分ける</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>と組み合わせた2択のランダム振り分けです。</p>



<pre class="wp-block-code"><code>=IF(RANDBETWEEN(1,2)=1,&quot;合格&quot;,&quot;不合格&quot;)</code></pre>



<p class="wp-block-paragraph">A/Bテスト振り分けやテストデータの合否フラグに使えます。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン6: SORT+RANDで重複なしのランダム並べ替え</span></h3>



<p class="wp-block-paragraph">RANDBETWEEN関数は同じ値を返すことがあるため、重複なしの抽選には別の方法が必要です。そんなときは並べ替えを使ったシャッフルが便利です。</p>



<p class="wp-block-paragraph">A列にデータが10件（A2:A11）入っているとします。次の数式で重複なしのランダム並べ替えができます。</p>



<pre class="wp-block-code"><code>=SORT(A2:A11, RANDARRAY(COUNTA(A2:A11)), 1)</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-randarray-function/">RANDARRAY関数</a>が件数ぶんの乱数配列を生成し、<a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">SORT関数</a>がその乱数をキーに並べ替えます。件数は<a href="https://mashukabu.com/spreadsheet-counta-function/">COUNTA関数</a>で自動カウントしているため、データ件数が変わっても数式を直す必要はありません。</p>



<p class="wp-block-paragraph">シートを更新するたびに並び順がランダムに変わり、上から必要な件数を取り出せば重複なしの抽選として使えます。</p>



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



<p class="wp-block-paragraph">RANDBETWEEN関数で遭遇しやすいエラーをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#NUM!</code> エラー</td><td>下限が上限より大きい</td><td>引数の順序を確認する（下限 <= 上限）</td></tr><tr><td><code>#VALUE!</code> エラー</td><td>引数に文字列が含まれている</td><td>数値またはセル参照を使用する</td></tr><tr><td><code>#NAME?</code> エラー</td><td>関数名のスペルミス</td><td><code>RANDBETWEEN</code> のスペルを確認する</td></tr><tr><td>値が勝手に変わる</td><td>揮発性関数の仕様</td><td>値貼り付け（Ctrl+Shift+V）で固定する</td></tr><tr><td>同じ値が繰り返し出る</td><td>ランダムなので偶然の重複</td><td>範囲を広げるか、RAND関数で重複なしの方法を使う</td></tr><tr><td>小数が返されない</td><td>RANDBETWEEN関数は整数のみ返す</td><td>小数の乱数が必要なら<a href="https://mashukabu.com/spreadsheet-rand-function/">RAND関数</a>を使う</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>Excelでは下限 > 上限のとき <code>#VALUE!</code> エラーですが、スプレッドシートでは <code>#NUM!</code> エラーになります。検索して対処法を探すときはこの違いに注意してください。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc18">Q1. 重複しない乱数を生成するにはどうすればいいですか？</span></h3>



<p class="wp-block-paragraph">RANDBETWEEN関数は重複した値を返すことがあります。重複なしにするには、RAND関数でランダムな小数を振り、SORT関数で並べ替える方法がおすすめです。<a href="https://mashukabu.com/spreadsheet-randarray-function/">RANDARRAY関数</a>とSORT関数を組み合わせると、一括で重複なしのシャッフルができます。</p>



<h3 class="wp-block-heading"><span id="toc19">Q2. 生成した乱数を固定（変わらなくする）にはどうすればいいですか？</span></h3>



<p class="wp-block-paragraph">数式が入ったセルをコピーし、<code>Ctrl + Shift + V</code>（Macは <code>Cmd + Shift + V</code>）で「値のみ貼り付け」をしてください。数式が消えて、その時点の数値が固定されます。再計算しても値は変わらなくなります。</p>



<h3 class="wp-block-heading"><span id="toc20">Q3. ExcelでもRANDBETWEEN関数は使えますか？</span></h3>



<p class="wp-block-paragraph">はい、使えます。構文・戻り値ともに同じです。ただし、下限が上限より大きいとき、Excelは <code>#VALUE!</code>、スプレッドシートは <code>#NUM!</code> と異なるエラーが出る点に注意してください。</p>



<h3 class="wp-block-heading"><span id="toc21">Q4. RANDBETWEENで小数を生成することはできますか？</span></h3>



<p class="wp-block-paragraph">できません。RANDBETWEEN関数は整数のみを返します。小数が必要な場合は<a href="https://mashukabu.com/spreadsheet-rand-function/">RAND関数</a>（0以上1未満）を使い、スケールアップしてください。たとえば <code>=RAND()*100</code> とすれば0〜100の小数を生成できます。</p>



<h3 class="wp-block-heading"><span id="toc22">Q5. RANDBETWEEN関数で同じ値が連続して出るのはバグですか？</span></h3>



<p class="wp-block-paragraph">バグではありません。乱数なので重複は起こりえます。統計的に見れば同じ値が連続することもあり、これは仕様の範囲内です。重複を避けたい場合は、SORT関数とRAND関数の組み合わせをお使いください。</p>



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



<p class="wp-block-paragraph">RANDBETWEEN関数と似た関数に<a href="https://mashukabu.com/spreadsheet-rand-function/">RAND関数</a>があります。違いを整理しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc24">比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>RANDBETWEEN(下限, 上限)</th><th>RAND()</th></tr></thead><tbody><tr><td>引数</td><td>下限・上限の2つ</td><td>なし</td></tr><tr><td>戻り値</td><td>指定範囲の整数</td><td>0以上1未満の小数</td></tr><tr><td>揮発性</td><td>あり</td><td>あり</td></tr><tr><td>典型的な用途</td><td>くじ引き・テストデータ</td><td>確率計算・シャッフル</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc25">どちらを選ぶべきか</span></h3>



<p class="wp-block-paragraph">迷ったときは、次の基準で選んでみてください。</p>



<ul class="wp-block-list"><li><strong>RANDBETWEEN</strong>: 整数の乱数がほしい。範囲が決まっている。シンプルに使いたい</li><li><strong>RAND</strong>: 小数の乱数がほしい。確率の計算に使いたい。他の関数と組み合わせて加工したい</li></ul>



<p class="wp-block-paragraph">「1〜6の整数」のような単純なケースはRANDBETWEEN関数が手軽です。一方、リストのシャッフルや確率シミュレーションには<a href="https://mashukabu.com/spreadsheet-rand-function/">RAND関数</a>が向いています。</p>



<p class="wp-block-paragraph">「整数ならRANDBETWEEN、それ以外はRAND」と覚えておけばOKです。</p>



<p class="wp-block-paragraph">なお、乱数を<strong>複数セルに一括で作りたい</strong>ときは<a href="https://mashukabu.com/spreadsheet-randarray-function/">RANDARRAY関数</a>が最適です。1つのセルに数式を入れるだけで、指定した行数×列数の乱数を一気に生成できますよ。</p>



<h2 class="wp-block-heading"><span id="toc26">揮発性関数の注意点と乱数の固定方法</span></h2>



<p class="wp-block-paragraph">RANDBETWEEN関数は便利ですが、揮発性ゆえの落とし穴があります。</p>



<h3 class="wp-block-heading"><span id="toc27">再計算で値が変わるタイミング</span></h3>



<p class="wp-block-paragraph">RANDBETWEEN関数は<strong>揮発性関数</strong>です。通常の関数は参照先のセルが変わったときだけ再計算されますが、揮発性関数はシート上のどこかが変更されるだけで再計算が走ります。</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>シートを開き直す</td><td>変わる</td></tr><tr><td>別のセルに数式を入力する</td><td>変わる</td></tr><tr><td>セルの書式だけ変更する</td><td>変わらない</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「さっきの結果をもう一度見たい」と思っても、固定していなければ元の値は取り戻せません。</p>



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



<p class="wp-block-paragraph">乱数を固定するには、<strong>数式を値に変換</strong>します。手順は次のとおりです。</p>



<ol class="wp-block-list"><li>RANDBETWEEN関数が入ったセル範囲を選択してコピー（<code>Ctrl + C</code> / Macは <code>Cmd + C</code>）</li><li>そのまま <code>Ctrl + Shift + V</code>（Macは <code>Cmd + Shift + V</code>）で値のみ貼り付け</li><li>数式が消えて、コピー時点の数値だけが残る</li></ol>



<p class="wp-block-paragraph">これで再計算しても値は変わりません。</p>



<pre class="wp-block-code"><code>コピー: Ctrl + C
値貼り付け: Ctrl + Shift + V</code></pre>



<p class="wp-block-paragraph">くじ引きやテストデータの結果を確定させたいときは、<strong>結果が出たらすぐに値貼り付け</strong>を習慣にしましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>RANDBETWEEN関数を大量に使うと再計算のたびにシートが重くなります。テストデータ作成後は値貼り付けで固定しておくのがおすすめです。</p></blockquote>



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



<p class="wp-block-paragraph">RANDBETWEEN関数は、指定範囲のランダムな整数を返す関数です。</p>



<p class="wp-block-paragraph">この記事で紹介した内容をおさらいします。</p>



<ul class="wp-block-list"><li><strong>基本</strong>: <code>=RANDBETWEEN(下限, 上限)</code> で整数の乱数を生成</li><li><strong>テストデータ</strong>: 売上金額・年齢・日付など、ダミーデータを一瞬で作れる</li><li><strong>ランダム抽出</strong>: INDEX関数やCHOOSE関数と組み合わせてリストからランダムに選べる</li><li><strong>揮発性</strong>: 再計算のたびに値が変わるので、確定したら値貼り付けで固定する</li><li><strong>使い分け</strong>: 整数ならRANDBETWEEN、小数ならRAND、一括生成なら<a href="https://mashukabu.com/spreadsheet-randarray-function/">RANDARRAY</a></li></ul>



<p class="wp-block-paragraph">くじ引きやテストデータ作成など、ランダムな整数が必要な場面でぜひ活用してみてください。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-randarray-function/">スプレッドシートのRANDARRAY関数の使い方｜複数の乱数を一括生成</a></li><li><a href="https://mashukabu.com/spreadsheet-rand-function/">スプレッドシートのRAND関数の使い方｜乱数を固定する方法も解説</a></li><li><a href="https://mashukabu.com/spreadsheet-index-function/">スプレッドシートのINDEX関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-choose-function/">スプレッドシートのCHOOSE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-if-function/">スプレッドシートのIF関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-int-function/">スプレッドシートのINT関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-counta-function/">スプレッドシートのCOUNTA関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-randbetween-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<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-4" checked><label class="toc-title" for="toc-checkbox-4">目次</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のRANDBETWEEN関数の使い方｜乱数の基本から実務活用まで解説</title>
		<link>https://mashukabu.com/excel-function-howto-use-randbetween/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-randbetween/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 16 May 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[RANDBETWEEN関数]]></category>
		<category><![CDATA[RAND関数]]></category>
		<category><![CDATA[くじ引き]]></category>
		<category><![CDATA[テストデータ]]></category>
		<category><![CDATA[ランダム]]></category>
		<category><![CDATA[乱数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1923</guid>

					<description><![CDATA[ExcelのRANDBETWEEN関数で指定範囲のランダムな整数を生成する方法を解説。基本構文からくじ引き・テストデータ作成・ランダム抽出の応用パターン、RAND関数との違い、値の固定方法まで実務で使えるテクニックを紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「Excelでランダムな整数を出したいけど、どの関数を使えばいいんだろう？」</p>



<p class="wp-block-paragraph">くじ引きやテストデータなど、ランダムな整数がほしい場面は意外と多いですよね。</p>



<p class="wp-block-paragraph">そんなときはRANDBETWEEN関数の出番です。</p>



<p class="wp-block-paragraph">この記事では、RANDBETWEEN関数の基本から実務活用まで解説します。RAND関数との使い分けもまとめました。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-5" checked><label class="toc-title" for="toc-checkbox-5">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">RANDBETWEEN関数とは？</a></li><li><a href="#toc2" tabindex="0">RANDBETWEEN関数の書き方（構文と引数）</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">RANDBETWEEN関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">1から10のランダムな整数を生成する</a></li><li><a href="#toc7" tabindex="0">負の数を含む範囲を指定する</a></li><li><a href="#toc8" tabindex="0">0か1をランダムに生成する</a></li></ol></li><li><a href="#toc9" tabindex="0">RANDBETWEEN関数の実践的な使い方・応用例</a><ol><li><a href="#toc10" tabindex="0">パターン1: くじ引き・抽選番号を作る</a></li><li><a href="#toc11" tabindex="0">パターン2: テストデータを大量に作成する</a></li><li><a href="#toc12" tabindex="0">パターン3: リストからランダムに1件抽出する</a></li><li><a href="#toc13" tabindex="0">パターン4: CHOOSE関数でランダムにカテゴリを振り分ける</a></li><li><a href="#toc14" tabindex="0">パターン5: IF関数で2択をランダムに振り分ける</a></li></ol></li><li><a href="#toc15" tabindex="0">値を固定する方法（揮発性関数の対策）</a><ol><li><a href="#toc16" tabindex="0">再計算で値が変わるタイミング</a></li><li><a href="#toc17" tabindex="0">値貼り付けで固定する手順</a></li></ol></li><li><a href="#toc18" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc19" tabindex="0">似た関数との違い・使い分け</a><ol><li><a href="#toc20" tabindex="0">使い分けのポイント</a></li></ol></li><li><a href="#toc21" tabindex="0">まとめ</a><ol><li><a href="#toc22" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph"><strong>RANDBETWEEN関数</strong>（読み方: ランドビトウィーン）は、<strong>指定した範囲内のランダムな整数</strong>を返す関数です。</p>



<p class="wp-block-paragraph">名前の由来は「Random Between」です。「2つの値の間のランダムな数」という意味ですね。</p>



<p class="wp-block-paragraph">たとえば <code>=RANDBETWEEN(1,100)</code> と入力してみましょう。1〜100のどれかの整数が表示されます。</p>



<p class="wp-block-paragraph">再計算するたびに値が変わるのが特徴です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>RANDBETWEEN関数は<strong>揮発性関数</strong>です。セルを編集したりF9キーを押したりするだけで値が変わります。結果を確定させたいときは「値貼り付け」で固定してください（方法は後述します）。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=RANDBETWEEN(最小値, 最大値)</code></pre>



<p class="wp-block-paragraph">2つの引数で「下限」と「上限」を指定するだけのシンプルな構文です。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>最小値（bottom）</td><td>必須</td><td>乱数の下限となる整数を指定します</td></tr><tr><td>最大値（top）</td><td>必須</td><td>乱数の上限となる整数を指定します</td></tr></tbody></table></figure>



<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>Excel 2007以降すべて / Microsoft 365 / Googleスプレッドシート</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>最小値と最大値には小数を指定することもできます。小数点以下は切り捨てられて整数として扱われます。たとえば <code>=RANDBETWEEN(1.5, 9.8)</code> は <code>=RANDBETWEEN(1, 9)</code> と同じ動作です。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc6">1から10のランダムな整数を生成する</span></h3>



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



<pre class="wp-block-code"><code>=RANDBETWEEN(1,10)</code></pre>



<p class="wp-block-paragraph">Enterを押すと、1から10のどれかの整数が表示されます。別のセルを編集すると値が変わりますが、揮発性関数の仕様です。</p>



<h3 class="wp-block-heading"><span id="toc7">負の数を含む範囲を指定する</span></h3>



<p class="wp-block-paragraph">最小値にマイナスの値を指定することもできます。</p>



<pre class="wp-block-code"><code>=RANDBETWEEN(-50,50)</code></pre>



<p class="wp-block-paragraph">-50から50までのランダムな整数を返します。温度データや差異のテストデータを作りたいときに便利です。</p>



<h3 class="wp-block-heading"><span id="toc8">0か1をランダムに生成する</span></h3>



<p class="wp-block-paragraph">フラグ（ON/OFF）のテストデータを作るときに使えるパターンです。</p>



<pre class="wp-block-code"><code>=RANDBETWEEN(0,1)</code></pre>



<p class="wp-block-paragraph">0または1がランダムに返されます。大量のテストデータにフラグを付けるときに重宝します。</p>



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



<h3 class="wp-block-heading"><span id="toc10">パターン1: くじ引き・抽選番号を作る</span></h3>



<p class="wp-block-paragraph">社内イベントやプレゼント企画で抽選番号を割り振りたいときに使えます。</p>



<p class="wp-block-paragraph">参加者がA列（A2:A11）に10名入っているとします。B列に以下の数式を入力します。</p>



<pre class="wp-block-code"><code>=RANDBETWEEN(1,100)</code></pre>



<p class="wp-block-paragraph">各参加者にランダムな番号が割り振られます。一番大きい番号の人が当選、というルールにすればOKです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>RANDBETWEEN関数は重複する値を返すことがあります。重複なしの抽選をしたい場合は、<a href="https://mashukabu.com/excel-function-howto-use-rand/">RAND関数</a>と<a href="https://mashukabu.com/excel-function-howto-use-rank/">RANK関数</a>を組み合わせる方法がおすすめです。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc11">パターン2: テストデータを大量に作成する</span></h3>



<p class="wp-block-paragraph">ダミーデータがほしいことってありますよね。RANDBETWEEN関数なら一瞬で作れます。</p>



<p class="wp-block-paragraph"><strong>売上金額のテストデータ（1,000円〜50,000円）:</strong></p>



<pre class="wp-block-code"><code>=RANDBETWEEN(1000,50000)</code></pre>



<p class="wp-block-paragraph"><strong>年齢のテストデータ（20歳〜65歳）:</strong></p>



<pre class="wp-block-code"><code>=RANDBETWEEN(20,65)</code></pre>



<p class="wp-block-paragraph"><strong>ランダムな日付を生成する:</strong></p>



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



<p class="wp-block-paragraph">セルの表示形式を「日付」に変更してみてください。2026年内のランダムな日付が表示されます。</p>



<p class="wp-block-paragraph">Excelの日付はシリアル値（整数）なので相性抜群です。</p>



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



<p class="wp-block-paragraph">名簿からランダムに1件を選びたいとき、<a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数</a>と組み合わせると実現できます。</p>



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



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



<p class="wp-block-paragraph">RANDBETWEEN関数が1〜10のランダムな行番号を返します。INDEX関数がその行のデータを取り出す仕組みです。</p>



<p class="wp-block-paragraph">データ件数が変わる場合は、COUNTA関数で自動カウントしましょう。</p>



<pre class="wp-block-code"><code>=INDEX(A2:A11,RANDBETWEEN(1,COUNTA(A2:A11)))</code></pre>



<h3 class="wp-block-heading"><span id="toc13">パターン4: CHOOSE関数でランダムにカテゴリを振り分ける</span></h3>



<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(RANDBETWEEN(1,3),&quot;営業部&quot;,&quot;開発部&quot;,&quot;総務部&quot;)</code></pre>



<p class="wp-block-paragraph">RANDBETWEEN関数が1〜3を返します。CHOOSE関数が対応する部署名を表示する仕組みです。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン5: IF関数で2択をランダムに振り分ける</span></h3>



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



<pre class="wp-block-code"><code>=IF(RANDBETWEEN(1,2)=1,&quot;合格&quot;,&quot;不合格&quot;)</code></pre>



<p class="wp-block-paragraph">A/Bテスト振り分けやテストデータの合否フラグに使えます。</p>



<h2 class="wp-block-heading"><span id="toc15">値を固定する方法（揮発性関数の対策）</span></h2>



<p class="wp-block-paragraph">RANDBETWEEN関数は<strong>揮発性関数</strong>です。再計算のたびに値が変わります。</p>



<p class="wp-block-paragraph">「良い値が出たのに変わった」というのはよくある話です。</p>



<h3 class="wp-block-heading"><span id="toc16">再計算で値が変わるタイミング</span></h3>



<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>ブックを開き直す</td><td>変わる</td></tr><tr><td>別のセルに数式を入力する</td><td>変わる</td></tr><tr><td>セルの書式だけ変更する</td><td>変わらない</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc17">値貼り付けで固定する手順</span></h3>



<p class="wp-block-paragraph">結果を確定させたいときは、<strong>値貼り付け</strong>を使います。</p>



<ol class="wp-block-list"><li>RANDBETWEEN関数が入ったセル範囲を選択してコピー（Ctrl+C）</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>TIP</strong></p><p>RANDBETWEEN関数を大量に使うと再計算が遅くなることがあります。テストデータ作成後は値貼り付けで固定しておくのがおすすめです。</p></blockquote>



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



<p class="wp-block-paragraph">RANDBETWEEN関数で遭遇しやすいエラーをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#VALUE!</code> エラー</td><td>最小値が最大値より大きい</td><td>引数の順序を確認する（最小値 <= 最大値）</td></tr><tr><td><code>#VALUE!</code> エラー</td><td>引数に文字列が含まれている</td><td>数値またはセル参照を使用する</td></tr><tr><td><code>#NAME?</code> エラー</td><td>関数名のスペルミス</td><td><code>RANDBETWEEN</code> のスペルを確認する</td></tr><tr><td>値が勝手に変わる</td><td>揮発性関数の仕様</td><td>値貼り付け（Ctrl+Shift+V）で固定する</td></tr><tr><td>同じ値が繰り返し出る</td><td>ランダムなので偶然の重複</td><td>範囲を広げるか、RAND+RANKの組み合わせを使う</td></tr><tr><td>小数が返されない</td><td>RANDBETWEEN関数は整数のみ返す</td><td>小数の乱数が必要ならRAND関数を使う</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc19">似た関数との違い・使い分け</span></h2>



<p class="wp-block-paragraph">Excelには乱数を生成する関数が3つあります。それぞれの特徴を比較してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>RANDBETWEEN</th><th>RAND</th><th>RANDARRAY</th></tr></thead><tbody><tr><td>構文</td><td><code>=RANDBETWEEN(下限,上限)</code></td><td><code>=RAND()</code></td><td><code>=RANDARRAY(行,列,最小,最大,整数)</code></td></tr><tr><td>引数</td><td>2つ（必須）</td><td>なし</td><td>5つ（すべて省略可）</td></tr><tr><td>戻り値</td><td>指定範囲の整数</td><td>0以上1未満の小数</td><td>配列（整数または小数）</td></tr><tr><td>複数セル</td><td>1セルずつ</td><td>1セルずつ</td><td>一括で複数セル</td></tr><tr><td>対応バージョン</td><td>Excel 2007以降</td><td>Excel 2003以降</td><td>Microsoft 365のみ</td></tr><tr><td>揮発性</td><td>あり</td><td>あり</td><td>あり</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc20">使い分けのポイント</span></h3>



<ul class="wp-block-list"><li><strong>整数の乱数を手軽にほしい</strong> → RANDBETWEEN関数がいちばんシンプル</li><li><strong>0〜1の小数や確率で分岐したい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-rand/">RAND関数</a>を使う</li><li><strong>大量の乱数を配列で一括生成したい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-randarray/">RANDARRAY関数</a>を使う（Microsoft 365のみ）</li><li><strong>他の関数と柔軟に組み合わせたい</strong> → RAND関数を使う</li></ul>



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



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



<p class="wp-block-paragraph">RANDBETWEEN関数は指定範囲のランダムな整数を返す関数です。この記事の内容をおさらいしましょう。</p>



<ul class="wp-block-list"><li><strong>基本</strong>: <code>=RANDBETWEEN(最小値, 最大値)</code> で整数の乱数を生成</li><li><strong>テストデータ</strong>: 売上金額・年齢・日付など、ダミーデータを一瞬で作れる</li><li><strong>ランダム抽出</strong>: INDEX関数やCHOOSE関数と組み合わせてリストからランダムに選べる</li><li><strong>揮発性</strong>: 再計算のたびに値が変わるので、確定したら値貼り付けで固定する</li><li><strong>使い分け</strong>: 整数ならRANDBETWEEN、小数ならRAND、配列ならRANDARRAY</li></ul>



<p class="wp-block-paragraph">くじ引きやテストデータ作成など、ランダムな整数が必要な場面でぜひ活用してみてください。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-rand/">RAND関数の使い方｜ランダム整数・抽出の実践例付き</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-randarray/">RANDARRAY関数でランダムな数値の配列を作成する</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数とは？使い方・MATCH連携・エラー対処を解説</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-choose/">CHOOSE関数で指定したリストから対応した番号の値を取得する</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数の使い方｜基本から複数条件まで実例で解説</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-randbetween/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-6" checked><label class="toc-title" for="toc-checkbox-6">目次</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>
