<?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/%e5%8b%95%e7%9a%84%e5%8f%82%e7%85%a7/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 14:49:00 +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>スプレッドシートのADDRESS関数の使い方｜セル番地を自動作成</title>
		<link>https://mashukabu.com/spreadsheet-address-function/</link>
					<comments>https://mashukabu.com/spreadsheet-address-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 15:13:39 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ADDRESS関数]]></category>
		<category><![CDATA[INDIRECT連携]]></category>
		<category><![CDATA[スプレッドシート関数]]></category>
		<category><![CDATA[セル番地]]></category>
		<category><![CDATA[動的参照]]></category>
		<category><![CDATA[参照形式]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4670</guid>

					<description><![CDATA[スプレッドシートのADDRESS関数の使い方を基本から解説。行番号・列番号からセル番地を自動作成する方法、INDIRECT関数との組み合わせ、参照形式の違いまで実例つきで紹介します。]]></description>
										<content:encoded><![CDATA[

  <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">スプレッドシートのADDRESS関数とは？</a><ol><li><a href="#toc2" tabindex="0">読み方・語源</a></li><li><a href="#toc3" tabindex="0">ADDRESS関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">スプレッドシートのADDRESS関数の書き方（構文・引数）</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">ADDRESS関数の基本的な使い方</a></li><li><a href="#toc8" tabindex="0">ADDRESS関数の実践的な使い方・応用例</a><ol><li><a href="#toc9" tabindex="0">ADDRESS+INDIRECTで動的セル参照を作る</a></li><li><a href="#toc10" tabindex="0">ROW・COLUMNと組み合わせて位置を動的に取得する</a></li><li><a href="#toc11" tabindex="0">別シートから動的にデータを取得する</a></li><li><a href="#toc12" tabindex="0">MATCH関数と組み合わせて検索結果の位置を表示する</a></li></ol></li><li><a href="#toc13" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc14" tabindex="0">似た関数との違い・使い分け</a></li><li><a href="#toc15" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのADDRESS関数とは？</span></h2>



<p class="wp-block-paragraph">「行番号と列番号はわかるけど、セル番地の文字列が欲しい」――そんな場面はありませんか？</p>



<p class="wp-block-paragraph">たとえばVLOOKUPやINDEX関数の結果をもとに、「どのセルを見ているか」を表示したい。でもセル番地を手入力で管理するのは面倒ですよね。</p>



<p class="wp-block-paragraph">スプレッドシートの<strong>ADDRESS関数</strong>を使えば、行番号と列番号を指定するだけでセル番地の文字列を自動生成できます。<a href="https://mashukabu.com/spreadsheet-indirect-function/">INDIRECT関数</a>（文字列をセル参照に変換する関数）と組み合わせれば、動的なセル参照の仕組みも作れますよ。</p>



<h3 class="wp-block-heading"><span id="toc2">読み方・語源</span></h3>



<p class="wp-block-paragraph">ADDRESS関数は「<strong>アドレス関数</strong>」と読みます。英語の「address」は「住所・番地」という意味です。</p>



<p class="wp-block-paragraph">セルの「住所」にあたる番地文字列を返す関数、と覚えるとわかりやすいですね。</p>



<h3 class="wp-block-heading"><span id="toc3">ADDRESS関数でできること</span></h3>



<p class="wp-block-paragraph">ADDRESS関数を使うと、次のようなことができます。</p>



<ul class="wp-block-list"><li>行番号と列番号からセル番地の文字列（例: <code>$A$1</code>）を生成する</li><li>絶対参照・相対参照・複合参照を切り替えて出力する</li><li>A1形式とR1C1形式を選んで出力する</li><li>別シートのセル番地（例: <code>Sheet2!$A$1</code>）を生成する</li><li>INDIRECT関数と組み合わせて、番地から実際の値を取得する</li></ul>



<p class="wp-block-paragraph">ポイントは「<strong>文字列を返す</strong>」ことです。ADDRESS関数だけではセルの値は取得できません。値が欲しいときは<a href="https://mashukabu.com/spreadsheet-indirect-function/">INDIRECT関数</a>と組み合わせます。</p>



<h2 class="wp-block-heading"><span id="toc4">スプレッドシートのADDRESS関数の書き方（構文・引数）</span></h2>



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



<pre class="wp-block-code"><code>=ADDRESS(行, 列, [参照の型], [A1形式], [シート名])</code></pre>



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>行</td><td>必須</td><td>セルの行番号（1以上の整数）</td></tr><tr><td>列</td><td>必須</td><td>セルの列番号（1以上の整数。A列=1、B列=2&#8230;）</td></tr><tr><td>参照の型</td><td>省略可</td><td>参照形式の種類（下表参照）。省略時は1（絶対参照）</td></tr><tr><td>A1形式</td><td>省略可</td><td>TRUE=A1形式（デフォルト）、FALSE=R1C1形式</td></tr><tr><td>シート名</td><td>省略可</td><td>シート名を文字列で指定。出力にシート名が付く</td></tr></tbody></table></figure>



<h4 class="wp-block-heading">参照の型（第3引数）の一覧</h4>



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>参照形式</th><th>出力例</th></tr></thead><tbody><tr><td>1</td><td>絶対参照（行・列とも固定）</td><td><code>$A$1</code></td></tr><tr><td>2</td><td>行だけ絶対参照</td><td><code>A$1</code></td></tr><tr><td>3</td><td>列だけ絶対参照</td><td><code>$A1</code></td></tr><tr><td>4</td><td>相対参照（固定なし）</td><td><code>A1</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">実務では「1（絶対参照）」か「4（相対参照）」を使うことがほとんどです。迷ったら省略して絶対参照にしておけばOKです。</p>



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



<p class="wp-block-paragraph">もっともシンプルな使い方は、行番号と列番号を直接指定するパターンです。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<pre class="wp-block-code"><code>=ADDRESS(3, 2)</code></pre>



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



<p class="wp-block-paragraph">結果は <code>$B$3</code> です。3行目・2列目（B列）のセル番地が、絶対参照の文字列として返されます。</p>



<p class="wp-block-paragraph">相対参照で取得したい場合は、第3引数に4を指定します。</p>



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



<p class="wp-block-paragraph">結果は <code>B3</code> です。<code>$</code> 記号のない相対参照になります。</p>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-address-function/03_result_address-basic.png/">_images/spreadsheet-address-function/03_result_address-basic.png</a></p>



<p class="wp-block-paragraph">R1C1形式で出力したいときは、第4引数をFALSEにします。</p>



<pre class="wp-block-code"><code>=ADDRESS(3, 2, 1, FALSE)</code></pre>



<p class="wp-block-paragraph">結果は <code>R3C2</code> です。「R=Row（行）3、C=Column（列）2」という意味で、A1形式とは異なる表記になります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>R1C1形式はGoogleスプレッドシートの標準設定ではありません。通常はA1形式（デフォルト）のまま使えば問題ありません。</p></blockquote>



<p class="wp-block-paragraph">別シートのセル番地を取得するには、第5引数にシート名を指定します。</p>



<pre class="wp-block-code"><code>=ADDRESS(1, 1, 1, TRUE, &quot;売上データ&quot;)</code></pre>



<p class="wp-block-paragraph">結果は <code>'売上データ'!$A$1</code> です。シート名がシングルクォーテーションで囲まれた形式になります。</p>



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



<h3 class="wp-block-heading"><span id="toc9">ADDRESS+INDIRECTで動的セル参照を作る</span></h3>



<p class="wp-block-paragraph">ADDRESS関数は「文字列」を返すだけなので、そのままでは値を取得できません。<a href="https://mashukabu.com/spreadsheet-indirect-function/">INDIRECT関数</a>と組み合わせると、セルの値を取り出せます。</p>



<p class="wp-block-paragraph">たとえばA1セルに行番号「5」、B1セルに列番号「3」が入っているとします。</p>



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



<p class="wp-block-paragraph">ADDRESS(A1, B1)が <code>$C$5</code> を返します。INDIRECT関数がこれをセル参照に変換して、C5セルの値を取得します。</p>



<p class="wp-block-paragraph">行番号や列番号をセルで管理すれば、参照先を自由に切り替えられます。プルダウンや入力欄と連動させると、見たいデータをすばやく表示できますよ。</p>



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



<h3 class="wp-block-heading"><span id="toc10">ROW・COLUMNと組み合わせて位置を動的に取得する</span></h3>



<p class="wp-block-paragraph">ROW関数（セルの行番号を返す関数）やCOLUMN関数（セルの列番号を返す関数）との組み合わせも便利です。現在位置を基準にしたセル番地を生成できます。</p>



<p class="wp-block-paragraph">たとえば「2行上のセル番地」を取得するには、次のように書きます。</p>



<pre class="wp-block-code"><code>=ADDRESS(ROW()-2, COLUMN())</code></pre>



<p class="wp-block-paragraph">ROW()が現在の行番号を返し、そこから2を引いた行と同じ列のセル番地が生成されます。</p>



<p class="wp-block-paragraph">このパターンは数式の動作確認やデバッグに便利です。「この数式はどのセルを見ているのか」を隣のセルに表示して確認できます。</p>



<h3 class="wp-block-heading"><span id="toc11">別シートから動的にデータを取得する</span></h3>



<p class="wp-block-paragraph">ADDRESS関数のシート名引数を活用して、別シートのデータを動的に取得するパターンです。</p>



<p class="wp-block-paragraph">A1セルに「1月」というシート名が入っているとします。</p>



<pre class="wp-block-code"><code>=INDIRECT(ADDRESS(2, 3, 1, TRUE, A1))</code></pre>



<p class="wp-block-paragraph">ADDRESS関数が <code>'1月'!$C$2</code> を返します。INDIRECT関数がこの文字列をセル参照に変換し、「1月」シートのC2セルの値を取得します。</p>



<p class="wp-block-paragraph">A1セルを「2月」に変えれば、参照先は自動的に「2月」シートに切り替わります。</p>



<p class="wp-block-paragraph">月次レポートの集計や、部署別シートの切り替えなど、同じ構成のシートを横断するときに重宝します。</p>



<h3 class="wp-block-heading"><span id="toc12">MATCH関数と組み合わせて検索結果の位置を表示する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-match-function/">MATCH関数</a>（検索値の位置を返す関数）の結果をADDRESS関数に渡すと、検索結果がどのセルにあるかを番地で表示できます。</p>



<p class="wp-block-paragraph">A列に商品名が入っているとします。</p>



<pre class="wp-block-code"><code>=ADDRESS(MATCH(&quot;りんご&quot;, A:A, 0), 1)</code></pre>



<p class="wp-block-paragraph">MATCH関数が「りんご」の行番号を返します。ADDRESS関数がその行のA列のセル番地を生成します。結果は <code>$A$5</code> のような文字列です。</p>



<p class="wp-block-paragraph">「検索した値がどこにあるか」を別セルに表示したいとき、このパターンが使えます。</p>



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



<p class="wp-block-paragraph">ADDRESS関数で発生するエラーとその対処法をまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>主な原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#VALUE!</code></td><td>行番号に0以下の値を指定した</td><td>行番号が1以上の整数になっているか確認する</td></tr><tr><td><code>#VALUE!</code></td><td>列番号に0以下の値を指定した</td><td>列番号が1以上の整数になっているか確認する</td></tr><tr><td><code>#VALUE!</code></td><td>引数に文字列を指定した</td><td>行・列番号が数値であることを確認する</td></tr><tr><td><code>#REF!</code></td><td>INDIRECTと組み合わせたとき、存在しないシート名を指定した</td><td>シート名のスペルを確認する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ADDRESS関数自体はエラーが起きにくい関数です。行番号と列番号に正の整数を渡せば、ほぼ確実に動作します。</p>



<p class="wp-block-paragraph">エラーが出るのは多くの場合、INDIRECT関数と組み合わせたときです。ADDRESS関数が生成した文字列をINDIRECT関数に渡す場面で、参照先が存在しないと<code>#REF!</code>になります。</p>



<p class="wp-block-paragraph">デバッグするときは、まずADDRESS関数だけの結果を確認してみてください。出力された文字列が正しいセル番地になっているかを目視で確認するのが早いです。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>特徴</th><th>使いどころ</th></tr></thead><tbody><tr><td>ADDRESS</td><td>行番号・列番号からセル番地の文字列を返す</td><td>セル番地の文字列を生成したいとき</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-indirect-function/">INDIRECT</a></td><td>文字列をセル参照に変換して値を取得する</td><td>ADDRESS等で作った番地文字列から値を取り出すとき</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-index-function/">INDEX</a></td><td>範囲から行番号・列番号で直接値を取得する</td><td>「セル番地の文字列」が不要で値だけ欲しいとき</td></tr><tr><td>ROW / COLUMN</td><td>セルの行番号・列番号を数値で返す</td><td>ADDRESS関数に渡す行・列番号を取得するとき</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>ADDRESS関数とINDEX関数の使い分けがポイントです。</strong></p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-index-function/">INDEX関数</a>は、行番号と列番号から直接値を取得します。「値だけ欲しい」なら、ADDRESS+INDIRECTの2段階を踏むよりINDEX関数のほうがシンプルです。</p>



<p class="wp-block-paragraph">ADDRESS関数が活きるのは「セル番地そのもの」が必要な場面です。参照先の番地を表示したいとき、文字列操作でセル番地を組み立てたいとき、シート名付きの参照文字列を作りたいとき。こうした場面ではADDRESS関数が適しています。</p>



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



<p class="wp-block-paragraph">スプレッドシートのADDRESS関数は、行番号と列番号からセル番地の文字列を生成する関数です。</p>



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



<ul class="wp-block-list"><li>構文は <code>=ADDRESS(行, 列, [参照の型], [A1形式], [シート名])</code></li><li>行番号と列番号を指定するだけでセル番地の文字列を返す</li><li>第3引数で絶対参照・相対参照・複合参照を切り替えられる</li><li><a href="https://mashukabu.com/spreadsheet-indirect-function/">INDIRECT関数</a>と組み合わせることで、動的なセル参照が実現できる</li><li>INDEX関数で値だけ取得できる場面では、ADDRESS+INDIRECTは不要</li><li>エラーは少ないが、行・列番号には1以上の整数を指定すること</li></ul>



<p class="wp-block-paragraph">「セル番地を数式で自動生成したい」「参照先を動的に切り替えたい」――そんなときはADDRESS関数を活用してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-address-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのINDIRECT関数の使い方｜文字列からセル参照</title>
		<link>https://mashukabu.com/spreadsheet-indirect-function/</link>
					<comments>https://mashukabu.com/spreadsheet-indirect-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 15:13:12 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[IMPORTRANGE]]></category>
		<category><![CDATA[INDIRECT関数]]></category>
		<category><![CDATA[スプレッドシート関数]]></category>
		<category><![CDATA[セル参照]]></category>
		<category><![CDATA[別シート参照]]></category>
		<category><![CDATA[動的参照]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4658</guid>

					<description><![CDATA[スプレッドシートのINDIRECT関数の使い方を解説。別シート・別ファイルへの動的参照、IMPORTRANGE連携、#REF!エラーの対処法まで実例つきで紹介します。]]></description>
										<content:encoded><![CDATA[

  <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">スプレッドシートのINDIRECT関数とは？</a><ol><li><a href="#toc2" tabindex="0">読み方・語源</a></li><li><a href="#toc3" tabindex="0">INDIRECT関数でできること</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></ol></li><li><a href="#toc7" tabindex="0">INDIRECT関数の基本的な使い方</a><ol><li><a href="#toc8" tabindex="0">同じシート内のセルを文字列で参照する</a></li><li><a href="#toc9" tabindex="0">別シートのセルを動的に参照する</a></li><li><a href="#toc10" tabindex="0">セル番地を文字列で組み立てて参照する</a></li></ol></li><li><a href="#toc11" tabindex="0">スプレッドシートならではの実践活用パターン</a><ol><li><a href="#toc12" tabindex="0">パターン1: プルダウンで参照先シートを切り替える</a></li><li><a href="#toc13" tabindex="0">パターン2: IMPORTRANGE+INDIRECTで別ファイルを動的に切り替える</a></li><li><a href="#toc14" tabindex="0">パターン3: INDEX/MATCHと組み合わせた検索</a></li><li><a href="#toc15" tabindex="0">パターン4: 名前付き範囲をINDIRECTで呼び出す</a></li></ol></li><li><a href="#toc16" tabindex="0">よくあるエラーと対処法</a></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">スプレッドシートのINDIRECT関数とは？</span></h2>



<p class="wp-block-paragraph">「シート名をセルで切り替えたい」「プルダウンの選択に応じて参照先を変えたい」――そんな場面、ありませんか？</p>



<p class="wp-block-paragraph">手作業でいちいち数式を書き換えるのは面倒ですし、シートが増えるたびに修正が必要になります。</p>



<p class="wp-block-paragraph">スプレッドシートの<strong>INDIRECT関数</strong>を使えば、文字列をセル参照に変換できます。参照先を動的に切り替える仕組みが、数式ひとつで作れますよ。</p>



<h3 class="wp-block-heading"><span id="toc2">読み方・語源</span></h3>



<p class="wp-block-paragraph">INDIRECT関数は「<strong>インダイレクト関数</strong>」と読みます。英語の「indirect」は「間接的な」という意味です。</p>



<p class="wp-block-paragraph">セル番地を直接指定するのではなく、<strong>文字列を経由して間接的に参照する</strong>。この動きがそのまま関数名になっています。</p>



<h3 class="wp-block-heading"><span id="toc3">INDIRECT関数でできること</span></h3>



<p class="wp-block-paragraph">INDIRECT関数を使うと、次のようなことができます。</p>



<ul class="wp-block-list"><li>文字列で指定したセル番地の値を取得する</li><li>プルダウンの選択値に応じて参照先シートを切り替える</li><li>IMPORTRANGE（別ファイルのデータを取り込む関数）と組み合わせて、参照先ファイルを動的に変更する</li><li>セル番地を文字列の結合で組み立てて参照する</li></ul>



<p class="wp-block-paragraph">ポイントは「<strong>参照先を固定しない</strong>」ことです。セルの値や数式の結果に応じて、どこを見に行くかを自在に変えられます。</p>



<h2 class="wp-block-heading"><span id="toc4">スプレッドシートのINDIRECT関数の書き方（構文・引数）</span></h2>



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



<pre class="wp-block-code"><code>=INDIRECT(セル参照の文字列, [A1形式にする])</code></pre>



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>セル参照の文字列</td><td>必須</td><td>セル参照を表す文字列、またはその文字列が入ったセル参照</td></tr><tr><td>A1形式にする</td><td>省略可</td><td>TRUE（またはデフォルト）= A1形式。FALSE = R1C1形式</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">第1引数には<code>"A1"</code>のような文字列リテラルだけでなく、セル参照も渡せます。たとえばA1セルに「B3」と入力されていれば、<code>=INDIRECT(A1)</code>でB3セルの値を取得します。</p>



<p class="wp-block-paragraph">第2引数は、ほとんどの場合は省略してOKです。R1C1形式を使いたいときだけFALSEを指定してください。</p>



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



<h3 class="wp-block-heading"><span id="toc8">同じシート内のセルを文字列で参照する</span></h3>



<p class="wp-block-paragraph">もっともシンプルな使い方です。文字列でセル番地を指定して、その値を取得します。</p>



<p class="wp-block-paragraph">たとえばB2セルに「100」と入っているとします。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



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



<p class="wp-block-paragraph">結果は「100」です。<code>"B2"</code>という文字列が、B2セルへの参照に変換されます。</p>



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



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



<p class="wp-block-paragraph">「それなら<code>=B2</code>と書けばいいのでは？」と思いますよね。そのとおりです。この使い方だけなら、INDIRECT関数を使うメリットはありません。</p>



<p class="wp-block-paragraph">「それなら<code>=B2</code>と書けばいいのでは？」と思いますよね。そのとおりです。この使い方だけなら、INDIRECT関数を使うメリットはありません。</p>



<p class="wp-block-paragraph">真価を発揮するのは、参照先を<strong>動的に変えたい</strong>ときです。</p>



<h3 class="wp-block-heading"><span id="toc9">別シートのセルを動的に参照する</span></h3>



<p class="wp-block-paragraph">A1セルに「売上データ」というシート名が入っているとします。「売上データ」シートのB2セルの値を取得するには、次のように書きます。</p>



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



<p class="wp-block-paragraph">A1の値と<code>"!B2"</code>を結合して、<code>"売上データ!B2"</code>という文字列を作っています。INDIRECT関数がこれをセル参照に変換してくれます。</p>



<p class="wp-block-paragraph">A1セルの値を「経費データ」に変えれば、参照先は自動で「経費データ!B2」に切り替わります。数式を書き換える必要はありません。</p>



<p class="wp-block-paragraph"><strong>注意点</strong>: シート名にスペースや記号が含まれる場合は、シングルクォーテーションで囲む必要があります。</p>



<p class="wp-block-paragraph"><strong>注意点</strong>: シート名にスペースや記号が含まれる場合は、シングルクォーテーションで囲む必要があります。</p>



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



<h3 class="wp-block-heading"><span id="toc10">セル番地を文字列で組み立てて参照する</span></h3>



<p class="wp-block-paragraph">行番号や列名をセルに持たせて、参照先を組み立てることもできます。</p>



<p class="wp-block-paragraph">A1セルに「B」、B1セルに「5」と入っているとします。</p>



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



<p class="wp-block-paragraph"><code>"B"</code>と<code>"5"</code>が結合されて<code>"B5"</code>になり、B5セルの値を取得します。</p>



<p class="wp-block-paragraph">ADDRESS関数（行番号と列番号からセル番地の文字列を生成する関数）と組み合わせる方法もあります。</p>



<pre class="wp-block-code"><code>=INDIRECT(ADDRESS(3,2))</code></pre>



<p class="wp-block-paragraph">ADDRESS(3,2)は<code>"$B$3"</code>を返します。これをINDIRECT関数がB3セルへの参照に変換し、B3の値が取得されます。</p>



<h2 class="wp-block-heading"><span id="toc11">スプレッドシートならではの実践活用パターン</span></h2>



<h3 class="wp-block-heading"><span id="toc12">パターン1: プルダウンで参照先シートを切り替える</span></h3>



<p class="wp-block-paragraph">月別にシートを分けている場合を考えてみましょう。「1月」「2月」「3月」というシートがあるとします。</p>



<p class="wp-block-paragraph">A1セルにプルダウンを作成し、シート名を選べるようにします。B2セルに次の数式を入力します。</p>



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



<p class="wp-block-paragraph">プルダウンで「2月」を選ぶと、2月シートのB2が参照されます。「3月」に切り替えれば、3月シートのB2に変わります。</p>



<p class="wp-block-paragraph">月次レポートの集計など、同じ構成のシートを切り替えて見たいときに便利です。</p>



<p class="wp-block-paragraph">範囲全体を参照したい場合は、次のように書きます。</p>



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



<p class="wp-block-paragraph">これでプルダウンの選択に応じたシートのB2:B10が合計されます。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン2: IMPORTRANGE+INDIRECTで別ファイルを動的に切り替える</span></h3>



<p class="wp-block-paragraph">これはスプレッドシートならではの使い方です。Excelではできません。</p>



<p class="wp-block-paragraph">IMPORTRANGE関数は、別のスプレッドシートファイルからデータを取り込む関数です。通常はURLを直接指定しますが、INDIRECT関数と組み合わせると参照先ファイルを動的に切り替えられます。</p>



<p class="wp-block-paragraph">A1セルにスプレッドシートのURLが入っているとします。</p>



<pre class="wp-block-code"><code>=IMPORTRANGE(INDIRECT(A1),&quot;Sheet1!A1:D10&quot;)</code></pre>



<p class="wp-block-paragraph">INDIRECT(A1)がA1セルのURL文字列を返し、IMPORTRANGEがそのファイルのデータを取り込みます。</p>



<p class="wp-block-paragraph">A1のURLを変えるだけで、別ファイルのデータに切り替わります。部署ごとにファイルが分かれている場合などに活用できます。</p>



<p class="wp-block-paragraph"><strong>注意点</strong>: IMPORTRANGEは初回使用時にアクセス許可が必要です。URLを切り替えるたびに、新しいファイルへの許可が求められる場合があります。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン3: INDEX/MATCHと組み合わせた検索</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-index-function/">INDEX関数</a>（範囲から行・列番号で値を取り出す関数）と<a href="https://mashukabu.com/spreadsheet-match-function/">MATCH関数</a>（検索キーの位置を返す関数）にINDIRECT関数を組み合わせると、検索対象の範囲自体を動的に切り替えられます。</p>



<p class="wp-block-paragraph">A1セルにシート名「商品マスタ」が入っているとします。</p>



<pre class="wp-block-code"><code>=INDEX(INDIRECT(A1&amp;&quot;!C2:C100&quot;),MATCH(&quot;りんご&quot;,INDIRECT(A1&amp;&quot;!B2:B100&quot;),0))</code></pre>



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



<ol class="wp-block-list"><li>MATCH関数が「りんご」の行番号を探す</li><li>INDEX関数がその行のC列の値を返す</li><li>INDIRECT関数が検索範囲のシートを動的に決めている</li></ol>



<p class="wp-block-paragraph">シート名を変えるだけで、別のマスタから同じ検索ができます。</p>



<p class="wp-block-paragraph">ただし、参照先が固定で決まっている場合はINDIRECT関数を使う必要はありません。<a href="https://mashukabu.com/spreadsheet-index-function/">INDEX関数</a>とMATCH関数だけで十分です。「参照先を切り替えたい」ときにINDIRECT関数を足す、と覚えておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン4: 名前付き範囲をINDIRECTで呼び出す</span></h3>



<p class="wp-block-paragraph">スプレッドシートでは「名前付き範囲」を設定できます。たとえば「売上合計」という名前でA1:A10を定義しているとします。</p>



<pre class="wp-block-code"><code>=SUM(INDIRECT(&quot;売上合計&quot;))</code></pre>



<p class="wp-block-paragraph">名前付き範囲の名称を文字列として渡すと、その範囲を参照できます。</p>



<p class="wp-block-paragraph">セルに名前付き範囲の名称を入れておけば、動的な切り替えも可能です。</p>



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



<p class="wp-block-paragraph">A1に「売上合計」と入力すれば売上合計の範囲が、「経費合計」と入力すれば経費合計の範囲が参照されます。</p>



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



<p class="wp-block-paragraph">INDIRECT関数で発生するエラーと、その原因・対処法をまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>主な原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#REF!</code></td><td>存在しないシート名を指定した</td><td>シート名のスペルを確認する</td></tr><tr><td><code>#REF!</code></td><td>セル参照の文字列が空</td><td>参照元のセルが空でないか確認する</td></tr><tr><td><code>#REF!</code></td><td>不正なセルアドレス（例: <code>"ZZZ1"</code>）</td><td>セル番地の文字列が正しいか確認する</td></tr><tr><td><code>#REF!</code></td><td>IMPORTRANGE連携でURLが無効</td><td>URLが正しいか、アクセス許可があるか確認する</td></tr><tr><td><code>#VALUE!</code></td><td>第2引数にTRUE/FALSE以外を指定した</td><td>第2引数を省略するか、TRUE/FALSEを指定する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">もっとも多いのは<code>#REF!</code>エラーです。INDIRECT関数に渡している文字列が、有効なセル参照になっているかを確認しましょう。</p>



<p class="wp-block-paragraph">デバッグのコツは、INDIRECT関数を外して<strong>引数の文字列だけを確認する</strong>ことです。たとえば<code>=INDIRECT(A1&"!B2")</code>でエラーが出たら、<code>=A1&"!B2"</code>だけをセルに入力してみてください。出力される文字列を目視で確認するのが一番早いです。</p>



<p class="wp-block-paragraph">デバッグのコツは、INDIRECT関数を外して<strong>引数の文字列だけを確認する</strong>ことです。たとえば<code>=INDIRECT(A1&"!B2")</code>でエラーが出たら、<code>=A1&"!B2"</code>だけをセルに入力してみてください。出力される文字列を目視で確認するのが一番早いです。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>特徴</th><th>使いどころ</th></tr></thead><tbody><tr><td>INDIRECT</td><td>文字列をセル参照に変換する</td><td>参照先を動的に切り替えたいとき</td></tr><tr><td>ADDRESS</td><td>行番号・列番号からセル番地の文字列を生成する</td><td>INDIRECTに渡す文字列を組み立てるとき</td></tr><tr><td>INDEX</td><td>範囲から行番号・列番号で直接値を取得する</td><td>参照先が固定なら、INDIRECTより高速でシンプル</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP</a></td><td>検索キーに一致する行の値を返す</td><td>単純な縦方向の検索にはVLOOKUPが手軽</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>INDIRECTとINDEXの使い分けが特に重要です。</strong></p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-index-function/">INDEX関数</a>は行番号と列番号を指定して値を取得します。参照先が計算で確定するなら、INDEX関数のほうが適しています。</p>



<p class="wp-block-paragraph">INDIRECT関数は<strong>揮発性関数</strong>です。シートの値が変更されるたびに再計算されます。大量に使うとスプレッドシートの動作が重くなる可能性があります。</p>



<p class="wp-block-paragraph">「参照先のシートやファイルを動的に切り替えたい」ならINDIRECT関数。「範囲内の特定の位置から値を取りたい」ならINDEX関数。この基準で選んでみてください。</p>



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



<p class="wp-block-paragraph">スプレッドシートのINDIRECT関数は、文字列をセル参照に変換する関数です。</p>



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



<ul class="wp-block-list"><li>構文は<code>=INDIRECT(セル参照の文字列, [A1形式にする])</code></li><li>文字列を「間接的に」セル参照として使える</li><li>プルダウンと組み合わせて参照先シートを切り替えられる</li><li>IMPORTRANGE+INDIRECTで別ファイルの動的切り替えができる（スプレッドシート限定）</li><li>揮発性関数なので、大量使用には注意が必要</li><li>参照先が固定なら<a href="https://mashukabu.com/spreadsheet-index-function/">INDEX関数</a>のほうがシンプルで高速</li></ul>



<p class="wp-block-paragraph">「どのシートを見るか」「どのファイルから取るか」をセルの値で制御したいとき、INDIRECT関数はとても頼りになります。ぜひ活用してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-indirect-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
