<?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/%e6%8f%ae%e7%99%ba%e6%80%a7%e9%96%a2%e6%95%b0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Tue, 11 Aug 2026 09:05:34 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>揮発性関数 &#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>スプレッドシートの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-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">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>スプレッドシートのNOW関数の使い方｜現在の日時を自動取得</title>
		<link>https://mashukabu.com/spreadsheet-now-function/</link>
					<comments>https://mashukabu.com/spreadsheet-now-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 09:48:04 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[NOW関数]]></category>
		<category><![CDATA[TEXT関数]]></category>
		<category><![CDATA[TODAY関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[タイムスタンプ]]></category>
		<category><![CDATA[揮発性関数]]></category>
		<category><![CDATA[日時取得]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4308</guid>

					<description><![CDATA[スプレッドシートのNOW関数の使い方を基本から解説。現在の日時を自動取得する方法、TEXT関数との組み合わせで表示形式を変えるテクニック、TODAY関数との違い、値を固定する2つの方法まで実務で使えるパターンを紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「この作業、何時に終わったっけ？」と後から確認したくなること、ありませんか？</p>



<p class="wp-block-paragraph">手入力で時刻を記録していると、うっかり忘れたりズレたりしがちですよね。</p>



<p class="wp-block-paragraph">GoogleスプレッドシートのNOW関数を使えば、現在の日付と時刻をセルに自動表示できます。作業ログやタイムスタンプに最適ですよ。</p>



<p class="wp-block-paragraph">この記事では、NOW関数の基本から値の固定方法まで解説します。</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">NOW関数とは｜スプレッドシートで現在の日時を取得する関数</a><ol><li><a href="#toc2" tabindex="0">基本の使い方と入力方法</a></li></ol></li><li><a href="#toc3" tabindex="0">NOW関数の実務活用パターン3選</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">TEXT関数と組み合わせて表示形式を変える</a></li><li><a href="#toc8" tabindex="0">NOW関数とTODAY関数の違い</a><ol><li><a href="#toc9" tabindex="0">日時 vs 日付のみ</a></li><li><a href="#toc10" tabindex="0">どちらを使うべきか判断基準</a></li></ol></li><li><a href="#toc11" tabindex="0">NOW関数の値を固定する方法</a><ol><li><a href="#toc12" tabindex="0">コピー＆値のみ貼り付けで固定する</a></li><li><a href="#toc13" tabindex="0">キーボードショートカットで固定入力する</a></li></ol></li><li><a href="#toc14" tabindex="0">再計算のタイミングを制御する｜揮発性関数の注意点</a></li><li><a href="#toc15" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc16" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">NOW関数とは｜スプレッドシートで現在の日時を取得する関数</span></h2>



<p class="wp-block-paragraph">NOW関数は、<strong>現在の日付と時刻をまとめて返す関数</strong>です。読み方は「ナウ関数」。語源は英語の「now（今）」です。</p>



<p class="wp-block-paragraph">ファイルを開いたり編集したりするたびに、値が最新の日時に自動更新されます。手入力のように記録漏れの心配がありません。</p>



<p class="wp-block-paragraph">作業ログの記録や経過時間の計算など、時刻が必要な場面で活躍します。</p>



<h3 class="wp-block-heading"><span id="toc2">基本の使い方と入力方法</span></h3>



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



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



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/01_formula_now-basic.png" alt="01 formula now basic" /></figure>



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



<p class="wp-block-paragraph">セルに <code>=NOW()</code> と入力してEnterを押すだけ。これで「2026/03/19 14:30:00」のような日時が表示されます。</p>



<p class="wp-block-paragraph">もし「46098.6042」のような数値が表示された場合は心配いりません。表示形式を変えるだけで直ります。</p>



<p class="wp-block-paragraph">該当セルを選択して、メニューの<strong>「表示形式」→「数字」→「日時」</strong>を選んでください。</p>



<p class="wp-block-paragraph">NOW関数が返すのは「シリアル値」という数値です。整数部分が日付、小数部分が時刻を表しています。たとえば小数部分が0.5なら12:00（正午）を意味しますよ。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/02_result_now-basic.png" alt="02 result now basic" /></figure>



<h2 class="wp-block-heading"><span id="toc3">NOW関数の実務活用パターン3選</span></h2>



<p class="wp-block-paragraph">NOW関数を実務で使いこなすための代表的な活用パターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc4">作業ログにタイムスタンプを記録する</span></h3>



<p class="wp-block-paragraph">最もよく使われるのが、作業完了時刻の記録です。</p>



<p class="wp-block-paragraph">B列に作業内容、C列に完了時刻を記録する場合を考えましょう。</p>



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



<p class="wp-block-paragraph">C列に <code>=NOW()</code> と入力すれば、その時点の日時が表示されます。</p>



<p class="wp-block-paragraph">ただし注意点があります。NOW関数はファイルを開くたびに値が更新されます。タイムスタンプとして残すなら、値を固定する必要があります。固定方法は後ほど詳しく説明しますね。</p>



<h3 class="wp-block-heading"><span id="toc5">経過時間を自動計算する</span></h3>



<p class="wp-block-paragraph">開始時刻と現在時刻の差を求めれば、経過時間がわかります。</p>



<p class="wp-block-paragraph">A1セルに開始時刻が入っている場合の数式はこちらです。</p>



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



<p class="wp-block-paragraph">結果が日付形式で表示される場合は、表示形式を「時間」に変更してください。「表示形式」→「数字」→「経過時間」を選べばOKです。</p>



<p class="wp-block-paragraph">この方法はミーティングの経過時間表示などに使えます。NOW関数が再計算されるたびに、リアルタイムで経過時間が更新されますよ。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_now-elapsed.png" alt="03 result now elapsed" /></figure>



<p class="wp-block-paragraph">経過時間は実行時刻によって変わるのが正常です。</p>



<h3 class="wp-block-heading"><span id="toc6">締め切り時刻までの残り時間を表示する</span></h3>



<p class="wp-block-paragraph">作業の締め切りが「今日の17:00」のように時刻まで決まっている場合に便利です。</p>



<p class="wp-block-paragraph">A1セルに締め切り日時が入っているとします。</p>



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



<p class="wp-block-paragraph">結果がマイナスなら締め切り超過です。表示形式を「時間」にすると、残り時間が「3:25:00」のようにわかりやすく表示されます。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-today-function/">TODAY関数</a>では日数単位の計算がメインですが、NOW関数なら時間・分単位の細かい計算ができますよ。</p>



<h2 class="wp-block-heading"><span id="toc7">TEXT関数と組み合わせて表示形式を変える</span></h2>



<p class="wp-block-paragraph">NOW関数の結果を好みの形式に整えるには、<a href="https://mashukabu.com/spreadsheet-text-function/">TEXT関数</a>との組み合わせが便利です。</p>



<p class="wp-block-paragraph">よく使う書式コードをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>目的</th><th>数式</th><th>表示例</th></tr></thead><tbody><tr><td>年月日のみ</td><td><code>=TEXT(NOW(),"yyyy/mm/dd")</code></td><td>2026/03/19</td></tr><tr><td>時刻のみ</td><td><code>=TEXT(NOW(),"hh:mm:ss")</code></td><td>14:30:00</td></tr><tr><td>時分まで</td><td><code>=TEXT(NOW(),"hh:mm")</code></td><td>14:30</td></tr><tr><td>日本語形式</td><td><code>=TEXT(NOW(),"yyyy年m月d日 h時m分")</code></td><td>2026年3月19日 14時30分</td></tr><tr><td>曜日付き</td><td><code>=TEXT(NOW(),"yyyy/mm/dd (ddd)")</code></td><td>2026/03/19 (木)</td></tr><tr><td>AM/PM表記</td><td><code>=TEXT(NOW(),"yyyy/mm/dd h:mm AM/PM")</code></td><td>2026/03/19 2:30 PM</td></tr></tbody></table></figure>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/04_result_now-text-format.png" alt="04 result now text format" /></figure>



<p class="wp-block-paragraph">書式コードの「mm」は文脈によって意味が変わります。「hh:mm」のように時間の後に置くと「分」、「yyyy/mm」のように年の後に置くと「月」を表します。この点だけ注意してください。</p>



<p class="wp-block-paragraph">TEXT関数で変換した結果は文字列になります。そのままでは計算に使えないので、計算が必要な場合は元のNOW関数を直接使いましょう。</p>



<h2 class="wp-block-heading"><span id="toc8">NOW関数とTODAY関数の違い</span></h2>



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



<h3 class="wp-block-heading"><span id="toc9">日時 vs 日付のみ</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>NOW()</th><th>TODAY()</th></tr></thead><tbody><tr><td>返す値</td><td>日付＋時刻（例: 2026/03/19 14:30）</td><td>日付のみ（例: 2026/03/19）</td></tr><tr><td>シリアル値</td><td>小数を含む（例: 46098.6042）</td><td>整数のみ（例: 46098）</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">NOW()はシリアル値の小数部分に時刻が含まれています。一方、TODAY()は整数のみで時刻を含みません。</p>



<h3 class="wp-block-heading"><span id="toc10">どちらを使うべきか判断基準</span></h3>



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



<ul class="wp-block-list"><li><strong>TODAY関数が向いている場面</strong>: 期限管理、残り日数の計算、日付の比較</li><li><strong>NOW関数が向いている場面</strong>: 作業ログのタイムスタンプ、経過時間の計算、処理時刻の記録</li></ul>



<p class="wp-block-paragraph">ポイントは「時刻が必要かどうか」です。日付だけでよいならTODAY関数、時刻まで必要ならNOW関数を使いましょう。</p>



<p class="wp-block-paragraph">日数計算にNOW関数を使うと、時刻の端数が計算結果に影響します。日単位の計算にはTODAY関数のほうが正確ですよ。</p>



<h2 class="wp-block-heading"><span id="toc11">NOW関数の値を固定する方法</span></h2>



<p class="wp-block-paragraph">NOW関数は再計算のたびに値が変わります。「作業が終わった時刻を残したい」という場面では、値を固定する必要があります。</p>



<p class="wp-block-paragraph">固定する方法は2つあります。</p>



<h3 class="wp-block-heading"><span id="toc12">コピー＆値のみ貼り付けで固定する</span></h3>



<p class="wp-block-paragraph">すでに <code>=NOW()</code> が入っているセルの値を固定する方法です。</p>



<p class="wp-block-paragraph"><strong>ステップ1</strong>: NOW関数が入ったセルを選択してコピー（Ctrl+C / Cmd+C）</p>



<p class="wp-block-paragraph"><strong>ステップ2</strong>: 同じセルを選んだ状態で右クリック→「特殊貼り付け」→「値のみ貼り付け」</p>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-now-function/05_ui_paste-values-only.png/">_images/spreadsheet-now-function/05_ui_paste-values-only.png</a></p>



<p class="wp-block-paragraph">これで数式が消えて、コピーした時点の日時が固定値として残ります。</p>



<p class="wp-block-paragraph">ショートカットキーなら、Ctrl+Shift+V（Mac: Cmd+Shift+V）が便利です。</p>



<p class="wp-block-paragraph">これで数式が消えて、コピーした時点の日時が固定値として残ります。</p>



<h3 class="wp-block-heading"><span id="toc13">キーボードショートカットで固定入力する</span></h3>



<p class="wp-block-paragraph">最初から固定値として入力する方法もあります。</p>



<p class="wp-block-paragraph"><strong>日付のショートカット</strong>:</p>



<ul class="wp-block-list"><li>Windows: <code>Ctrl + ;</code>（セミコロン）</li><li>Mac: <code>Cmd + ;</code></li></ul>



<p class="wp-block-paragraph"><strong>時刻のショートカット</strong>:</p>



<ul class="wp-block-list"><li>Windows: <code>Ctrl + Shift + ;</code></li><li>Mac: <code>Cmd + Shift + ;</code></li></ul>



<p class="wp-block-paragraph">日付と時刻の両方を1つのセルに入れたい場合は、まず <code>Ctrl + ;</code> で日付を入力し、続けてスペースを入力してから <code>Ctrl + Shift + ;</code> で時刻を追加してください。</p>



<p class="wp-block-paragraph">ショートカットで入力した値は固定値なので、再計算で変わることはありません。作業記録やログなど「入力した時点を残したい」場面ではこちらが便利ですよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>方法</th><th>操作</th><th>向いている場面</th></tr></thead><tbody><tr><td>コピー＆値のみ貼り付け</td><td>Ctrl+Shift+V</td><td>一度NOW()で表示してから固定したいとき</td></tr><tr><td>ショートカット入力</td><td>Ctrl+; / Ctrl+Shift+;</td><td>最初から固定値で入力したいとき</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc14">再計算のタイミングを制御する｜揮発性関数の注意点</span></h2>



<p class="wp-block-paragraph">NOW関数は<strong>揮発性関数</strong>と呼ばれる種類の関数です。通常の関数は参照先が変わったときだけ再計算されますが、揮発性関数はスプレッドシートを開いたときや編集したときに毎回再計算されます。</p>



<p class="wp-block-paragraph">再計算のタイミングは設定で変更できます。「ファイル」→「設定」→「計算」タブを開くと、3つの選択肢があります。</p>



<ul class="wp-block-list"><li><strong>変更時</strong>（デフォルト）: シートに変更があるたびに再計算</li><li><strong>変更時と毎分</strong>: 1分ごとに自動で再計算</li><li><strong>変更時と毎時</strong>: 1時間ごとに自動で再計算</li></ul>



<p class="wp-block-paragraph">「毎分」や「毎時」に設定すると、画面を操作しなくてもNOW関数の値が自動更新されます。リアルタイムの時刻表示が必要な場合に活用してください。</p>



<p class="wp-block-paragraph">NOW関数を大量に使うと再計算の負荷が増えます。対策として、NOW()は1つのセルにだけ入力しましょう。他のセルからは絶対参照（例: <code>=$B$1</code>）で参照するのがおすすめです。</p>



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



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



<p class="wp-block-paragraph"><strong>数値（シリアル値）が表示される</strong></p>



<p class="wp-block-paragraph">表示形式が「数値」になっています。セルを選択して「表示形式」→「数字」→「日時」に変更してください。</p>



<p class="wp-block-paragraph"><strong>時刻が表示されず日付だけになる</strong></p>



<p class="wp-block-paragraph">表示形式が「日付」になっています。「日時」に変更すると時刻も表示されますよ。</p>



<p class="wp-block-paragraph"><strong>日時の表示形式をカスタマイズしたい</strong></p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-text-function/">TEXT関数</a>を使えば、表示形式を自由に指定できます。</p>



<pre class="wp-block-code"><code>=TEXT(NOW(),&quot;yyyy年m月d日 h:mm&quot;)</code></pre>



<p class="wp-block-paragraph"><strong><code>#ERROR!</code> が出る</strong></p>



<p class="wp-block-paragraph">カッコの中に引数を入れていないか確認してください。NOW関数は <code>=NOW()</code> のように、カッコ内を空にします。</p>



<p class="wp-block-paragraph"><strong>日時の差分計算の結果がおかしい</strong></p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-time-function/">TIME関数</a>や<a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数</a>の値と混在していないか確認しましょう。日付同士の引き算は問題ありませんが、表示形式を「経過時間」に変更しないと正しく見えない場合があります。</p>



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



<p class="wp-block-paragraph">NOW関数は、現在の日付と時刻をまとめて取得するシンプルな関数です。</p>



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



<ul class="wp-block-list"><li><strong>基本</strong>: <code>=NOW()</code> で現在の日時を表示</li><li><strong>タイムスタンプ</strong>: 作業完了時刻の記録（値の固定が必要）</li><li><strong>経過時間</strong>: <code>=NOW()-A1</code> で開始からの経過を計算</li><li><strong>表示形式変換</strong>: <code>=TEXT(NOW(),"hh:mm")</code> で好みの形に</li><li><strong>値の固定</strong>: コピー＆値のみ貼り付け or Ctrl+Shift+;</li><li><strong>TODAY関数との使い分け</strong>: 時刻が必要ならNOW、日付だけならTODAY</li></ul>



<p class="wp-block-paragraph">揮発性関数なので、大量に使う場合は1セルにまとめて絶対参照で参照するのがコツです。</p>



<p class="wp-block-paragraph">まずは <code>=NOW()</code> をセルに入力して、現在の日時が表示されるのを確認してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-now-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのTODAY関数の使い方｜今日の日付を自動表示</title>
		<link>https://mashukabu.com/spreadsheet-today-function/</link>
					<comments>https://mashukabu.com/spreadsheet-today-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 09:47:46 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[NOW関数]]></category>
		<category><![CDATA[TODAY関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[揮発性関数]]></category>
		<category><![CDATA[日付関数]]></category>
		<category><![CDATA[日数計算]]></category>
		<category><![CDATA[条件付き書式]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4297</guid>

					<description><![CDATA[スプレッドシートのTODAY関数の使い方を基本から解説。今日の日付の自動表示、期限までの残り日数計算、月初・月末の取得、条件付き書式での期限切れハイライトまで実務で使えるテクニックを紹介。NOW関数との違いや揮発性関数の仕組みも解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「期限日まであと何日だっけ？」と毎回カレンダーを見て数えていませんか？</p>



<p class="wp-block-paragraph">手作業で日付を入力すると、更新を忘れてしまうこともありますよね。</p>



<p class="wp-block-paragraph">Googleスプレッドシートの<strong>TODAY関数</strong>を使えば、今日の日付を自動で表示できます。期限管理や日数計算もラクになりますよ。</p>



<p class="wp-block-paragraph">この記事では、TODAY関数の基本から応用テクニックまで解説します。</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">TODAY関数とは｜スプレッドシートで今日の日付をセルに自動表示する関数</a><ol><li><a href="#toc2" tabindex="0">基本の使い方と入力方法</a></li></ol></li><li><a href="#toc3" tabindex="0">TODAY関数で日数計算する方法</a><ol><li><a href="#toc4" tabindex="0">今日から〇日後・〇日前を求める</a></li><li><a href="#toc5" tabindex="0">期限まであと何日かを表示する（残り日数カウント）</a></li></ol></li><li><a href="#toc6" tabindex="0">TODAY関数とNOW関数の違い</a><ol><li><a href="#toc7" tabindex="0">日付だけ vs 日付＋時刻</a></li><li><a href="#toc8" tabindex="0">どちらを使うべきか判断基準</a></li></ol></li><li><a href="#toc9" tabindex="0">月初・月末を自動取得する応用テクニック</a><ol><li><a href="#toc10" tabindex="0">月初（1日）を取得するDATE関数との組み合わせ</a></li><li><a href="#toc11" tabindex="0">EOMONTH関数と組み合わせて月末日を求める</a></li></ol></li><li><a href="#toc12" tabindex="0">条件付き書式と組み合わせて期限切れを自動ハイライト</a><ol><li><a href="#toc13" tabindex="0">設定手順ステップ解説（今日以前の日付を赤くする）</a></li></ol></li><li><a href="#toc14" tabindex="0">TODAY関数が毎回再計算される理由｜揮発性関数とは</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">よくあるエラーと対処法</a></li><li><a href="#toc18" tabindex="0">DATEDIF関数と組み合わせて年数・月数を正確に計算する</a><ol><li><a href="#toc19" tabindex="0">勤続年数を計算する</a></li><li><a href="#toc20" tabindex="0">年齢を自動計算する</a></li></ol></li><li><a href="#toc21" tabindex="0">WORKDAY関数と組み合わせて営業日ベースで期限を管理する</a><ol><li><a href="#toc22" tabindex="0">〇営業日後の日付を求める</a></li><li><a href="#toc23" tabindex="0">〇営業日前を求めて提出期限を逆算する</a></li></ol></li><li><a href="#toc24" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">TODAY関数とは｜スプレッドシートで今日の日付をセルに自動表示する関数</span></h2>



<p class="wp-block-paragraph">TODAY関数は、<strong>今日の日付を自動で返す関数</strong>です。読み方は「トゥデイ関数」。</p>



<p class="wp-block-paragraph">ファイルを開くたびに日付が自動更新されます。手入力のように古い日付が残る心配がありません。</p>



<p class="wp-block-paragraph">期限管理や日数計算の基準日として、ビジネスシーンでよく使われます。</p>



<h3 class="wp-block-heading"><span id="toc2">基本の使い方と入力方法</span></h3>



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



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



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



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



<p class="wp-block-paragraph">もし日付ではなく「46098」のような数値が表示される場合は心配いりません。表示形式の設定を変えるだけで直ります。</p>



<p class="wp-block-paragraph">該当セルを選択して、メニューの<strong>「表示形式」→「数字」→「日付」</strong>を選んでください。</p>



<p class="wp-block-paragraph">TODAY関数が返すのは「シリアル値」という数値です。スプレッドシートは日付を内部的に数値で管理しています。表示形式を「日付」にすると、見慣れた日付表記になりますよ。</p>



<h2 class="wp-block-heading"><span id="toc3">TODAY関数で日数計算する方法</span></h2>



<p class="wp-block-paragraph">TODAY関数の真価は、日数計算と組み合わせたときに発揮されます。日付はシリアル値（数値）なので、足し算・引き算がそのままできます。</p>



<h3 class="wp-block-heading"><span id="toc4">今日から〇日後・〇日前を求める</span></h3>



<p class="wp-block-paragraph">〇日後を求めるには、TODAY()に日数を足します。</p>



<pre class="wp-block-code"><code>=TODAY()+7</code></pre>



<p class="wp-block-paragraph">この数式で、今日から7日後の日付が表示されます。</p>



<p class="wp-block-paragraph">〇日前を求めるには、日数を引くだけです。</p>



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



<p class="wp-block-paragraph">これで30日前の日付がわかります。直近1ヶ月のデータを抽出するときなどに便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc5">期限まであと何日かを表示する（残り日数カウント）</span></h3>



<p class="wp-block-paragraph">期限日からTODAY()を引けば、残り日数がわかります。</p>



<p class="wp-block-paragraph">A1セルに期限日が入っている場合の数式はこちらです。</p>



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



<p class="wp-block-paragraph">結果がマイナスなら期限超過、0なら当日、プラスなら期限前です。</p>



<p class="wp-block-paragraph">結果が日付形式で表示されてしまう場合は、表示形式を「数値」に変更してください。</p>



<h2 class="wp-block-heading"><span id="toc6">TODAY関数とNOW関数の違い</span></h2>



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



<h3 class="wp-block-heading"><span id="toc7">日付だけ vs 日付＋時刻</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>TODAY()</th><th>NOW()</th></tr></thead><tbody><tr><td>返す値</td><td>日付のみ（例: 2026/03/19）</td><td>日付＋時刻（例: 2026/03/19 14:30）</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">TODAY()は日付だけを返します。一方、NOW()は現在時刻も含めて返します。小数部分が時刻を表していますよ。</p>



<h3 class="wp-block-heading"><span id="toc8">どちらを使うべきか判断基準</span></h3>



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



<ul class="wp-block-list"><li><strong>TODAY関数が向いている場面</strong>: 期限管理、残り日数の計算、日付の比較</li><li><strong>NOW関数が向いている場面</strong>: 作業ログのタイムスタンプ、経過時間の計算</li></ul>



<p class="wp-block-paragraph">日数計算にNOW関数を使うと、時刻の端数が影響します。日単位の計算にはTODAY関数を使いましょう。</p>



<h2 class="wp-block-heading"><span id="toc9">月初・月末を自動取得する応用テクニック</span></h2>



<p class="wp-block-paragraph">TODAY関数を他の関数と組み合わせると、月初や月末の日付も自動取得できます。月次レポートの期間指定などに活用できますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">月初（1日）を取得するDATE関数との組み合わせ</span></h3>



<p class="wp-block-paragraph">当月1日を取得するには、<a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数の使い方</a>と組み合わせます。</p>



<pre class="wp-block-code"><code>=DATE(YEAR(TODAY()),MONTH(TODAY()),1)</code></pre>



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



<ul class="wp-block-list"><li><code>YEAR(TODAY())</code>: 今年の「年」を取り出す</li><li><code>MONTH(TODAY())</code>: 今月の「月」を取り出す</li><li>最後の<code>1</code>: 「1日」を指定</li></ul>



<p class="wp-block-paragraph">この3つをDATE関数でつなげて、当月1日の日付を作っています。</p>



<p class="wp-block-paragraph">翌月1日を取得したい場合は、MONTHに1を足すだけです。</p>



<pre class="wp-block-code"><code>=DATE(YEAR(TODAY()),MONTH(TODAY())+1,1)</code></pre>



<p class="wp-block-paragraph">12月でも自動で翌年1月になるので安心してください。</p>



<h3 class="wp-block-heading"><span id="toc11">EOMONTH関数と組み合わせて月末日を求める</span></h3>



<p class="wp-block-paragraph">月末日の取得にはEOMONTH関数が便利です。</p>



<pre class="wp-block-code"><code>=EOMONTH(TODAY(),0)</code></pre>



<p class="wp-block-paragraph">第2引数の<code>0</code>は「当月」を意味します。<code>1</code>にすると翌月末、<code>-1</code>にすると先月末が返ります。</p>



<p class="wp-block-paragraph">月末日は月によって28〜31日と変わりますよね。EOMONTH関数なら、うるう年の2月29日も自動で判定してくれます。</p>



<h2 class="wp-block-heading"><span id="toc12">条件付き書式と組み合わせて期限切れを自動ハイライト</span></h2>



<p class="wp-block-paragraph">TODAY関数の実務的な活用として特におすすめなのが、条件付き書式との組み合わせです。期限切れのセルを自動で赤くできます。</p>



<h3 class="wp-block-heading"><span id="toc13">設定手順ステップ解説（今日以前の日付を赤くする）</span></h3>



<p class="wp-block-paragraph">期限日が入ったA列を自動ハイライトする手順を解説します。</p>



<p class="wp-block-paragraph"><strong>ステップ1</strong>: 対象範囲（例: A2:A100）を選択する</p>



<p class="wp-block-paragraph"><strong>ステップ2</strong>: メニューから「表示形式」→「条件付き書式」を選ぶ</p>



<p class="wp-block-paragraph"><strong>ステップ3</strong>: 「書式ルール」のプルダウンで「カスタム数式」を選ぶ</p>



<p class="wp-block-paragraph"><strong>ステップ4</strong>: 数式欄に以下を入力する</p>



<pre class="wp-block-code"><code>=$A2&lt;TODAY()</code></pre>



<p class="wp-block-paragraph"><strong>ステップ5</strong>: 書式スタイルで背景色を赤系に設定して「完了」を押す</p>



<p class="wp-block-paragraph">これで期限切れの行が自動で赤くなります。ファイルを開くたびにTODAY()が更新されるので、常に最新の状態が反映されますよ。</p>



<p class="wp-block-paragraph">応用として、期限が近い行を黄色にすることもできます。「3日以内に期限が来る」場合の数式はこちらです。</p>



<pre class="wp-block-code"><code>=AND($A2&gt;=TODAY(),$A2&lt;=TODAY()+3)</code></pre>



<p class="wp-block-paragraph">赤（期限切れ）と黄色（期限間近）を組み合わせると、タスク管理がぐっと見やすくなります。</p>



<h2 class="wp-block-heading"><span id="toc14">TODAY関数が毎回再計算される理由｜揮発性関数とは</span></h2>



<p class="wp-block-paragraph">TODAY関数には1つ注意点があります。ファイルを開くたびに値が変わるという点です。</p>



<h3 class="wp-block-heading"><span id="toc15">ファイルを開くたびに更新される仕組み</span></h3>



<p class="wp-block-paragraph">TODAY関数は<strong>揮発性関数</strong>と呼ばれる種類の関数です。</p>



<p class="wp-block-paragraph">通常の関数は、参照先のセルが変わったときだけ再計算されます。しかし揮発性関数は、スプレッドシートを開いたときや編集したときに毎回再計算されます。</p>



<p class="wp-block-paragraph">再計算のタイミングは設定で変更できます。「ファイル」→「設定」→「計算」タブを開くと、次の3つから選べます。</p>



<ul class="wp-block-list"><li><strong>変更時</strong>（デフォルト）</li><li><strong>変更時と毎分</strong></li><li><strong>変更時と毎時</strong></li></ul>



<p class="wp-block-paragraph">TODAY関数を大量に使うと再計算の負荷が増えます。対策として、TODAY()は1つのセルにだけ入力するのがおすすめです。他のセルからは絶対参照（例: <code>=$B$1</code>）で参照しましょう。</p>



<h3 class="wp-block-heading"><span id="toc16">再計算させたくない場合の対処法</span></h3>



<p class="wp-block-paragraph">「今日の日付を固定値として残したい」という場面もありますよね。</p>



<p class="wp-block-paragraph">その場合は、TODAY関数ではなくキーボードショートカットを使いましょう。</p>



<p class="wp-block-paragraph">セルを選んだ状態で、以下のショートカットを押してください。</p>



<ul class="wp-block-list"><li><strong>Windows</strong>: <code>Ctrl + ;</code>（セミコロン）</li><li><strong>Mac</strong>: <code>Cmd + ;</code>（セミコロン）</li></ul>



<p class="wp-block-paragraph">このショートカットで入力された日付は固定値です。再計算で変わることはありません。</p>



<p class="wp-block-paragraph">作業記録やログなど「入力した時点の日付を残したい」場面ではこちらが適しています。</p>



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



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



<p class="wp-block-paragraph"><strong>数値（シリアル値）が表示される</strong></p>



<p class="wp-block-paragraph">表示形式が「数値」になっています。セルを選択して「表示形式」→「数字」→「日付」に変更してください。</p>



<p class="wp-block-paragraph"><strong>日数計算の結果が日付で表示される</strong></p>



<p class="wp-block-paragraph"><code>=A1-TODAY()</code> の結果を数値で見たいのに、日付形式で表示されるケースです。結果セルの表示形式を「数値」に変更しましょう。</p>



<p class="wp-block-paragraph"><strong>日付の表示形式を変えたい</strong></p>



<p class="wp-block-paragraph">「2026年3月19日」や「3/19」など、好みの形式にしたい場合があります。<a href="https://mashukabu.com/spreadsheet-text-function/">TEXT関数の使い方</a>を使えば、表示形式を自由に指定できますよ。</p>



<pre class="wp-block-code"><code>=TEXT(TODAY(),&quot;YYYY年MM月DD日&quot;)</code></pre>



<p class="wp-block-paragraph"><strong><code>#ERROR!</code> が出る</strong></p>



<p class="wp-block-paragraph">カッコの中に引数を入れていないか確認してください。TODAY関数は <code>=TODAY()</code> のように、カッコ内を空にします。</p>



<h2 class="wp-block-heading"><span id="toc18">DATEDIF関数と組み合わせて年数・月数を正確に計算する</span></h2>



<p class="wp-block-paragraph">残り日数だけでなく、「〇年〇ヶ月」という表現が必要な場面もあります。たとえば勤続年数の確認や、会員登録からの経過期間表示などです。そういった場合はDATEDIF関数と組み合わせましょう。</p>



<h3 class="wp-block-heading"><span id="toc19">勤続年数を計算する</span></h3>



<p class="wp-block-paragraph">入社日がA1セルに入っている場合、今日までの勤続年数（年単位）は次の数式で求められます。</p>



<pre class="wp-block-code"><code>=DATEDIF(A1,TODAY(),&quot;Y&quot;)</code></pre>



<p class="wp-block-paragraph">第3引数に指定する単位は以下のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>単位</th><th>意味</th></tr></thead><tbody><tr><td>&#8220;Y&#8221;</td><td>満年数</td></tr><tr><td>&#8220;M&#8221;</td><td>満月数</td></tr><tr><td>&#8220;D&#8221;</td><td>満日数</td></tr><tr><td>&#8220;YM&#8221;</td><td>年未満の端数（月数）</td></tr><tr><td>&#8220;MD&#8221;</td><td>月未満の端数（日数）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「〇年〇ヶ月」と表示したい場合は、複数のDATEDIFを組み合わせて文字列を連結します。</p>



<pre class="wp-block-code"><code>=DATEDIF(A1,TODAY(),&quot;Y&quot;)&amp;&quot;年&quot;&amp;DATEDIF(A1,TODAY(),&quot;YM&quot;)&amp;&quot;ヶ月&quot;</code></pre>



<p class="wp-block-paragraph">このような数式を使うと、「3年7ヶ月」という形式で表示できます。人事管理や会員管理のシートで特に重宝しますよ。</p>



<h3 class="wp-block-heading"><span id="toc20">年齢を自動計算する</span></h3>



<p class="wp-block-paragraph">生年月日がA1セルに入っている場合、現在の年齢は次の数式で求められます。</p>



<pre class="wp-block-code"><code>=DATEDIF(A1,TODAY(),&quot;Y&quot;)</code></pre>



<p class="wp-block-paragraph">誕生日を過ぎているかどうかを自動で判定して満年齢を返してくれます。YEAR関数で単純に年を引く方法だと誕生日前後で1歳ずれてしまうため、DATEDIF関数を使う方が正確です。</p>



<h2 class="wp-block-heading"><span id="toc21">WORKDAY関数と組み合わせて営業日ベースで期限を管理する</span></h2>



<p class="wp-block-paragraph">「5営業日後が締め切り」という場面は仕事でよくありますよね。土日や祝日を除いた日付を求めるには、WORKDAY関数との組み合わせが便利です。</p>



<h3 class="wp-block-heading"><span id="toc22">〇営業日後の日付を求める</span></h3>



<pre class="wp-block-code"><code>=WORKDAY(TODAY(),5)</code></pre>



<p class="wp-block-paragraph">これで今日から5営業日後（土日を除く）の日付が返ります。</p>



<p class="wp-block-paragraph">祝日も除きたい場合は、第3引数に祝日一覧のセル範囲を指定します。</p>



<pre class="wp-block-code"><code>=WORKDAY(TODAY(),5,E2:E20)</code></pre>



<p class="wp-block-paragraph">E2:E20に祝日の日付を列挙しておけば、祝日もスキップして営業日を数えてくれます。</p>



<h3 class="wp-block-heading"><span id="toc23">〇営業日前を求めて提出期限を逆算する</span></h3>



<p class="wp-block-paragraph">締め切りから逆算して「〇営業日前に提出する」という日付も求められます。</p>



<p class="wp-block-paragraph">A1セルが締め切り日の場合、3営業日前はこちらです。</p>



<pre class="wp-block-code"><code>=WORKDAY(A1,-3)</code></pre>



<p class="wp-block-paragraph">第2引数をマイナスにするだけです。「締め切り3営業日前には社内レビューが必要」といったワークフロー管理に活用できますよ。</p>



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



<p class="wp-block-paragraph">TODAY関数は、今日の日付を自動表示するシンプルな関数です。</p>



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



<ul class="wp-block-list"><li><strong>基本</strong>: <code>=TODAY()</code> で今日の日付を表示</li><li><strong>日数計算</strong>: <code>=TODAY()+7</code> で〇日後、<code>=A1-TODAY()</code> で残り日数</li><li><strong>月初・月末</strong>: DATE関数やEOMONTH関数と組み合わせ</li><li><strong>条件付き書式</strong>: <code>=$A2<TODAY()</code> で期限切れを自動ハイライト</li><li><strong>年数・月数</strong>: DATEDIF関数で「〇年〇ヶ月」形式の計算</li><li><strong>営業日計算</strong>: WORKDAY関数で土日・祝日を除いた期限管理</li><li><strong>固定日付が必要なら</strong>: <code>Ctrl + ;</code> ショートカットを使う</li></ul>



<p class="wp-block-paragraph">揮発性関数なので、大量に使う場合は1セルにまとめて絶対参照で使うのがコツです。</p>



<p class="wp-block-paragraph">まずは <code>=TODAY()</code> をセルに入力するところから試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-today-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのINDIRECT関数｜別シート参照と#REF!の5原因</title>
		<link>https://mashukabu.com/excel-function-howto-use-indirect/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-indirect/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 15 Mar 2025 13:25:55 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[INDIRECT関数]]></category>
		<category><![CDATA[エラー対処]]></category>
		<category><![CDATA[別シート参照]]></category>
		<category><![CDATA[名前の定義]]></category>
		<category><![CDATA[揮発性関数]]></category>
		<category><![CDATA[連動プルダウン]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2274</guid>

					<description><![CDATA[ExcelのINDIRECT関数の使い方を、別シート参照の書き方から解説します。シート名をセルで切り替える式とクォートのルール、#REF!が消えない5つの原因と確認手順、閉じたブックを参照できないときの回避策3択まで整理しました。重くなる原因とINDEXへ置き換える判断基準もまとめています。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「支店ごとにシートが分かれた表を、数式1つで切り替えて集計したい」。ExcelのINDIRECT関数にたどり着く方の多くは、ここからスタートしますよね。</p>



<p class="wp-block-paragraph">ところが実際に組んでみると、こんな壁にぶつかります。</p>



<ul class="wp-block-list"><li>別シートを参照した瞬間に <code>#REF!</code> が出る</li><li>式は合っているように見えるのに、どこが悪いのかわからない</li><li>おまけに、ファイルまで重くなってきた</li></ul>



<p class="wp-block-paragraph">つまずきの正体は、たいてい「文字列の組み立て方」と「揮発性（再計算が多い性質）」の2つ。この2点さえ押さえれば、怖い関数ではありません。</p>



<p class="wp-block-paragraph">この記事では、INDIRECT関数の使い方を別シート参照の書き方から整理しました。<code>#REF!</code> が消えない5つの原因と確認手順もセットで解説。「重い」ときにINDEXへ置き換える判断基準も、早見表にまとめました。</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">ExcelのINDIRECT関数とは？文字列をセル参照に変える関数</a><ol><li><a href="#toc2" tabindex="0">基本構文と引数（参照文字列／参照形式）</a></li><li><a href="#toc3" tabindex="0">=A1 と何が違う？最小例で確認する</a></li></ol></li><li><a href="#toc4" tabindex="0">INDIRECTで別シートを参照する書き方｜シート名をセルで切り替える</a><ol><li><a href="#toc5" tabindex="0">基本形｜シート名を入れたセルと「!セル番地」をつなぐ</a></li><li><a href="#toc6" tabindex="0">シート名にスペースや記号があるときはシングルクォートで囲む</a></li><li><a href="#toc7" tabindex="0">動かないときの1行デバッグ術｜INDIRECTを外して文字列だけ表示する</a></li><li><a href="#toc8" tabindex="0">SUM・VLOOKUPと組み合わせてシート別に集計する</a></li><li><a href="#toc9" tabindex="0">選択に連動するプルダウンを作る4ステップ</a></li></ol></li><li><a href="#toc10" tabindex="0">INDIRECTが#REF!になる5つの原因と直し方</a><ol><li><a href="#toc11" tabindex="0">症状別・原因の切り分け早見表</a></li><li><a href="#toc12" tabindex="0">原因1・2｜クォート漏れと不可視スペース</a></li><li><a href="#toc13" tabindex="0">原因3｜参照先のブックが閉じている（回避策3択）</a></li><li><a href="#toc14" tabindex="0">原因4｜名前の定義が未登録・表記ゆれ</a></li><li><a href="#toc15" tabindex="0">原因5｜シート名を後からリネームした</a></li></ol></li><li><a href="#toc16" tabindex="0">「重い」「使わない方がいい」の理由とINDIRECTをやめる判断基準</a><ol><li><a href="#toc17" tabindex="0">揮発性関数とは？INDIRECTが再計算を増やす仕組み</a></li><li><a href="#toc18" tabindex="0">INDIRECTを使わない代替早見表（用途×代替手段×揮発性）</a></li><li><a href="#toc19" tabindex="0">INDIRECTでしか書けない唯一のケース</a></li><li><a href="#toc20" tabindex="0">重くなったファイルを軽くする初手</a></li></ol></li><li><a href="#toc21" tabindex="0">よくある質問｜INDIRECT関数</a><ol><li><a href="#toc22" tabindex="0">Q. シート名を変えたら壊れました。追従させる方法はありますか？</a></li><li><a href="#toc23" tabindex="0">Q. Web版Excelでも使えますか？</a></li><li><a href="#toc24" tabindex="0">Q. Googleスプレッドシートでも同じ書き方ですか？</a></li><li><a href="#toc25" tabindex="0">Q. INDIRECTは何個までなら重くなりませんか？</a></li><li><a href="#toc26" tabindex="0">Q. OFFSETとINDIRECTはどちらを使うべきですか？</a></li><li><a href="#toc27" tabindex="0">Q. エラーを事前に防ぐ方法はありますか？</a></li></ol></li><li><a href="#toc28" tabindex="0">まとめ｜場面別のINDIRECT早見表</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのINDIRECT関数とは？文字列をセル参照に変える関数</span></h2>



<p class="wp-block-paragraph">INDIRECT関数とは、文字列で書かれたセル番地やシート名を、実際のセル参照に変える関数です。読み方は「インダイレクト」。英語の indirect（間接的な）が語源です。</p>



<p class="wp-block-paragraph">セルを直接指さず、文字列を経由して間接的に参照することが名前の由来。この「間接性」が便利さの源であり、エラーと重さの原因でもあります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>対応バージョン</strong>: INDIRECT関数そのものは Excel 2003 以降のすべてのバージョンで使えます。ただし外部ブック（別ファイル）への参照は Web版Excel（ブラウザ版）では新規作成できません。記事後半では FILTER などのスピル関数にも触れます。こちらは Microsoft 365 / Excel 2021 以降が対象です。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc2">基本構文と引数（参照文字列／参照形式）</span></h3>



<p class="wp-block-paragraph">構文はシンプルで、覚える引数は実質1つだけ。</p>



<pre class="wp-block-code"><code>=INDIRECT(参照文字列, [参照形式])</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>参照文字列</td><td>必須</td><td>セル参照を表す文字列。セル番地・シート付き番地・範囲・名前の定義を指定できる</td></tr><tr><td>参照形式</td><td>省略可</td><td>TRUE（省略時の既定）＝A1形式で解釈。FALSE＝R1C1形式で解釈</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">第2引数は、ほとんどの場面で省略してかまいません。R1C1形式（行も列もアルファベットではなく数値で表す参照方式）を使う機会はまれ。基本は第1引数だけで十分です。</p>



<h3 class="wp-block-heading"><span id="toc3">=A1 と何が違う？最小例で確認する</span></h3>



<p class="wp-block-paragraph">普通の数式は <code>=B2</code> のように参照先を直接書きます。対してINDIRECTは、「B2」という<strong>文字</strong>を受け取ってからB2を参照する仕組み。</p>



<p class="wp-block-paragraph">セルA1に「B2」と入力し、別のセルに次の数式を入れてみてください。</p>



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



<p class="wp-block-paragraph">これでセルB2の値が返ります。A1を「C5」に書き換えれば、数式はそのままで参照先がC5に変わる。この「後から参照先を動かせる」点こそがINDIRECTの存在意義です。</p>



<p class="wp-block-paragraph">逆に言うと、切り替える必要のない参照にINDIRECTを使う理由はありません。</p>



<h2 class="wp-block-heading"><span id="toc4">INDIRECTで別シートを参照する書き方｜シート名をセルで切り替える</span></h2>



<p class="wp-block-paragraph">INDIRECTが本領を発揮するのは、支店別・部署別・月別にシートが分かれた表の集計です。同時に、ここがエラーの最大の発生源。クォートのルールを正確に押さえましょう。</p>



<h3 class="wp-block-heading"><span id="toc5">基本形｜シート名を入れたセルと「!セル番地」をつなぐ</span></h3>



<p class="wp-block-paragraph">セルA1にシート名が入っている前提で見てみましょう。</p>



<pre class="wp-block-code"><code>=INDIRECT(A1&amp;&quot;!B2&quot;)</code></pre>



<p class="wp-block-paragraph">A1が「1月」なら、<code>A1&"!B2"</code> は「1月!B2」という文字列になります。INDIRECTがこれを参照に変換し、1月シートのB2の値を返します。</p>



<p class="wp-block-paragraph">A1を「2月」に変えるだけで、参照先も2月シートに切り替わる。数式は1文字も書き換えません。月次レポートで重宝するパターンですよ。</p>



<h3 class="wp-block-heading"><span id="toc6">シート名にスペースや記号があるときはシングルクォートで囲む</span></h3>



<p class="wp-block-paragraph">ここが最大の落とし穴。シート名にスペースやハイフンなどの記号が含まれていると、さきほどの書き方では <code>#REF!</code> になります。</p>



<p class="wp-block-paragraph">シート名が「売上 データ」のように空白を含むなら、正しくはこう書きます。</p>



<pre class="wp-block-code"><code>=INDIRECT(&quot;'&quot;&amp;A1&amp;&quot;'!B2&quot;)</code></pre>



<p class="wp-block-paragraph">分解すれば3ブロックだけ。</p>



<ul class="wp-block-list"><li><code>"'"</code> … 開きのシングルクォート1文字</li><li><code>A1</code> … シート名（例:「売上 データ」）</li><li><code>"'!B2"</code> … 閉じのシングルクォートと、セル番地</li></ul>



<p class="wp-block-paragraph">つながると <code>'売上 データ'!B2</code> になり、Excelの正式なシート参照の形と一致します。手入力ならExcelが自動で付けてくれるクォートを、INDIRECTでは自分で組み込むわけです。</p>



<p class="wp-block-paragraph">迷ったら<strong>常にクォート付きで書く</strong>のが安全。スペースのないシート名に付けても、問題なく動きますよ。</p>



<h3 class="wp-block-heading"><span id="toc7">動かないときの1行デバッグ術｜INDIRECTを外して文字列だけ表示する</span></h3>



<p class="wp-block-paragraph"><code>#REF!</code> が出たら、真っ先にやってほしい確認があります。空いているセルに、INDIRECTのカッコの中身だけを入力してみてください。</p>



<pre class="wp-block-code"><code>=&quot;'&quot;&amp;A1&amp;&quot;'!B2&quot;</code></pre>



<p class="wp-block-paragraph">すると <code>'売上 データ'!B2</code> のように、受け取っている文字列が画面に出ます。ここが正しい形なら、INDIRECT側は必ず正しく参照してくれるはず。</p>



<p class="wp-block-paragraph">先頭のクォートが抜けていたら、数式の <code>"'"</code> が欠けています。<strong>エラーの原因は、たいていこの文字列の組み立て方</strong>。1行足すだけで自己解決できますよ。</p>



<h3 class="wp-block-heading"><span id="toc8">SUM・VLOOKUPと組み合わせてシート別に集計する</span></h3>



<p class="wp-block-paragraph">INDIRECTは範囲も返せるので、SUM関数の引数にもそのまま入ります。</p>



<pre class="wp-block-code"><code>=SUM(INDIRECT(A1&amp;&quot;!B2:B10&quot;))</code></pre>



<p class="wp-block-paragraph">A1で選んだシートのB2:B10だけを合計する数式です。支店を切り替えるたびに数式を直す作業から解放されますね。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-vlookup/">VLOOKUP関数</a>（表を縦に検索して該当行の値を取り出す関数）の検索範囲も、同じ要領で切り替えられます。</p>



<pre class="wp-block-code"><code>=VLOOKUP(A2,INDIRECT(B1&amp;&quot;!A:C&quot;),2,0)</code></pre>



<p class="wp-block-paragraph">B1にシート名（部署名）を入れておきます。B1を変えるだけで、同じ数式のまま検索先が切り替わる。スペース入りのシート名なら、クォート付きの形に直してくださいね。</p>



<h3 class="wp-block-heading"><span id="toc9">選択に連動するプルダウンを作る4ステップ</span></h3>



<p class="wp-block-paragraph">「大分類で『果物』を選ぶと、小分類に『リンゴ・ミカン・バナナ』だけが並ぶ」。この連動プルダウンも、INDIRECTの代表的な使い道です。</p>



<ol class="wp-block-list"><li>カテゴリごとに、選択肢を縦方向に並べておきます。</li><li>各範囲を選択し「数式」タブの「名前の定義」へ。カテゴリ名と完全一致する名前を付けます。</li><li>大分類のセル（例: B2）に「データの入力規則」でリストを設定します。ソースは「果物,野菜」とカンマ区切り。</li><li>小分類のセル（例: C2）の入力規則のソースに <code>=INDIRECT(B2)</code> と入力します。</li></ol>



<p class="wp-block-paragraph">B2で「果物」が選ばれると、INDIRECTはその文字列を<strong>名前の定義</strong>として解釈します。名前の定義とは、セル範囲に付けた呼び名のこと。登録された範囲が、そのまま小分類の選択肢になる仕組みです。</p>



<p class="wp-block-paragraph">つまずきやすいのは名前の付け方。名前の定義にはスペースが使えないため、カテゴリ名に空白が入ると登録できません。</p>



<pre class="wp-block-code"><code>=INDIRECT(SUBSTITUTE(B2,&quot; &quot;,&quot;_&quot;))</code></pre>



<p class="wp-block-paragraph">SUBSTITUTE関数（文字列の一部を別の文字に置き換える関数）を挟む形です。空白を <code>_</code> に変換してから、名前を呼び出します。</p>



<p class="wp-block-paragraph">名前の登録手順は<a href="https://mashukabu.com/excel-named-range/">Excelの名前の定義</a>、入力規則の操作は<a href="https://mashukabu.com/excel-dropdown-list/">Excelのプルダウン（ドロップダウンリスト）完全ガイド</a>へ。手が止まったら、あわせて読んでみてください。</p>



<h2 class="wp-block-heading"><span id="toc10">INDIRECTが#REF!になる5つの原因と直し方</span></h2>



<p class="wp-block-paragraph">INDIRECTのエラーは、ほぼ <code>#REF!</code> の一択です。<code>#REF!</code> は「参照先が見つからない」という意味のエラー値。ほかのエラー値との違いは<a href="https://mashukabu.com/excel-error-value-list/">Excelのエラー値一覧と対処法</a>にまとめています。</p>



<p class="wp-block-paragraph">やっかいなのは、同じ表示なのに原因が5通りある点。まずは早見表で、自分の症状がどれに当たるかを絞り込みましょう。</p>



<h3 class="wp-block-heading"><span id="toc11">症状別・原因の切り分け早見表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>症状・心当たり</th><th>原因</th><th>1分でできる確認</th><th>対処</th></tr></thead><tbody><tr><td>シート名にスペース・記号がある</td><td>1. クォート漏れ</td><td><code>="'"&A1&"'!B2"</code> で文字列を目視</td><td><code>"'"&A1&"'!</code> の形に直す</td></tr><tr><td>他システムからコピーした値を参照</td><td>2. 不可視スペース</td><td><code>=LEN(A1)</code> で文字数を数える</td><td>TRIM／SUBSTITUTEで空白を削除</td></tr><tr><td>別ファイル（別ブック）を参照</td><td>3. ブックが閉じている</td><td>そのブックを開くと直るか試す</td><td>回避策3択（後述）</td></tr><tr><td>連動プルダウン・名前を参照</td><td>4. 名前が未登録・表記ゆれ</td><td>「名前の管理」で一覧と突合</td><td>名前を登録／表記を揃える</td></tr><tr><td>最近シート名を変更した</td><td>5. リネームに追従しない</td><td>数式内の文字列と実際の名前を比較</td><td>文字列を書き換える</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">上から順に見ていけば、たいてい数分で原因は特定できます。ここからは原因別に直し方を確認しましょう。</p>



<h3 class="wp-block-heading"><span id="toc12">原因1・2｜クォート漏れと不可視スペース</span></h3>



<p class="wp-block-paragraph">原因1は、シングルクォートの付け忘れ。シート名に空白・ハイフン・記号が含まれると、クォートなしでは参照が成立しません。</p>



<pre class="wp-block-code"><code>=INDIRECT(A1&amp;&quot;!B2&quot;)        ← シート名が「売上 データ」だと #REF!
=INDIRECT(&quot;'&quot;&amp;A1&amp;&quot;'!B2&quot;)   ← これが正解</code></pre>



<p class="wp-block-paragraph">前述の1行デバッグ術で文字列を表示すれば、クォートの有無はひと目で確認できます。</p>



<p class="wp-block-paragraph">原因2は、参照文字列に紛れ込んだ<strong>目に見えない空白</strong>です。他システムから貼り付けた値でよく起こります。「東京」のつもりが「東京 」（末尾に空白）なら、シート名と一致せずエラーに。</p>



<p class="wp-block-paragraph">切り分けは <code>=LEN(A1)</code> で文字数を数えるだけ。「東京」なら2のはず。3以上が返るなら、余計な文字が混ざっています。</p>



<pre class="wp-block-code"><code>=INDIRECT(TRIM(A1)&amp;&quot;!B2&quot;)</code></pre>



<p class="wp-block-paragraph">TRIM関数（文字列の前後にある余分な半角スペースを削除する関数）で挟めば、たいていは直ります。</p>



<p class="wp-block-paragraph">ただしTRIMが消せるのは半角スペースだけ。全角スペースや、Webからのコピーに多いCHAR(160)には効きません。その場合はSUBSTITUTEで半角スペースに変換してから渡しましょう。</p>



<pre class="wp-block-code"><code>=INDIRECT(TRIM(SUBSTITUTE(A1,&quot;　&quot;,&quot; &quot;))&amp;&quot;!B2&quot;)</code></pre>



<p class="wp-block-paragraph"><code>"　"</code> の中身には、全角スペースを直接入力してくださいね。</p>



<h3 class="wp-block-heading"><span id="toc13">原因3｜参照先のブックが閉じている（回避策3択）</span></h3>



<p class="wp-block-paragraph">別のExcelファイルをINDIRECTで参照する場合、そのファイルを<strong>開いていないと <code>#REF!</code> になります</strong>。不具合ではなく仕様です。</p>



<p class="wp-block-paragraph">比べてみましょう。普通のリンク数式（<code>=[Book1.xlsx]Sheet1!A1</code> の形）なら、相手を閉じていても値が残ります。最後に取得した値をキャッシュとして保持するからです。</p>



<p class="wp-block-paragraph">一方のINDIRECTは、毎回文字列を評価して参照を組み立て直す仕組み。だからキャッシュが効きません。回避策は次の3つです。</p>



<figure class="wp-block-table"><table><thead><tr><th>回避策</th><th>手軽さ</th><th>自動更新</th><th>Web版Excel</th></tr></thead><tbody><tr><td>参照先ブックを開いたまま使う</td><td>設定は不要。2ファイルを同時に開く負担はある</td><td>開いている間はリアルタイム</td><td>外部ブック参照の新規作成ができない</td></tr><tr><td>通常のリンク数式に切り替える</td><td>数式を書き換えるだけ</td><td>閉じていても直近のキャッシュ値を表示。最新化は「データ」タブ→「リンクの編集」→「値の更新」</td><td>新規作成は不可（既存の参照は表示可）</td></tr><tr><td>Power Queryで統合する</td><td>初期構築の手間はやや大きい</td><td>更新ボタンや自動更新の設定で更新できる</td><td>2026年1月から利用可能に。クエリ編集まで使えるかはプランによる</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Power Query（Excelに標準搭載されたデータ取得・整形の機能）は、複数ブックの統合に強い選択肢。ただしWeb版での対応範囲はプラン次第なので、導入前に自分の環境で確かめてください。</p>



<p class="wp-block-paragraph">そもそもシート名を切り替えたいだけなら、<strong>1ファイル内にシートを集約する</strong>のが結局いちばんラクですよ。</p>



<h3 class="wp-block-heading"><span id="toc14">原因4｜名前の定義が未登録・表記ゆれ</span></h3>



<p class="wp-block-paragraph">連動プルダウンで多いのがこのパターン。<code>=INDIRECT(B2)</code> でB2が「果物」でも、名前「果物」が登録されていなければ <code>#REF!</code> です。</p>



<p class="wp-block-paragraph">確認は「数式」タブ→「名前の管理」から。ありがちなのは、全角と半角の違いや末尾スペースといった表記ゆれ。</p>



<ul class="wp-block-list"><li>名前が未登録 → 範囲を選び直して登録する</li><li>表記ゆれ → 選択肢側の文字列と名前を完全一致させる</li><li>カテゴリ名に空白がある → SUBSTITUTEで <code>_</code> に置換する（前述）</li></ul>



<p class="wp-block-paragraph">事前に防ぐならISREF関数（参照として有効かを判定する関数）が使えます。<code>=ISREF(INDIRECT(B2))</code> は、有効ならTRUE・無効ならFALSEを返す数式。IFERROR関数と組み合わせておくと安心ですよ。</p>



<h3 class="wp-block-heading"><span id="toc15">原因5｜シート名を後からリネームした</span></h3>



<p class="wp-block-paragraph">意外と見落とされがちなのが、これ。<strong>シート名を変更しても、INDIRECTの中の文字列は追従しません</strong>。</p>



<p class="wp-block-paragraph">普通の参照 <code>=Sheet1!A5</code> なら、シート名を「4月」に変えた瞬間にExcelが追従します。数式は <code>=4月!A5</code> へ自動で書き換わるので、こちらは何もしなくて大丈夫。</p>



<p class="wp-block-paragraph">ところがINDIRECTの引数は、Excelから見ればただの文字列。書き換えの対象にならず、リネーム後は <code>#REF!</code> になります。</p>



<p class="wp-block-paragraph">この挙動は、公式ドキュメントに明記されているわけではありません。ただし多くの実務現場で共通して確認されている動きです。シート名を触った直後のエラーなら、真っ先に疑ってください。</p>



<p class="wp-block-paragraph">対処は2択。シート名をセルで管理しているなら、そのセルの値を新しい名前に書き換えます。数式内に <code>"Sheet1!A5"</code> と直書きしているなら、文字列を修正しましょう。</p>



<p class="wp-block-paragraph">切り替えの必要がないなら、<code>=Sheet1!A5</code> という普通の参照に戻すのがいちばん確実。この事故のリスクごと消えますよ。</p>



<h2 class="wp-block-heading"><span id="toc16">「重い」「使わない方がいい」の理由とINDIRECTをやめる判断基準</span></h2>



<p class="wp-block-paragraph">INDIRECTには「重い」という評判がついて回ります。ここでは、その仕組みと使い続けてよい場面の線引きを見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc17">揮発性関数とは？INDIRECTが再計算を増やす仕組み</span></h3>



<p class="wp-block-paragraph">INDIRECTは<strong>揮発性関数</strong>（シートのどこかが変わるたびに再計算される関数）です。ここが「重い」と言われる理由のすべて。</p>



<p class="wp-block-paragraph">普通の関数は、自分が参照しているセルが変わったときだけ計算し直します。対して揮発性関数は、無関係なセルを1文字打っただけでも再計算が走ります。ファイルを開いた瞬間も同じ。</p>



<p class="wp-block-paragraph">同じ仲間には、TODAY・NOW・RAND・RANDBETWEEN、そして<a href="https://mashukabu.com/excel-function-howto-use-offset/">OFFSET関数</a>があります。</p>



<p class="wp-block-paragraph">やっかいなのは、再計算が連鎖する点です。INDIRECTの結果を使うVLOOKUPやSUMIFも、つられて毎回計算し直されます。</p>



<p class="wp-block-paragraph">数個なら体感は変わりません。しかし数百・数千セルに広がると、入力のたびに固まるファイルができあがります。</p>



<h3 class="wp-block-heading"><span id="toc18">INDIRECTを使わない代替早見表（用途×代替手段×揮発性）</span></h3>



<p class="wp-block-paragraph">「INDIRECTは使わない方がいい」という意見をよく見かけますよね。正確に言えば、<strong>代替できる用途では使わない方がいい</strong>、です。用途別に整理しました。</p>



<figure class="wp-block-table"><table><thead><tr><th>用途</th><th>INDIRECTでの書き方</th><th>代替手段</th><th>代替後の揮発性</th></tr></thead><tbody><tr><td>行・列を数値で指定する</td><td><code>=INDIRECT(ADDRESS(3,2))</code></td><td><code>=INDEX(A:Z,3,2)</code></td><td>非揮発性になる</td></tr><tr><td>列は固定・行だけ可変</td><td><code>=INDIRECT("B"&A1)</code></td><td><code>=INDEX(B:B,A1)</code></td><td>非揮発性になる</td></tr><tr><td>増減する表の範囲を追う</td><td><code>=INDIRECT("A2:A"&COUNTA(A:A))</code></td><td>テーブルの構造化参照</td><td>非揮発性になる</td></tr><tr><td>同一シート内の絞り込み</td><td>作業列＋INDIRECT</td><td>FILTER関数（365・2021以降）</td><td>非揮発性になる</td></tr><tr><td>別ブックのデータを取り込む</td><td><code>=INDIRECT("'[Book1.xlsx]Sheet1'!A1")</code></td><td>通常のリンク数式／Power Query</td><td>非揮発性になる</td></tr><tr><td>シート名を文字列で切り替える</td><td><code>=INDIRECT(A1&"!B2")</code></td><td><strong>代替なし</strong></td><td>揮発性のまま</td></tr><tr><td>名前の定義を動的に呼ぶ</td><td><code>=INDIRECT(B2)</code></td><td><strong>代替なし</strong></td><td>揮発性のまま</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">用語を2つ補足します。構造化参照とは、表をテーブル化して <code>テーブル1[金額]</code> のように列名で書く方式のこと。COUNTAは空白でないセルの個数を数える関数です。</p>



<p class="wp-block-paragraph">置き換えの王道は上の2行。<code>ADDRESS(3,2)</code> が作るのは「$B$3」なので、INDIRECTの参照先はB3です。<code>INDEX(A:Z,3,2)</code> も範囲A:Zの3行目2列目、つまりB3を指します。</p>



<p class="wp-block-paragraph">2行目も同じ理屈。A1が5なら <code>INDIRECT("B"&A1)</code> はB5、<code>INDEX(B:B,A1)</code> もB5を返します。戻り値は同じまま、揮発性だけが消えるわけです。</p>



<p class="wp-block-paragraph">ADDRESS関数（行番号と列番号からセル番地の文字列を作る関数）との組み合わせを見かけたら、<a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数</a>に置き換えられないか疑ってみてください。判断軸は1本だけ。</p>



<ul class="wp-block-list"><li>参照先を<strong>行番号・列番号の数値</strong>で決められる → INDEXに置き換えて軽量化する</li><li>参照先を<strong>シート名や名前（文字列）</strong>で決めたい → INDIRECTのまま使う</li></ul>



<h3 class="wp-block-heading"><span id="toc19">INDIRECTでしか書けない唯一のケース</span></h3>



<p class="wp-block-paragraph">代替なしの2行には共通点があります。どちらも「シート名や名前という<strong>文字列</strong>を、その場で参照に解決している」こと。</p>



<p class="wp-block-paragraph">INDEXの範囲引数は、実物のセル範囲を受け取る仕様です。「&#8221;1月&#8221;という文字からシートを探して」という指示は解釈できません。FILTERやXLOOKUPも同じで、扱えるのは<strong>指定した範囲の中</strong>の絞り込みだけ。</p>



<p class="wp-block-paragraph">つまりExcel 365の時代でも、役割分担は変わっていません。</p>



<ul class="wp-block-list"><li>同一シート内の条件絞り込み → FILTERなどのスピル関数（1つの数式で複数セルに結果が自動展開される関数）</li><li>シートをまたぐ動的な切り替え → INDIRECT</li></ul>



<p class="wp-block-paragraph">競合しているようで、実は守備範囲が違うんですね。無理に置き換えず、使う個数を抑える方向で付き合いましょう。</p>



<h3 class="wp-block-heading"><span id="toc20">重くなったファイルを軽くする初手</span></h3>



<p class="wp-block-paragraph">すでに重いファイルでも、全部を置き換える必要はありません。効果が出るのは、<strong>同じ数式が何百行も並んでいる箇所</strong>だけです。</p>



<ol class="wp-block-list"><li><code>Ctrl</code> + <code>F</code> を押して「INDIRECT」を検索します。検索場所は「数式」を選んでください。</li><li>数百セル以上に展開されている列を特定します。</li><li>その列だけ、上の早見表に沿ってINDEXやテーブル参照に置き換えましょう。</li></ol>



<p class="wp-block-paragraph">改善しないなら、原因はINDIRECT以外にあるかもしれません。条件付き書式の重複や不要な画像、巨大すぎる範囲指定も定番の犯人。<a href="https://mashukabu.com/excel-slow-freeze-save-fix/">Excelが重い・固まる・保存できないときの対処</a>で切り分け手順を確認してみてくださいね。</p>



<h2 class="wp-block-heading"><span id="toc21">よくある質問｜INDIRECT関数</span></h2>



<h3 class="wp-block-heading"><span id="toc22">Q. シート名を変えたら壊れました。追従させる方法はありますか？</span></h3>



<p class="wp-block-paragraph">INDIRECTの引数は文字列なので、自動で追従させる方法はありません。現実的な対策は2つ。</p>



<p class="wp-block-paragraph">1つは、シート名をセルに入力しておき、そのセルの値だけを更新する運用にすること。もう1つは、切り替えが不要なら普通の <code>=Sheet1!A5</code> に戻すことです。通常の参照ならExcelが自動で追従してくれますよ。</p>



<h3 class="wp-block-heading"><span id="toc23">Q. Web版Excelでも使えますか？</span></h3>



<p class="wp-block-paragraph">INDIRECT関数そのものは、Web版Excel（ブラウザ版）でも使えます。同じブック内のシート切り替えなら問題ありません。</p>



<p class="wp-block-paragraph">ただし<strong>外部ブック（別ファイル）への参照はWeb版では新規作成できません</strong>。既存の参照は表示できますが、作成や更新設定の変更にはデスクトップ版が必要。別ファイル参照はデスクトップ版で組んでくださいね。</p>



<h3 class="wp-block-heading"><span id="toc24">Q. Googleスプレッドシートでも同じ書き方ですか？</span></h3>



<p class="wp-block-paragraph">はい、スプレッドシートにも同名のINDIRECT関数があり、構文はExcelとほぼ同じ。別シート参照でシングルクォートが必要な点も共通です。</p>



<p class="wp-block-paragraph">ただし別スプレッドシートを参照する仕組みは異なります。Sheets側の書き方は<a href="https://mashukabu.com/spreadsheet-indirect-function/">スプレッドシートのINDIRECT関数の使い方</a>を参考にしてください。</p>



<h3 class="wp-block-heading"><span id="toc25">Q. INDIRECTは何個までなら重くなりませんか？</span></h3>



<p class="wp-block-paragraph">明確な上限はありません。体感で言えば数十個なら気になりませんが、数百・数千セルに展開すると入力のたびに待たされます。</p>



<p class="wp-block-paragraph">判断は個数より<strong>用途</strong>で。数値で参照先が決まる箇所をINDEXに置き換えれば、残りが多少あっても実用速度に戻せますよ。</p>



<h3 class="wp-block-heading"><span id="toc26">Q. OFFSETとINDIRECTはどちらを使うべきですか？</span></h3>



<p class="wp-block-paragraph">どちらも揮発性関数なので、速度面の優劣はほぼありません。使い分けは<strong>参照先の決め方</strong>で判断します。</p>



<ul class="wp-block-list"><li>基準セルから「何行下・何列右」で位置を決めたい → OFFSET</li><li>シート名や名前を文字列で組み立てたい → INDIRECT</li></ul>



<p class="wp-block-paragraph">なお、OFFSETの用途の多くはINDEXで置き換えられます。軽さを優先するなら、まずINDEXを検討するのが定石ですよ。</p>



<h3 class="wp-block-heading"><span id="toc27">Q. エラーを事前に防ぐ方法はありますか？</span></h3>



<p class="wp-block-paragraph">次の3つを習慣にすると、<code>#REF!</code> の大半は起きなくなります。</p>



<ul class="wp-block-list"><li>シート名は常にクォート付きで書く（<code>="'"&A1&"'!B2"</code> の形）</li><li>セルから受け取る文字列はTRIMで挟む</li><li>名前の定義は「名前の管理」の一覧と突合してから使う</li></ul>



<p class="wp-block-paragraph">そのうえでISREF関数の判定を挟むか、IFERROR関数で表示を整えておくと万全。出てから直すより、出さない作りの方が結局ラクですよね。</p>



<h2 class="wp-block-heading"><span id="toc28">まとめ｜場面別のINDIRECT早見表</span></h2>



<p class="wp-block-paragraph">INDIRECT関数は、文字列をセル参照に変える関数でした。強みは「参照先を後から動かせる」こと。弱点は「文字列が崩れると <code>#REF!</code> になる」ことと「揮発性で重くなる」ことです。</p>



<p class="wp-block-paragraph">最後に、場面別の結論を早見表で整理しておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>場面</th><th>結論</th></tr></thead><tbody><tr><td>別シート参照（スペースなし）</td><td><code>=INDIRECT(A1&"!B2")</code> で参照できる</td></tr><tr><td>別シート参照（スペース・記号あり）</td><td><code>=INDIRECT("'"&A1&"'!B2")</code> とクォートで囲む</td></tr><tr><td><code>#REF!</code> が出た</td><td>クォート漏れ／不可視スペース／閉じたブック／名前未登録／シート名リネーム の5点を順に確認</td></tr><tr><td>式が正しいか確かめたい</td><td>INDIRECTを外して <code>="'"&A1&"'!B2"</code> で文字列を目視</td></tr><tr><td>別ブックを参照したい</td><td>ブックを開いたまま使う。または通常のリンク数式かPower Queryへ</td></tr><tr><td>行・列を数値で決められる</td><td>INDEXに置き換えて軽量化する</td></tr><tr><td>シート名・名前を文字列で切り替える</td><td>INDIRECTが唯一の手段</td></tr><tr><td>同一シート内を絞り込みたい</td><td>FILTERなどのスピル関数を優先（365・2021以降）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">迷ったときの判断軸はシンプル。「文字列で参照先を切り替えたいか」だけです。イエスならINDIRECT、ノーならINDEXやテーブルの構造化参照を選んでください。</p>



<p class="wp-block-paragraph"><code>#REF!</code> に出くわしたら、まずは1行デバッグ術で文字列を目視。それだけで大半は自己解決できます。月別シートの切り替えから、気軽に試してみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-indirect/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>
