<?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>CELL関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/cell%e9%96%a2%e6%95%b0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Sat, 15 Aug 2026 13:15:12 +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>CELL関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのCELL関数の使い方｜検査の型12種を一覧表で完全解説</title>
		<link>https://mashukabu.com/excel-function-howto-use-cell/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-cell/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 04 Sep 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[CELL関数]]></category>
		<category><![CDATA[セル情報]]></category>
		<category><![CDATA[ファイル名取得]]></category>
		<category><![CDATA[情報関数]]></category>
		<category><![CDATA[検査の型]]></category>
		<category><![CDATA[表示形式]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2305</guid>

					<description><![CDATA[ExcelのCELL関数の使い方を解説。12種類の検査の型（address・filename・format等）を一覧表で整理し、シート名の自動取得や書式判定など実務で使える活用パターンもまとめました。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「このセルの表示形式って何が設定されてるんだろう？」「ファイルのパスやシート名を数式で取得できないかな？」</p>



<p class="wp-block-paragraph">こんな疑問を持ったことはありませんか。セルの書式や位置、ファイル名といった&#8221;裏側の情報&#8221;を手作業で確認するのは面倒ですよね。ExcelのCELL関数を使えば、こうした情報を数式ひとつで取得できます。</p>



<p class="wp-block-paragraph">この記事では、CELL関数の基本的な使い方から12種類の検査の型の一覧、実務で役立つ活用パターンまでまとめて紹介します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>この記事は次のような人におすすめ<br>&#8211; セルの表示形式や書式を数式で調べたい<br>&#8211; ファイル名やシート名を自動取得したい<br>&#8211; セルの位置情報（行番号・列番号・アドレス）を取得したい</p></blockquote>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのCELL関数とは？</a><ol><li><a href="#toc2" tabindex="0">読み方・語源</a></li><li><a href="#toc3" tabindex="0">CELL関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">CELL関数の書き方（構文と引数）</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">CELL関数の検査の型一覧表</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">セル番地を取得する（address）</a></li><li><a href="#toc13" tabindex="0">ファイル名とシート名を取得する（filename）</a></li><li><a href="#toc14" tabindex="0">表示形式を調べる（format）</a></li></ol></li><li><a href="#toc15" tabindex="0">実務で使える活用パターン</a><ol><li><a href="#toc16" tabindex="0">パターン1: シート名＋日付でヘッダーを自動生成する</a></li><li><a href="#toc17" tabindex="0">パターン2: 表示形式で日付かどうかを判定する</a></li><li><a href="#toc18" tabindex="0">パターン3: セルがロックされているか確認する</a></li><li><a href="#toc19" tabindex="0">パターン4: ファイルパスをフォルダ・ファイル名・シート名に分解する</a></li></ol></li><li><a href="#toc20" tabindex="0">formatの戻り値一覧</a><ol><li><a href="#toc21" tabindex="0">数値・通貨系</a></li><li><a href="#toc22" tabindex="0">日付・時刻系</a></li></ol></li><li><a href="#toc23" tabindex="0">prefixの戻り値一覧</a></li><li><a href="#toc24" tabindex="0">よくあるエラーと注意点</a><ol><li><a href="#toc25" tabindex="0">エラーと対処法</a></li><li><a href="#toc26" tabindex="0">使うときの注意点</a></li></ol></li><li><a href="#toc27" tabindex="0">似た関数との違い・使い分け</a><ol><li><a href="#toc28" tabindex="0">CELL関数 vs TYPE関数</a></li><li><a href="#toc29" tabindex="0">CELL関数 vs ADDRESS関数</a></li><li><a href="#toc30" tabindex="0">CELL関数 vs ROW関数・COLUMN関数</a></li></ol></li><li><a href="#toc31" tabindex="0">まとめ</a><ol><li><a href="#toc32" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



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



<p class="wp-block-paragraph">読み方は「セル関数」です。英語の「cell（細胞・区画）」が語源で、Excelの「セル」と同じ意味ですね。</p>



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



<p class="wp-block-paragraph">CELL関数は、指定したセルの<strong>書式・位置・内容などの情報を取得する</strong>関数です。</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>CELL関数は Excel 2003 以降のすべてのバージョンで使えます。Microsoft 365 でも同じ書き方で動作します。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=CELL(検査の型, [参照])</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>取得したい情報の種類を文字列で指定（例: <code>"address"</code>, <code>"filename"</code>）</td></tr><tr><td>参照</td><td>省略可</td><td>情報を取得するセルの参照。省略するとアクティブセルが対象</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「検査の型」は必ずダブルクォーテーションで囲みます。<code>=CELL("address", A1)</code> のように書いてください。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>参照に範囲（例: <code>A1:C10</code>）を指定した場合は、範囲の<strong>左上のセル</strong>の情報だけが返ります。範囲全体の情報をまとめて取得することはできないので注意してくださいね。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc7">CELL関数の検査の型一覧表</span></h2>



<p class="wp-block-paragraph">CELL関数では、12種類の検査の型を使い分けます。用途別に3つのグループに分けて整理しました。</p>



<h3 class="wp-block-heading"><span id="toc8">セルの位置情報を取得する型</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>検査の型</th><th>戻り値</th><th>使用例</th></tr></thead><tbody><tr><td><code>"address"</code></td><td>セル番地を文字列で返す（例: <code>$A$1</code>）</td><td><code>=CELL("address", B3)</code> → <code>$B$3</code></td></tr><tr><td><code>"col"</code></td><td>列番号を返す</td><td><code>=CELL("col", C1)</code> → <code>3</code></td></tr><tr><td><code>"row"</code></td><td>行番号を返す</td><td><code>=CELL("row", A5)</code> → <code>5</code></td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc9">セルの書式・属性を取得する型</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>検査の型</th><th>戻り値</th><th>使用例</th></tr></thead><tbody><tr><td><code>"format"</code></td><td>表示形式に対応する文字列コードを返す（<a href="#formatの戻り値一覧">詳細は後述</a>）</td><td><code>=CELL("format", A1)</code> → <code>"G"</code></td></tr><tr><td><code>"color"</code></td><td>負の数を色付き表示する書式なら <code>1</code>、それ以外は <code>0</code></td><td><code>=CELL("color", A1)</code> → <code>0</code></td></tr><tr><td><code>"protect"</code></td><td>セルがロックされていれば <code>1</code>、されていなければ <code>0</code></td><td><code>=CELL("protect", A1)</code> → <code>1</code></td></tr><tr><td><code>"parentheses"</code></td><td>正の値をかっこで囲む書式なら <code>1</code>、それ以外は <code>0</code></td><td><code>=CELL("parentheses", A1)</code> → <code>0</code></td></tr><tr><td><code>"prefix"</code></td><td>文字列の配置に応じた記号を返す（<a href="#prefixの戻り値一覧">詳細は後述</a>）</td><td><code>=CELL("prefix", A1)</code> → <code>'</code></td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc10">セルの内容・ファイル情報を取得する型</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>検査の型</th><th>戻り値</th><th>使用例</th></tr></thead><tbody><tr><td><code>"contents"</code></td><td>セルの値をそのまま返す</td><td><code>=CELL("contents", A1)</code> → セルA1の値</td></tr><tr><td><code>"filename"</code></td><td>ファイルのフルパスを返す。未保存なら空文字</td><td><code>=CELL("filename", A1)</code> → <code>C:...[Book1.xlsx]Sheet1</code></td></tr><tr><td><code>"type"</code></td><td>値の種類を1文字で返す（<code>b</code>=空白, <code>l</code>=文字列, <code>v</code>=数値）</td><td><code>=CELL("type", A1)</code> → <code>"v"</code></td></tr><tr><td><code>"width"</code></td><td>列幅を整数で返す</td><td><code>=CELL("width", A1)</code> → <code>8</code></td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc11">基本的な使い方</span></h2>



<p class="wp-block-paragraph">ここからは、よく使う検査の型を実際の数式で確認していきましょう。</p>



<h3 class="wp-block-heading"><span id="toc12">セル番地を取得する（address）</span></h3>



<pre class="wp-block-code"><code>=CELL(&quot;address&quot;, B3)</code></pre>



<p class="wp-block-paragraph">結果: <code>$B$3</code></p>



<p class="wp-block-paragraph">セル番地が<strong>絶対参照の文字列</strong>として返ります。この結果を<a href="https://mashukabu.com/excel-function-howto-use-indirect/">INDIRECT関数</a>に渡せば、動的なセル参照を実現できますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>行番号だけ、列番号だけがほしい場合は <code>"row"</code> や <code>"col"</code> を使いましょう。<a href="https://mashukabu.com/excel-function-howto-use-address/">ADDRESS関数</a>のように参照形式を切り替える機能はありませんが、番号を取得するだけなら十分です。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc13">ファイル名とシート名を取得する（filename）</span></h3>



<pre class="wp-block-code"><code>=CELL(&quot;filename&quot;, A1)</code></pre>



<p class="wp-block-paragraph">結果の例: <code>C:UsersuserDocuments[売上データ.xlsx]4月</code></p>



<p class="wp-block-paragraph">ファイルのフルパスが返ります。フォルダパス、ファイル名、シート名がまとめて1つの文字列になっているのがポイントです。</p>



<p class="wp-block-paragraph"><strong>シート名だけを抜き出したい場合</strong>は、次の数式を使います。</p>



<pre class="wp-block-code"><code>=MID(CELL(&quot;filename&quot;,A1),FIND(&quot;]&quot;,CELL(&quot;filename&quot;,A1))+1,255)</code></pre>



<p class="wp-block-paragraph"><code>]</code> の位置を FIND関数（文字列の検索位置を返す関数）で探して、その右側を <a href="https://mashukabu.com/excel-function-howto-use-mid/">MID関数</a>で取り出しています。複数シートの管理表を作るときに重宝しますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>ファイルが未保存（新規ブック）の場合は空文字 <code>""</code> が返ります。ファイルを一度保存してから使ってくださいね。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc14">表示形式を調べる（format）</span></h3>



<pre class="wp-block-code"><code>=CELL(&quot;format&quot;, A1)</code></pre>



<p class="wp-block-paragraph">セルの表示形式に対応するコード文字列が返ります。たとえば標準なら <code>"G"</code>、パーセントなら <code>"P0"</code> です。</p>



<p class="wp-block-paragraph">「どんな書式が設定されているか、数式で判定したい」ときに使えます。条件付き書式やVBAを使わずに書式チェックができるので便利ですよ。</p>



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



<h3 class="wp-block-heading"><span id="toc16">パターン1: シート名＋日付でヘッダーを自動生成する</span></h3>



<p class="wp-block-paragraph">月別シート（4月、5月、6月&#8230;）の帳票で、ヘッダーに「4月度 売上報告（2026/03/22更新）」のような文字列を自動表示したいことがありますよね。</p>



<pre class="wp-block-code"><code>=MID(CELL(&quot;filename&quot;,A1),FIND(&quot;]&quot;,CELL(&quot;filename&quot;,A1))+1,255)&amp;&quot;度 売上報告（&quot;&amp;TEXT(TODAY(),&quot;yyyy/mm/dd&quot;)&amp;&quot;更新）&quot;</code></pre>



<p class="wp-block-paragraph">シート名と更新日が自動で反映されるので、手動でヘッダーを書き換える手間がなくなります。<a href="https://mashukabu.com/excel-function-howto-use-text/">TEXT関数</a>と組み合わせれば、日付の表示形式も自由に変更できますよ。</p>



<h3 class="wp-block-heading"><span id="toc17">パターン2: 表示形式で日付かどうかを判定する</span></h3>



<p class="wp-block-paragraph">数値セルに「日付形式」が設定されているかどうかを判定する例です。</p>



<pre class="wp-block-code"><code>=IF(LEFT(CELL(&quot;format&quot;,A1),1)=&quot;D&quot;,&quot;日付形式&quot;,&quot;日付以外&quot;)</code></pre>



<p class="wp-block-paragraph"><code>"format"</code> の戻り値が <code>"D"</code> で始まれば日付形式です。「この列は日付なのか数値なのか」を自動判定したいときに活用してみてください。</p>



<h3 class="wp-block-heading"><span id="toc18">パターン3: セルがロックされているか確認する</span></h3>



<p class="wp-block-paragraph">シートの保護をかける前に、ロック設定を一覧で確認したいときに使えます。</p>



<pre class="wp-block-code"><code>=IF(CELL(&quot;protect&quot;,A1)=1,&quot;ロック済み&quot;,&quot;ロック解除&quot;)</code></pre>



<p class="wp-block-paragraph">保護をかけたあとに「あれ、このセルは入力できるようにしたはず」というトラブルを防げますよ。</p>



<h3 class="wp-block-heading"><span id="toc19">パターン4: ファイルパスをフォルダ・ファイル名・シート名に分解する</span></h3>



<p class="wp-block-paragraph">CELL関数の <code>"filename"</code> の結果を3つの部分に分解するテクニックです。</p>



<pre class="wp-block-code"><code>フォルダパス: =LEFT(CELL(&quot;filename&quot;,A1),FIND(&quot;[&quot;,CELL(&quot;filename&quot;,A1))-1)
ファイル名:   =MID(CELL(&quot;filename&quot;,A1),FIND(&quot;[&quot;,CELL(&quot;filename&quot;,A1))+1,FIND(&quot;]&quot;,CELL(&quot;filename&quot;,A1))-FIND(&quot;[&quot;,CELL(&quot;filename&quot;,A1))-1)
シート名:     =MID(CELL(&quot;filename&quot;,A1),FIND(&quot;]&quot;,CELL(&quot;filename&quot;,A1))+1,255)</code></pre>



<p class="wp-block-paragraph"><code>[</code> と <code>]</code> の位置を基準にして切り分けています。ファイル管理表を作るときにまとめて使うと便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc20">formatの戻り値一覧</span></h2>



<p class="wp-block-paragraph"><code>=CELL("format", 参照)</code> で返るコード文字列の一覧です。表示形式ごとに異なるコードが返ります。</p>



<h3 class="wp-block-heading"><span id="toc21">数値・通貨系</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>表示形式</th><th>戻り値</th><th>説明</th></tr></thead><tbody><tr><td>標準</td><td><code>G</code></td><td>デフォルトの表示形式</td></tr><tr><td><code>0</code></td><td><code>F0</code></td><td>小数なし</td></tr><tr><td><code>0.00</code></td><td><code>F2</code></td><td>小数2桁</td></tr><tr><td><code>#,##0</code></td><td><code>,0</code></td><td>桁区切り・小数なし</td></tr><tr><td><code>#,##0.00</code></td><td><code>,2</code></td><td>桁区切り・小数2桁</td></tr><tr><td><code>$#,##0_);($#,##0)</code></td><td><code>C0</code></td><td>通貨・小数なし</td></tr><tr><td><code>$#,##0_);<a href="$#,##0">赤</a></code></td><td><code>C0-</code></td><td>通貨・負の数が赤</td></tr><tr><td><code>$#,##0.00_);($#,##0.00)</code></td><td><code>C2</code></td><td>通貨・小数2桁</td></tr><tr><td><code>$#,##0.00_);<a href="$#,##0.00">赤</a></code></td><td><code>C2-</code></td><td>通貨・負の数が赤</td></tr><tr><td><code>0%</code></td><td><code>P0</code></td><td>パーセント・小数なし</td></tr><tr><td><code>0.00%</code></td><td><code>P2</code></td><td>パーセント・小数2桁</td></tr><tr><td><code>0.00E+00</code></td><td><code>S2</code></td><td>指数表示</td></tr><tr><td><code># ?/?</code> または <code># ??/??</code></td><td><code>G</code></td><td>分数</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc22">日付・時刻系</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>表示形式</th><th>戻り値</th><th>説明</th></tr></thead><tbody><tr><td><code>m/d/yy</code> <code>m/d/yy h:mm</code> <code>mm/dd/yy</code></td><td><code>D4</code></td><td>日付（スラッシュ区切り）</td></tr><tr><td><code>d-mmm-yy</code> <code>dd-mmm-yy</code></td><td><code>D1</code></td><td>日付（英語月略称）</td></tr><tr><td><code>d-mmm</code> <code>dd-mmm</code></td><td><code>D2</code></td><td>日付（日-月のみ）</td></tr><tr><td><code>mmm-yy</code></td><td><code>D3</code></td><td>日付（月-年）</td></tr><tr><td><code>mm/dd</code></td><td><code>D5</code></td><td>日付（月/日のみ）</td></tr><tr><td><code>h:mm AM/PM</code></td><td><code>D7</code></td><td>時刻（12時間制）</td></tr><tr><td><code>h:mm:ss AM/PM</code></td><td><code>D6</code></td><td>時刻（12時間制・秒あり）</td></tr><tr><td><code>h:mm</code></td><td><code>D9</code></td><td>時刻（24時間制）</td></tr><tr><td><code>h:mm:ss</code></td><td><code>D8</code></td><td>時刻（24時間制・秒あり）</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>D</code> で始まっていれば日付・時刻系の書式です。<code>LEFT(CELL("format",A1),1)="D"</code> で日付かどうかを判定できますよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc23">prefixの戻り値一覧</span></h2>



<p class="wp-block-paragraph"><code>=CELL("prefix", 参照)</code> で返る記号の一覧です。セル内の文字列の配置（文字寄せ）に対応しています。</p>



<figure class="wp-block-table"><table><thead><tr><th>文字の配置</th><th>戻り値</th><th>記号の名前</th></tr></thead><tbody><tr><td>左詰め</td><td><code>'</code></td><td>シングルクォーテーション</td></tr><tr><td>右詰め</td><td><code>"</code></td><td>ダブルクォーテーション</td></tr><tr><td>中央揃え</td><td><code>^</code></td><td>キャレット</td></tr><tr><td>両端揃え</td><td><code></code></td><td>バックスラッシュ</td></tr><tr><td>文字列以外のデータ</td><td>（空文字）</td><td>&#8211;</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><code>"prefix"</code> はセルに文字列が入っているときだけ配置記号を返します。数値や数式の結果が入っているセルでは空文字が返りますよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc24">よくあるエラーと注意点</span></h2>



<h3 class="wp-block-heading"><span id="toc25">エラーと対処法</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#VALUE!</code> エラー</td><td>検査の型のスペルミス（例: <code>"adress"</code>）</td><td>正しいスペルを確認してください。<code>"address"</code> の <code>d</code> は2つです</td></tr><tr><td>空文字が返る</td><td><code>"filename"</code> で未保存ファイルを参照した</td><td>ファイルを一度保存してから再計算してください</td></tr><tr><td>値が更新されない</td><td>手動計算モードになっている</td><td><code>Ctrl + Shift + F9</code> で強制再計算するか、自動計算モードに切り替えてください</td></tr><tr><td>範囲を指定したのに1つしか返らない</td><td>参照に範囲を指定すると左上セルの情報だけ返る仕様</td><td>セルを1つずつ指定してください</td></tr><tr><td><code>"type"</code> で <code>"v"</code> が返るのに計算できない</td><td>日付シリアル値も <code>"v"</code>（数値）として扱われる</td><td>日付かどうかは <code>"format"</code> の戻り値で判定してください</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc26">使うときの注意点</span></h3>



<p class="wp-block-paragraph">CELL関数を使うときに知っておきたいポイントを3つ紹介します。</p>



<ul class="wp-block-list"><li><strong>揮発性関数であること</strong>: シート上のどこかが変更されるたびに再計算されます。大量に使うとExcelの動作が重くなることがあるので、必要なセルだけに絞って使いましょう。</li><li><strong>参照を省略するとアクティブセルが対象になる</strong>: セルを選択するたびに結果が変わります。参照は明示的に指定しておくのがおすすめです。</li><li><strong>書式変更だけでは結果が更新されないことがある</strong>: <code>F9</code> キーで再計算するか、<code>Ctrl + Shift + F9</code> で強制再計算してみてください。</li></ul>



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



<p class="wp-block-paragraph">CELL関数に似た機能を持つ関数がいくつかあります。「どれを使えばいいの？」と迷ったときの判断基準をまとめました。</p>



<h3 class="wp-block-heading"><span id="toc28">CELL関数 vs TYPE関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>CELL関数</th><th><a href="https://mashukabu.com/excel-function-howto-use-type/">TYPE関数</a></th></tr></thead><tbody><tr><td>目的</td><td>セルの書式・位置・内容などの<strong>総合情報</strong>を取得</td><td>セルの<strong>データ型だけ</strong>を判別</td></tr><tr><td>戻り値</td><td>検査の型ごとに文字列・数値が変わる</td><td>数値コード（1=数値, 2=文字列, 4=論理値, 16=エラー, 64=配列）</td></tr><tr><td>データ型の判別</td><td><code>"type"</code> で大まかに判別（b/l/vの3種類）</td><td>5種類を細かく判別</td></tr><tr><td>使い分け</td><td>セルの「書式」「位置」「ファイル名」が必要なとき</td><td>セルの「データの種類」を正確に知りたいとき</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-type/">TYPE関数</a>がおすすめです。CELL関数の <code>"type"</code> は空白・文字列・それ以外の3分類しかできません。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc29">CELL関数 vs ADDRESS関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>CELL関数</th><th><a href="https://mashukabu.com/excel-function-howto-use-address/">ADDRESS関数</a></th></tr></thead><tbody><tr><td>セル番地の取得</td><td><code>"address"</code> で既存セルの番地を文字列で取得</td><td>行番号と列番号を指定して番地を<strong>生成</strong></td></tr><tr><td>参照形式の指定</td><td>絶対参照のみ（<code>$A$1</code>形式固定）</td><td>絶対・相対・混合を自由に切り替え可能</td></tr><tr><td>シート名の付加</td><td>不可</td><td>第5引数でシート名を指定可能</td></tr><tr><td>使い分け</td><td>既存セルの情報を調べたいとき</td><td>行列番号からセル番地を組み立てたいとき</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc30">CELL関数 vs ROW関数・COLUMN関数</span></h3>



<p class="wp-block-paragraph">行番号・列番号を取得するだけなら、<a href="https://mashukabu.com/excel-function-howto-use-row/">ROW関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-column/">COLUMN関数</a>のほうがシンプルです。</p>



<pre class="wp-block-code"><code>=CELL(&quot;row&quot;, A5)    '→ 5（CELL関数で行番号）
=ROW(A5)            '→ 5（ROW関数で行番号）</code></pre>



<p class="wp-block-paragraph">結果は同じですが、ROW関数のほうが短く書けます。CELL関数は「行番号以外の情報も同時に使う場面」で選んでみてください。</p>



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



<p class="wp-block-paragraph">ExcelのCELL関数は、セルの書式・位置・ファイル名などの情報を取得する関数です。</p>



<ul class="wp-block-list"><li>12種類の「検査の型」で取得する情報を切り替える</li><li><code>"filename"</code> でファイルパスとシート名を取得できる</li><li><code>"format"</code> でセルの表示形式コードを判定できる</li><li><code>"address"</code> / <code>"row"</code> / <code>"col"</code> でセルの位置情報を取得できる</li><li>揮発性関数なので、大量に使うとパフォーマンスに影響する</li></ul>



<p class="wp-block-paragraph">データ型を詳しく判別したい場合は<a href="https://mashukabu.com/excel-function-howto-use-type/">TYPE関数</a>、行列番号からセル番地を生成したい場合は<a href="https://mashukabu.com/excel-function-howto-use-address/">ADDRESS関数</a>もあわせてチェックしてみてください。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-type/">TYPE関数の使い方｜データ型を数値コードで判別する</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-address/">ADDRESS関数の使い方｜行番号と列番号からセル番地を生成する</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-indirect/">INDIRECT関数の使い方｜文字列をセル参照に変換する</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-row/">ROW関数の使い方｜行番号の取得から連番・応用まで解説</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-column/">COLUMN関数の使い方｜列番号を調べる</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-mid/">MID関数の使い方｜文字列の途中から文字を取り出す</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-text/">TEXT関数の使い方｜表示形式コードで日付・数値を自在に変換</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-cell/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのINFO関数の使い方｜検査の種類と返り値を一覧で解説</title>
		<link>https://mashukabu.com/excel-function-howto-use-info/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-info/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 28 Jun 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[CELL関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[INFO関数]]></category>
		<category><![CDATA[情報関数]]></category>
		<category><![CDATA[検査の種類]]></category>
		<category><![CDATA[環境情報]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2289</guid>

					<description><![CDATA[ExcelのINFO関数の使い方を解説。検査の種類7つ（directory・numfile・osversion・system等）の戻り値一覧、Windows/Mac混在職場での活用例、#N/Aエラーの原因と対処法を網羅。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「WindowsかMacか、セル上でサッと確認できたらいいのに」<br>「再計算モードが手動になってて数式が更新されない！」――こんな経験はありませんか？</p>



<p class="wp-block-paragraph">設定画面をわざわざ開くのは面倒ですよね。しかも共有ブックだと、相手の環境がわからずトラブル対応に手間取ることも。</p>



<p class="wp-block-paragraph">そんなときに役立つのがINFO関数です。セルに数式を入力するだけで、ExcelやOSの環境情報を一発で取得できます。この記事では、検査の種類7つの返り値を一覧で整理し、実務での活用例やエラー対処法まで解説します。</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">ExcelのINFO関数とは</a></li><li><a href="#toc2" tabindex="0">INFO関数の構文と引数</a></li><li><a href="#toc3" tabindex="0">検査の種類7つ｜返り値と使用例</a><ol><li><a href="#toc4" tabindex="0">directory（現在のフォルダパス）</a></li><li><a href="#toc5" tabindex="0">numfile（開いている全シート数）</a></li><li><a href="#toc6" tabindex="0">osversion（OSバージョン）</a></li><li><a href="#toc7" tabindex="0">recalc（再計算モード）</a></li><li><a href="#toc8" tabindex="0">release（Excelバージョン）</a></li><li><a href="#toc9" tabindex="0">system（OS種類）</a></li><li><a href="#toc10" tabindex="0">origin（表示セルの位置）</a></li></ol></li><li><a href="#toc11" tabindex="0">実務での活用例</a><ol><li><a href="#toc12" tabindex="0">WindowsかMacかを判定する</a></li><li><a href="#toc13" tabindex="0">再計算モードが手動になっていないか確認する</a></li><li><a href="#toc14" tabindex="0">環境情報を一覧で表示する</a></li></ol></li><li><a href="#toc15" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc16" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc17" tabindex="0">#N/A エラー</a></li></ol></li><li><a href="#toc18" tabindex="0">CELL関数・SHEET関数との使い分け</a></li><li><a href="#toc19" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">INFO関数は、Excelの動作環境に関する情報を返す関数です。読み方は「インフォ」で、Information（情報）の略ですね。</p>



<p class="wp-block-paragraph">取得できるのは、OSの種類やバージョン、再計算モードなどです。<a href="https://mashukabu.com/excel-function-howto-use-cell/">CELL関数</a>が特定のセルの情報を返すのに対し、INFO関数はアプリケーションやOS全体の情報を返すのが特徴ですよ。</p>



<p class="wp-block-paragraph">対応バージョンはExcel 2016以降とMicrosoft 365です。<strong>Excel Online（Web版）では使用できない</strong>ので注意してください。</p>



<h2 class="wp-block-heading"><span id="toc2">INFO関数の構文と引数</span></h2>



<p class="wp-block-paragraph">基本の構文はこちらです。</p>



<pre class="wp-block-code"><code>=INFO(検査の種類)</code></pre>



<p class="wp-block-paragraph">引数は「検査の種類」の1つだけとシンプルです。文字列で指定するため、必ずダブルクォーテーション（<code>"</code>）で囲んでください。</p>



<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></tbody></table></figure>



<p class="wp-block-paragraph">指定できる検査の種類は全部で7つあります。次のセクションで、それぞれの返り値と使い方を見ていきましょう。</p>



<h2 class="wp-block-heading"><span id="toc3">検査の種類7つ｜返り値と使用例</span></h2>



<p class="wp-block-paragraph">INFO関数で指定できる検査の種類をまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>検査の種類</th><th>取得できる情報</th><th>返り値の例</th></tr></thead><tbody><tr><td><code>"directory"</code></td><td>現在のフォルダパス</td><td><code>C:UsersuserDocuments</code></td></tr><tr><td><code>"numfile"</code></td><td>開いている全ブックのシート合計数</td><td><code>3</code></td></tr><tr><td><code>"osversion"</code></td><td>OSのバージョン</td><td>OS依存の文字列</td></tr><tr><td><code>"recalc"</code></td><td>再計算モード</td><td><code>自動</code> または <code>手動</code></td></tr><tr><td><code>"release"</code></td><td>Excelのバージョン</td><td><code>16.0</code></td></tr><tr><td><code>"system"</code></td><td>OSの種類</td><td><code>pcdos</code> または <code>mac</code></td></tr><tr><td><code>"origin"</code></td><td>表示セルの位置</td><td><code>$A$1</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">それぞれ詳しく解説していきますね。</p>



<h3 class="wp-block-heading"><span id="toc4">directory（現在のフォルダパス）</span></h3>



<p class="wp-block-paragraph">ファイルが保存されているフォルダのパスを返します。</p>



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



<p class="wp-block-paragraph">返り値の例: <code>C:UsersuserDocuments</code></p>



<p class="wp-block-paragraph">未保存のブックで実行した場合は、Excelの既定の保存先が返ります。「このファイル、どこに保存したっけ？」というときに便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc5">numfile（開いている全シート数）</span></h3>



<p class="wp-block-paragraph">現在開いているすべてのブックに含まれるワークシートの合計数を返します。</p>



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



<p class="wp-block-paragraph">ポイントは「ブック数」ではなく「シートの合計数」という点です。たとえばシート3枚のブックを2つ開いていたら、返り値は <code>6</code> になります。</p>



<p class="wp-block-paragraph">単一ブックのシート数を知りたい場合は、他のブックを閉じてから確認してくださいね。</p>



<h3 class="wp-block-heading"><span id="toc6">osversion（OSバージョン）</span></h3>



<p class="wp-block-paragraph">使用しているOSのバージョン情報を文字列で返します。</p>



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



<p class="wp-block-paragraph">WindowsならWindowsのバージョン情報、macOSならmacOSのバージョンが返ります。トラブル報告の際に「どのOSバージョンで発生したか」を記録するのに使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc7">recalc（再計算モード）</span></h3>



<p class="wp-block-paragraph">ブックの再計算モード（自動/手動）を返します。</p>



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



<p class="wp-block-paragraph">日本語版Excelでは <code>自動</code> または <code>手動</code> が返ります。英語版では <code>Automatic</code> または <code>Manual</code> です。返り値がExcelの言語設定に依存する点に注意してください。</p>



<p class="wp-block-paragraph">再計算が「手動」になっていると、数式の計算結果が更新されません。共有ブックでの思わぬトラブル防止に役立つ検査の種類です。</p>



<h3 class="wp-block-heading"><span id="toc8">release（Excelバージョン）</span></h3>



<p class="wp-block-paragraph">Excelのバージョン番号を文字列で返します。</p>



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



<p class="wp-block-paragraph">主なバージョンと返り値の対応はこちらです。</p>



<figure class="wp-block-table"><table><thead><tr><th>Excelバージョン</th><th>返り値</th></tr></thead><tbody><tr><td>Excel 2010</td><td><code>14.0</code></td></tr><tr><td>Excel 2013</td><td><code>15.0</code></td></tr><tr><td>Excel 2016以降 / Microsoft 365</td><td><code>16.0</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">バージョン固有の機能を使っているブックで、相手の環境を確認したいときに便利です。</p>



<h3 class="wp-block-heading"><span id="toc9">system（OS種類）</span></h3>



<p class="wp-block-paragraph">OSの種類を短い文字列で返します。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>OS</th><th>返り値</th></tr></thead><tbody><tr><td>Windows</td><td><code>pcdos</code></td></tr><tr><td>Mac</td><td><code>mac</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">この返り値はExcelの言語設定に関係なく固定です。日本語版でも英語版でも同じ値が返るので、IF関数と組み合わせた条件分岐に最適ですよ。</p>



<h3 class="wp-block-heading"><span id="toc10">origin（表示セルの位置）</span></h3>



<p class="wp-block-paragraph">現在ウィンドウに表示されている範囲の左上セルの位置を返します。</p>



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



<p class="wp-block-paragraph">返り値の例: <code>$A$1</code></p>



<p class="wp-block-paragraph">スクロール位置によって返り値が変わります。実務での使用頻度は低めですが、VBAでスクロール位置を記録する用途などで使われることがあります。</p>



<h2 class="wp-block-heading"><span id="toc11">実務での活用例</span></h2>



<p class="wp-block-paragraph">ここからは、INFO関数を使った実践的な活用例を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc12">WindowsかMacかを判定する</span></h3>



<p class="wp-block-paragraph">IF関数と組み合わせれば、OSに応じたメッセージを表示できます。</p>



<pre class="wp-block-code"><code>=IF(INFO(&quot;system&quot;)=&quot;pcdos&quot;,&quot;Windows環境です&quot;,&quot;Mac環境です&quot;)</code></pre>



<p class="wp-block-paragraph">WindowsとMacではファイルパスの区切り文字が異なります。Windowsは <code></code>（バックスラッシュ）、Macは <code>/</code>（スラッシュ）です。</p>



<p class="wp-block-paragraph">共有ブックでパスを動的に切り替えたいとき、この判定が役立ちますよ。<code>"system"</code> の返り値は言語設定に左右されないので、海外拠点との共有ブックでも安心です。</p>



<h3 class="wp-block-heading"><span id="toc13">再計算モードが手動になっていないか確認する</span></h3>



<p class="wp-block-paragraph">「数式を入力したのに結果が変わらない！」という問い合わせ、よくありますよね。原因の多くは再計算モードが「手動」になっていることです。</p>



<pre class="wp-block-code"><code>=IF(INFO(&quot;recalc&quot;)=&quot;手動&quot;,&quot;⚠ 再計算が手動です&quot;,&quot;自動（正常）&quot;)</code></pre>



<p class="wp-block-paragraph">チーム共有のブックにこの数式を仕込んでおけば、トラブルを未然に防げます。</p>



<p class="wp-block-paragraph">ただし、この数式は日本語版Excel専用です。英語版と混在する環境では、次のように書くとどちらにも対応できます。</p>



<pre class="wp-block-code"><code>=IF(OR(INFO(&quot;recalc&quot;)=&quot;手動&quot;,INFO(&quot;recalc&quot;)=&quot;Manual&quot;),&quot;⚠ 再計算が手動です&quot;,&quot;自動（正常）&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc14">環境情報を一覧で表示する</span></h3>



<p class="wp-block-paragraph">複数のINFO関数をまとめて配置すれば、環境情報の一覧表を作れます。</p>



<p class="wp-block-paragraph">A列に項目名、B列に数式を入力してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>項目名</th><th>数式</th></tr></thead><tbody><tr><td>A1 / B1</td><td>OS種類</td><td><code>=INFO("system")</code></td></tr><tr><td>A2 / B2</td><td>OSバージョン</td><td><code>=INFO("osversion")</code></td></tr><tr><td>A3 / B3</td><td>Excelバージョン</td><td><code>=INFO("release")</code></td></tr><tr><td>A4 / B4</td><td>再計算モード</td><td><code>=INFO("recalc")</code></td></tr><tr><td>A5 / B5</td><td>保存先</td><td><code>=INFO("directory")</code></td></tr><tr><td>A6 / B6</td><td>開いているシート数</td><td><code>=INFO("numfile")</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">トラブル対応で「どの環境で問題が起きたか」を報告するとき、このシートをスクリーンショットで送れば一目瞭然です。ヘルプデスクや情シス対応の効率化に使えますよ。</p>



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



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



<p class="wp-block-paragraph">存在しない検査の種類を指定すると <code>#VALUE!</code> エラーになります。</p>



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



<p class="wp-block-paragraph">この例では <code>"memory"</code> という検査の種類が存在しないためエラーです。検査の種類は7つに限定されているので、スペルミスがないか確認してください。</p>



<p class="wp-block-paragraph">よくあるミスとして、<code>"system"</code> を <code>"os"</code> と書いたり、<code>"release"</code> を <code>"version"</code> と書いたりするケースがあります。</p>



<h3 class="wp-block-heading"><span id="toc17">#N/A エラー</span></h3>



<p class="wp-block-paragraph">以前のExcelで使えた検査の種類を指定すると <code>#N/A</code> エラーが返ります。</p>



<figure class="wp-block-table"><table><thead><tr><th>廃止された検査の種類</th><th>旧来の用途</th></tr></thead><tbody><tr><td><code>"memavail"</code></td><td>使用可能メモリ</td></tr><tr><td><code>"memused"</code></td><td>使用中メモリ</td></tr><tr><td><code>"totmem"</code></td><td>合計メモリ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">これら3つはメモリ関連の情報を返す検査の種類でしたが、現在のExcelではサポートされていません。古いマクロやテンプレートに残っている場合は削除してくださいね。</p>



<h2 class="wp-block-heading"><span id="toc18">CELL関数・SHEET関数との使い分け</span></h2>



<p class="wp-block-paragraph">INFO関数と似た機能を持つ関数との違いを整理しました。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>INFO関数</th><th><a href="https://mashukabu.com/excel-function-howto-use-cell/">CELL関数</a></th><th><a href="https://mashukabu.com/excel-function-howto-use-sheet/">SHEET関数</a></th></tr></thead><tbody><tr><td>取得対象</td><td>アプリ・OS環境全体</td><td>特定セルの情報</td><td>シート番号</td></tr><tr><td>引数</td><td>検査の種類</td><td>検査の種類, [対象範囲]</td><td>[シート名]</td></tr><tr><td>主な用途</td><td>環境チェック・OS判定</td><td>セルの書式・参照先確認</td><td>シート順の確認・管理</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">使い分けのポイントはこちらです。</p>



<ul class="wp-block-list"><li><strong>OS・Excelのバージョンを知りたい</strong> → INFO関数</li><li><strong>特定セルの書式や参照先を調べたい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-cell/">CELL関数</a></li><li><strong>シートの番号や枚数を確認したい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-sheet/">SHEET関数</a></li><li><strong>セルに入っているデータの型を判定したい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-type/">TYPE関数</a></li></ul>



<p class="wp-block-paragraph">INFO関数は「アプリケーション全体の情報」、CELL関数は「個々のセルの情報」と覚えておくとわかりやすいですよ。</p>



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



<p class="wp-block-paragraph">INFO関数は、ExcelやOSの環境情報をセル上でサッと取得できる関数です。</p>



<p class="wp-block-paragraph">押さえておきたいポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=INFO("検査の種類")</code> で、引数は1つだけ</li><li>検査の種類は7つ（directory / numfile / origin / osversion / recalc / release / system）</li><li><code>"system"</code> はOS判定に最適。返り値は言語設定に依存しない</li><li><code>"recalc"</code> は再計算モードの確認に便利。ただし返り値は言語依存</li><li>Excel Online（Web版）では使用不可</li><li>廃止された検査の種類（memavail / memused / totmem）は <code>#N/A</code> を返す</li></ul>



<p class="wp-block-paragraph">WindowsとMacが混在する職場や、チーム共有ブックのトラブル防止に活用してみてください。</p>



<p class="wp-block-paragraph">Excel関数の全体像を知りたい方は、<a href="https://mashukabu.com/excel-function/">Excel関数一覧</a>も参考にしてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-info/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのTYPE関数の使い方｜データ型判別とIS系関数との違いを解説</title>
		<link>https://mashukabu.com/excel-function-howto-use-type/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-type/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 13 Jun 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[CELL関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[ISNUMBER関数]]></category>
		<category><![CDATA[ISTEXT関数]]></category>
		<category><![CDATA[TYPE関数]]></category>
		<category><![CDATA[データ型]]></category>
		<category><![CDATA[情報関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2214</guid>

					<description><![CDATA[ExcelのTYPE関数の使い方を実例つきで丁寧に解説。戻り値コード（1=数値・2=文字列・4=論理値・16=エラー・64=配列）の意味から、日付・空白・文字列数字でのハマりポイント3選、ISNUMBER・ISTEXT・CELL関数との使い分け方まで徹底解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「このセルは数値のはずなのに、SUM関数で合計できない&#8230;&#8230;」</p>



<p class="wp-block-paragraph">Excelを使っていると、こんな場面に出くわすことがありますよね。見た目が同じでもデータ型が違えば、計算や集計はうまくいきません。しかもデータ型は見た目では判断できないのがやっかいなところです。</p>



<p class="wp-block-paragraph">そんなときに活躍するのがExcelの<strong>TYPE関数</strong>です。セルに入っている値のデータ型を数値コードで返してくれるので、「このセルには何が入っているのか」を一発で確認できます。</p>



<p class="wp-block-paragraph">この記事では、TYPE関数の基本構文からCSVデータ品質チェックの実践手順まで解説します。さらにCELL関数やIS系関数との使い分けもまとめて紹介しますね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>この記事は次のような人におすすめ<br>&#8211; セルのデータ型（数値・文字列・論理値）を調べたい<br>&#8211; CSVインポート後のデータ品質を効率よくチェックしたい<br>&#8211; TYPE関数とIS系関数のどちらを使うべきか迷っている</p></blockquote>




  <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">ExcelのTYPE関数とは？基本構文と戻り値一覧</a><ol><li><a href="#toc2" tabindex="0">TYPE関数の構文</a></li><li><a href="#toc3" tabindex="0">戻り値コード早見表（1・2・4・16・64・128）</a></li><li><a href="#toc4" tabindex="0">なぜTYPE関数が必要なのか</a></li></ol></li><li><a href="#toc5" tabindex="0">TYPE関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">数値・文字列・論理値を判別する</a></li><li><a href="#toc7" tabindex="0">IF関数と組み合わせてデータ型に応じた処理をする</a></li></ol></li><li><a href="#toc8" tabindex="0">TYPE関数の3大ハマりポイント</a><ol><li><a href="#toc9" tabindex="0">日付を入れると「1（数値）」が返る理由</a></li><li><a href="#toc10" tabindex="0">空白セルで「1」が返るケースと対処法</a></li><li><a href="#toc11" tabindex="0">文字列数字（&#8217;123）は「2（文字列）」になる</a></li></ol></li><li><a href="#toc12" tabindex="0">実務活用：CSVデータ品質チェック3ステップ</a><ol><li><a href="#toc13" tabindex="0">Step1：TYPE関数で型をリストアップする</a></li><li><a href="#toc14" tabindex="0">Step2：IF関数でNG行にフラグを立てる</a></li><li><a href="#toc15" tabindex="0">Step3：COUNTIFで異常件数を集計する</a></li></ol></li><li><a href="#toc16" tabindex="0">CELL関数の&#8221;type&#8221;との違いと使い分け</a><ol><li><a href="#toc17" tabindex="0">CELL(&#8220;type&#8221;,A1)の戻り値との対応表</a></li><li><a href="#toc18" tabindex="0">どちらを使うべき場面の判断軸</a></li></ol></li><li><a href="#toc19" tabindex="0">TYPE関数とIS系関数の使い分け方</a><ol><li><a href="#toc20" tabindex="0">ISNUMBER・ISTEXTとの違い</a></li><li><a href="#toc21" tabindex="0">使い分けチャート</a></li></ol></li><li><a href="#toc22" tabindex="0">まとめ</a><ol><li><a href="#toc23" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのTYPE関数とは？基本構文と戻り値一覧</span></h2>



<p class="wp-block-paragraph">TYPE（タイプ）関数は、指定した値の<strong>データ型を数値コードで返す</strong>情報関数です。&#8221;TYPE&#8221;は英語で「型・種類」を意味します。数値なら1、文字列なら2、論理値なら4のように、データの種類に応じた番号を返します。</p>



<p class="wp-block-paragraph">「このセルに何が入っているのか」を調べたいとき、TYPE関数を使えばデータ型を客観的に判定できます。</p>



<h3 class="wp-block-heading"><span id="toc2">TYPE関数の構文</span></h3>



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



<p class="wp-block-paragraph">引数は<strong>値</strong>の1つだけです。省略はできません。セル参照、直接入力した値、数式の結果のいずれも指定できます。</p>



<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></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>TYPE関数はExcel 2003以降のすべてのバージョンで使えます。Microsoft 365でも同じ書き方で動作しますよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc3">戻り値コード早見表（1・2・4・16・64・128）</span></h3>



<p class="wp-block-paragraph">TYPE関数が返す数値コードは6種類あります。</p>



<figure class="wp-block-table"><table><thead><tr><th>戻り値</th><th>データ型</th><th>具体例</th></tr></thead><tbody><tr><td>1</td><td>数値</td><td>100、-5、3.14、日付</td></tr><tr><td>2</td><td>文字列（テキスト）</td><td>&#8220;東京&#8221;、&#8221;abc&#8221;、&#8217;123</td></tr><tr><td>4</td><td>論理値</td><td>TRUE、FALSE</td></tr><tr><td>16</td><td>エラー値</td><td>#N/A、#VALUE!、#REF!</td></tr><tr><td>64</td><td>配列</td><td>{1,2,3}</td></tr><tr><td>128</td><td>複合データ</td><td>Excelの特殊なデータ型</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">よく使うのは1（数値）と2（文字列）の2つです。この2つだけ覚えておけば、実務では十分やっていけます。</p>



<h3 class="wp-block-heading"><span id="toc4">なぜTYPE関数が必要なのか</span></h3>



<p class="wp-block-paragraph">Excelでは見た目が同じでも、データ型が違うケースがよくあります。たとえばセルに「123」と表示されていても、数値の123と文字列の&#8221;123&#8243;ではまったく別物です。</p>



<p class="wp-block-paragraph">文字列の&#8221;123&#8243;はSUM関数で合計されません。VLOOKUP関数でも検索値と型が一致しないとヒットしません。こうした「見た目で判別できない型の違い」を発見するのがTYPE関数の役割です。</p>



<p class="wp-block-paragraph">とくにCSVファイルのインポート後は要注意です。Excelが文字列を数値に自動変換したり、逆に数値が文字列のまま残ったりすることがあります。TYPE関数でデータ型を確認するクセをつけておくと、集計トラブルを未然に防げますよ。</p>



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



<h3 class="wp-block-heading"><span id="toc6">数値・文字列・論理値を判別する</span></h3>



<p class="wp-block-paragraph">まずはシンプルな例で動きを確認してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列の値</th><th>数式</th><th>結果</th><th>意味</th></tr></thead><tbody><tr><td>100</td><td>=TYPE(A2)</td><td>1</td><td>数値</td></tr><tr><td>東京</td><td>=TYPE(A3)</td><td>2</td><td>文字列</td></tr><tr><td>TRUE</td><td>=TYPE(A4)</td><td>4</td><td>論理値</td></tr><tr><td>#N/A</td><td>=TYPE(A5)</td><td>16</td><td>エラー値</td></tr><tr><td>2026/3/22</td><td>=TYPE(A6)</td><td>1</td><td>日付（数値）</td></tr><tr><td>（空白）</td><td>=TYPE(A7)</td><td>1</td><td>空白（数値扱い）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">セル参照で使うのがもっとも基本的な使い方です。</p>



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



<p class="wp-block-paragraph">数式の結果を直接判定することもできます。VLOOKUPが成功して数値を返せば1、#N/Aエラーなら16が返ります。</p>



<pre class="wp-block-code"><code>=TYPE(VLOOKUP(&quot;商品A&quot;,A:B,2,0))</code></pre>



<h3 class="wp-block-heading"><span id="toc7">IF関数と組み合わせてデータ型に応じた処理をする</span></h3>



<p class="wp-block-paragraph">TYPE関数の戻り値を<a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>の条件に使うと、データ型に応じた処理の分岐ができます。</p>



<pre class="wp-block-code"><code>=IF(TYPE(A2)=1,A2*1.1,&quot;対象外&quot;)</code></pre>



<p class="wp-block-paragraph">この数式は、セルA2が数値（戻り値1）なら1.1倍の値を計算します。数値以外なら「対象外」を返します。</p>



<p class="wp-block-paragraph">SWITCH関数と組み合わせれば、複数のデータ型を一度に分岐させることも可能です。</p>



<pre class="wp-block-code"><code>=SWITCH(TYPE(A2),1,&quot;数値&quot;,2,&quot;文字列&quot;,4,&quot;論理値&quot;,16,&quot;エラー&quot;,&quot;その他&quot;)</code></pre>



<p class="wp-block-paragraph">戻り値の番号を覚えなくても、データ型名を直接表示できるので便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc8">TYPE関数の3大ハマりポイント</span></h2>



<p class="wp-block-paragraph">TYPE関数そのものでエラーが出ることはほとんどありません。ただし、戻り値の解釈で「あれ？」と思う場面があります。よくあるハマりポイントを3つ押さえておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc9">日付を入れると「1（数値）」が返る理由</span></h3>



<p class="wp-block-paragraph">日付セルにTYPE関数を使うと、戻り値は<strong>1（数値）</strong>です。「日付なのに数値？」と思うかもしれません。</p>



<p class="wp-block-paragraph">これはExcelの仕様です。Excelの日付は内部的にシリアル値（連番の数値）で管理されています。たとえば2026/3/22は内部的には46097という数値です。表示形式で日付に見えているだけなので、TYPE関数は正しく1を返します。</p>



<p class="wp-block-paragraph">日付かどうかを判定したい場合は、別の方法を検討してください。CELL関数やTEXT関数を組み合わせるアプローチが有効ですよ。</p>



<h3 class="wp-block-heading"><span id="toc10">空白セルで「1」が返るケースと対処法</span></h3>



<p class="wp-block-paragraph">空白セルにTYPE関数を使っても、戻り値は<strong>1（数値）</strong>です。空白セルはExcel内部で数値の0として扱われるためです。</p>



<p class="wp-block-paragraph">「空白かどうか」を判定したい場合は、TYPE関数だけでは対応できません。<a href="https://mashukabu.com/excel-function-howto-use-isblank/">ISBLANK関数</a>を併用しましょう。</p>



<pre class="wp-block-code"><code>=IF(ISBLANK(A2),&quot;空白&quot;,TYPE(A2))</code></pre>



<p class="wp-block-paragraph">この数式なら、空白セルは「空白」と表示されます。空白でなければTYPE関数の戻り値を返します。空白と数値を区別したいときの定番パターンです。</p>



<h3 class="wp-block-heading"><span id="toc11">文字列数字（&#8217;123）は「2（文字列）」になる</span></h3>



<p class="wp-block-paragraph">セルに「&#8217;123」のようにアポストロフィ付きで入力された数字は、見た目は123ですが内部的には文字列です。TYPE関数は正しく<strong>2（文字列）</strong>を返します。</p>



<p class="wp-block-paragraph">これはバグではなく正しい動作です。文字列型の数字はSUM関数で合計されません。数値に変換したい場合は、VALUE関数やセルを選択してF2→Enterの操作で対応できます。</p>



<p class="wp-block-paragraph">CSVインポート後に「数値のはずなのに集計できない」というトラブルは、この文字列数字が原因であることが多いです。TYPE関数で型を確認するクセをつけておくと安心ですよ。</p>



<h2 class="wp-block-heading"><span id="toc12">実務活用：CSVデータ品質チェック3ステップ</span></h2>



<p class="wp-block-paragraph">CSVファイルをExcelにインポートした後、データ型が意図どおりか確認する実践的な方法を紹介します。TYPE関数を使えば、たった3ステップで品質チェックが完了します。</p>



<h3 class="wp-block-heading"><span id="toc13">Step1：TYPE関数で型をリストアップする</span></h3>



<p class="wp-block-paragraph">まず、チェック対象の列の隣に作業列を追加します。</p>



<p class="wp-block-paragraph">たとえばB列に金額データが入っている場合、C2セルに次の数式を入力して下方向にコピーします。</p>



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



<p class="wp-block-paragraph">これでB列の各セルのデータ型が数値コードで一覧表示されます。金額データなら全行が1（数値）になるはずです。もし2（文字列）が混じっていたら、そのセルは要注意です。</p>



<h3 class="wp-block-heading"><span id="toc14">Step2：IF関数でNG行にフラグを立てる</span></h3>



<p class="wp-block-paragraph">次に、データ型が期待と異なる行にフラグを立てます。金額列は数値であるべきなので、数値以外の行を検出します。</p>



<pre class="wp-block-code"><code>=IF(ISBLANK(B2),&quot;空白&quot;,IF(TYPE(B2)&lt;&gt;1,&quot;NG&quot;,&quot;OK&quot;))</code></pre>



<p class="wp-block-paragraph">この数式のポイントは、ISBLANK関数で空白を先に判定していることです。TYPE関数は空白セルでも1を返すため、空白チェックを先に入れないと見落としてしまいます。</p>



<h3 class="wp-block-heading"><span id="toc15">Step3：COUNTIFで異常件数を集計する</span></h3>



<p class="wp-block-paragraph">最後に、フラグの集計です。NG件数と空白件数をCOUNTIF関数でカウントします。</p>



<pre class="wp-block-code"><code>=COUNTIF(D:D,&quot;NG&quot;)
=COUNTIF(D:D,&quot;空白&quot;)</code></pre>



<p class="wp-block-paragraph">この3ステップで、CSVインポート後のデータ品質を素早くチェックできます。数百行のデータでも、フラグとカウントで異常箇所をすぐに特定できるのがポイントです。</p>



<p class="wp-block-paragraph">競合サイトではTYPE関数単体の説明で終わることが多いです。ですが実務では、こうした品質チェックの流れで使うのが本来の活用法です。ぜひ試してみてください。</p>



<h2 class="wp-block-heading"><span id="toc16">CELL関数の&#8221;type&#8221;との違いと使い分け</span></h2>



<p class="wp-block-paragraph">TYPE関数とよく混同されるのが、<a href="https://mashukabu.com/excel-function-howto-use-cell/">CELL関数</a>の&#8221;type&#8221;引数です。名前が似ているので紛らわしいですが、機能はまったく異なります。</p>



<h3 class="wp-block-heading"><span id="toc17">CELL(&#8220;type&#8221;,A1)の戻り値との対応表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>データの状態</th><th>TYPE関数の戻り値</th><th>CELL(&#8220;type&#8221;,A1)の戻り値</th></tr></thead><tbody><tr><td>数値（100）</td><td>1</td><td>&#8220;v&#8221;</td></tr><tr><td>文字列（&#8221;東京&#8221;）</td><td>2</td><td>&#8220;l&#8221;（小文字のL）</td></tr><tr><td>論理値（TRUE）</td><td>4</td><td>&#8220;v&#8221;</td></tr><tr><td>エラー値（#N/A）</td><td>16</td><td>&#8220;v&#8221;</td></tr><tr><td>配列</td><td>64</td><td>&#8220;v&#8221;</td></tr><tr><td>空白セル</td><td>1</td><td>&#8220;b&#8221;</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">TYPE関数は数値・論理値・エラー・配列を<strong>すべて区別</strong>できます。一方、CELL(&#8220;type&#8221;)はこれらをまとめて&#8221;v&#8221;で返します。</p>



<p class="wp-block-paragraph">逆にCELL(&#8220;type&#8221;)は空白セルを&#8221;b&#8221;で明確に判別できます。TYPE関数は空白セルでも1（数値）を返すため、空白の判別は苦手です。</p>



<h3 class="wp-block-heading"><span id="toc18">どちらを使うべき場面の判断軸</span></h3>



<p class="wp-block-paragraph">使い分けの基準はシンプルです。</p>



<ul class="wp-block-list"><li><strong>データ型を細かく分類したい</strong> → TYPE関数</li><li><strong>空白セルを確実に検出したい</strong> → CELL(&#8220;type&#8221;)またはISBLANK関数</li><li><strong>数値か文字列かだけ知りたい</strong> → どちらでもOK</li></ul>



<p class="wp-block-paragraph">実務では、TYPE関数をメインで使いつつ、空白判定だけISBLANK関数で補うパターンが多いです。CELL(&#8220;type&#8221;)は空白判定には強いですが、数値・論理値・エラーを区別できません。細かい分岐処理には向いていないので注意しましょう。</p>



<p class="wp-block-paragraph">目的に応じて使い分けてみてくださいね。</p>



<h2 class="wp-block-heading"><span id="toc19">TYPE関数とIS系関数の使い分け方</span></h2>



<p class="wp-block-paragraph">TYPE関数とIS系関数は、どちらもデータ型を調べる関数です。ただし得意分野が違います。ここでは両者の違いと使い分けの判断基準を整理します。</p>



<h3 class="wp-block-heading"><span id="toc20">ISNUMBER・ISTEXTとの違い</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>TYPE関数</th><th>IS系関数</th></tr></thead><tbody><tr><td>戻り値</td><td>数値コード（1, 2, 4, 16, 64）</td><td>TRUE / FALSE</td></tr><tr><td>判定範囲</td><td>5種類のデータ型を1つの数式で区別</td><td>1つのデータ型だけを判定</td></tr><tr><td>IF関数との相性</td><td>=IF(TYPE(A1)=2,&#8230;) と比較が必要</td><td>=IF(ISTEXT(A1),&#8230;) とそのまま使える</td></tr><tr><td>SWITCH分岐</td><td>1つの数式で複数型に分岐可能</td><td>型ごとにネストが必要</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-isnumber/">ISNUMBER関数</a>は「数値かどうか」だけをTRUE/FALSEで返します。<a href="https://mashukabu.com/excel-function-howto-use-istext/">ISTEXT関数</a>は「文字列かどうか」だけを返します。どちらもシンプルで直感的に使えるのが強みです。</p>



<p class="wp-block-paragraph">TYPE関数は1つの数式で5種類のデータ型を区別できます。SWITCH関数と組み合わせれば、複数のデータ型への分岐を1行で書けます。</p>



<h3 class="wp-block-heading"><span id="toc21">使い分けチャート</span></h3>



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



<ol class="wp-block-list"><li><strong>「数値かどうか」だけ知りたい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-isnumber/">ISNUMBER関数</a></li><li><strong>「文字列かどうか」だけ知りたい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-istext/">ISTEXT関数</a></li><li><strong>「空白かどうか」だけ知りたい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-isblank/">ISBLANK関数</a></li><li><strong>複数のデータ型で処理を分岐させたい</strong> → TYPE関数 + SWITCH関数</li><li><strong>エラーの種類まで特定したい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-error-type/">ERROR.TYPE関数</a></li><li><strong>CSVの型混在を一括チェックしたい</strong> → TYPE関数 + COUNTIF関数</li></ol>



<p class="wp-block-paragraph">ポイントは「1つの型だけ調べるならIS系、複数の型を仕分けるならTYPE」という基準です。単一の型チェックにTYPE関数を使うと、戻り値の比較が必要になり数式が冗長になります。逆に複数の型分岐をIS系関数で書くとIF関数のネストが深くなってしまいます。</p>



<p class="wp-block-paragraph">場面に合った関数を選ぶことで、数式がシンプルになりますよ。</p>



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



<p class="wp-block-paragraph">ExcelのTYPE関数は、セルのデータ型を数値コードで返す関数です。この記事のポイントを振り返っておきましょう。</p>



<ul class="wp-block-list"><li><strong>構文</strong>は =TYPE(値) で、引数は1つだけ</li><li><strong>戻り値</strong>は1=数値、2=文字列、4=論理値、16=エラー、64=配列、128=複合データの6種類</li><li><strong>日付はシリアル値（数値）</strong>として扱われるため、戻り値は1になる</li><li><strong>空白セルも数値（0）扱い</strong>で1が返る。空白判定には<a href="https://mashukabu.com/excel-function-howto-use-isblank/">ISBLANK関数</a>を併用する</li><li><strong>CSVデータの品質チェック</strong>には、TYPE関数→IF関数でフラグ→COUNTIFで集計の3ステップが効果的</li><li><strong>CELL(&#8220;type&#8221;)</strong>は空白判定に強いが、数値・論理値・エラーの区別はできない</li><li><strong>IS系関数</strong>は単一の型チェックに、<strong>TYPE関数</strong>は複数の型分岐に向いている</li></ul>



<p class="wp-block-paragraph">TYPE関数は地味な存在ですが、データの品質管理では頼れる関数です。CSVインポート後や他システムからのデータ取り込み後に、ぜひ活用してみてください。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-isnumber/">ISNUMBER関数の使い方｜数値かどうかを判定する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-istext/">ISTEXT関数の使い方｜セルの値が文字列かどうかを判定する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-cell/">CELL関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-error-type/">ERROR.TYPE関数の使い方｜エラーの種類を番号で判別する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-isblank/">ISBLANK関数の使い方｜空白セルを判定する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数の使い方｜条件分岐の基本</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-type/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ADDRESS関数の使い方｜検索した値のセル番地を出す方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-address/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-address/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 04 Jun 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[ADDRESS関数]]></category>
		<category><![CDATA[CELL関数]]></category>
		<category><![CDATA[MATCH関数]]></category>
		<category><![CDATA[セル番地取得]]></category>
		<category><![CDATA[動的セル参照]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2156</guid>

					<description><![CDATA[ExcelのADDRESS関数の使い方を、行番号・列番号からセル番地を作る基本と5つの引数から解説します。MATCHと組み合わせて検索した値のセル番地を表示する実務パターン、CELL関数との使い分け、エラーは出ないのに番地が1行ズレる3つの症状と直し方まで、コピーして使える式つきで整理しました。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「この金額、どのセルに入ってる?」</p>



<p class="wp-block-paragraph">同僚にそう聞かれて、大きな表を上から目で追った経験はありませんか。</p>



<p class="wp-block-paragraph">行数が増えるほど、番地探しは面倒になります。しかも手で控えた番地は、行を1本挿した瞬間に古くなってしまう。チェック表に書いた「B15」が、翌日には別のセルを指しているわけです。</p>



<p class="wp-block-paragraph">ExcelのADDRESS関数は、この「セルの住所探し」を数式に任せるための関数。行番号と列番号を渡すと、<code>$B$3</code> のような番地を返してくれます。MATCH関数と組み合わせれば、検索でヒットした値の番地を自動で表示できますよ。</p>



<p class="wp-block-paragraph">この記事では、ADDRESS関数の使い方を基本構文と5つの引数から整理します。そのうえで「値から番地を出す」実務パターンへ進みましょう。最後は、エラーが出ないのに番地がズレる症状の直し方まで扱います。</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">ADDRESS関数とは？行番号と列番号から「セル番地」を作る関数</a><ol><li><a href="#toc2" tabindex="0">ADDRESS関数が返すのは番地そのもの（$B のような文字列）</a></li><li><a href="#toc3" tabindex="0">何に使えるのか――位置をメモ・連絡・チェックに残す</a></li><li><a href="#toc4" tabindex="0">ADDRESSを使うべきか3秒で決まる判断フロー</a></li></ol></li><li><a href="#toc5" tabindex="0">ADDRESS関数の基本構文と5つの引数</a><ol><li><a href="#toc6" tabindex="0">第1・第2引数（行番号・列番号）――まずはこれだけで動く</a></li><li><a href="#toc7" tabindex="0">第3引数 abs_num 1〜4――コピーしたとき何を固定したいかで選ぶ</a></li><li><a href="#toc8" tabindex="0">第4引数 A1形式とR1C1形式の違い</a></li><li><a href="#toc9" tabindex="0">第5引数 シート名――スペース入りはクォートが自動で付く</a></li><li><a href="#toc10" tabindex="0">ADDRESS(0,3) が #VALUE! になる理由</a></li></ol></li><li><a href="#toc11" tabindex="0">検索でヒットした値のセル番地を出す（ADDRESS×MATCH）</a><ol><li><a href="#toc12" tabindex="0">ステップ1 行だけ分かればいい場合</a></li><li><a href="#toc13" tabindex="0">ステップ2 行と列の両方を検索する場合</a></li><li><a href="#toc14" tabindex="0">ステップ3 表の左上がA1でないときの起点合わせ</a></li><li><a href="#toc15" tabindex="0">CELL(&#8220;address&#8221;, INDEX(&#8230;)) との使い分け早見表</a></li></ol></li><li><a href="#toc16" tabindex="0">エラーは出ないのに番地がズレる3つの症状と直し方</a><ol><li><a href="#toc17" tabindex="0">症状1 MATCHの戻り値は相対位置――範囲を絞った瞬間に1行ズレる</a></li><li><a href="#toc18" tabindex="0">症状2 シート名を渡し忘れて「今いるシート」の同じ番地を指す</a></li><li><a href="#toc19" tabindex="0">症状3 COUNTAの最終行が見出し行・空白行の分だけズレる</a></li><li><a href="#toc20" tabindex="0">#REF! が出たときはADDRESS側ではなく参照側の問題</a></li></ol></li><li><a href="#toc21" tabindex="0">ADDRESSで作った番地から値を取る（連携は最小限でいい）</a><ol><li><a href="#toc22" tabindex="0">ADDRESS単体とINDIRECT併用の2行比較</a></li><li><a href="#toc23" tabindex="0">シート名を切り替えたいなら設計の本体はINDIRECT側</a></li><li><a href="#toc24" tabindex="0">Googleスプレッドシートでも引数の構成は同じ</a></li></ol></li><li><a href="#toc25" tabindex="0">まとめ｜ADDRESS関数は「番地を出したいとき」に使う</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ADDRESS関数とは？行番号と列番号から「セル番地」を作る関数</span></h2>



<p class="wp-block-paragraph">ExcelのADDRESS関数は、行番号と列番号を渡すとセル番地を返す関数です。読み方は「アドレス」。英語の address（住所）が語源で、セルの住所を文字で表す関数だと考えるとイメージしやすいですね。</p>



<p class="wp-block-paragraph">たとえば <code>=ADDRESS(3,2)</code> と入力すると、<code>$B$3</code> が返ります。2列目（B列）の3行目、という意味の番地。</p>



<p class="wp-block-paragraph">指定する順番が「行 → 列」である点だけ気をつけてください。「B3」という普段の表記とは逆順なので、ここは最初につまずきやすいところ。</p>



<p class="wp-block-paragraph">必須の引数は行番号と列番号の2つだけ。残り3つは省略できるので、まずはこの短い形から試すのがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc2">ADDRESS関数が返すのは番地そのもの（$B のような文字列）</span></h3>



<p class="wp-block-paragraph">ADDRESS関数の戻り値は、セル参照を表すテキスト文字列です。B3セルに入っている値ではありません。この一点さえ押さえれば、あとの応用はすべて素直につながります。</p>



<p class="wp-block-paragraph">「値が取れない」と感じるのは仕様どおりの動作で、故障でも数式ミスでもないんです。むしろ文字列で返ること自体が、この関数の使いどころ。</p>



<p class="wp-block-paragraph">文字列だからこそ、そのまま画面に表示できます。<code>&</code> でメッセージに連結したり、コピーしてメールに貼ったりもできるわけです。</p>



<h3 class="wp-block-heading"><span id="toc3">何に使えるのか――位置をメモ・連絡・チェックに残す</span></h3>



<p class="wp-block-paragraph">番地を文字列で取り出せると、こんな場面で効いてきます。</p>



<ul class="wp-block-list"><li>「数字が合わないのはこのセル」と、番地つきで同僚に連絡する</li><li>検算シートに「参照元はここ」という記録を残す</li><li>在庫表の該当行を、担当者が目で探さずに開けるようにする</li><li>可変の行・列から参照を組み立てる（MATCHと組み合わせる）</li></ul>



<p class="wp-block-paragraph">たとえば次の式は、番地を文章に混ぜて表示します。</p>



<pre class="wp-block-code"><code>=&quot;単価は &quot; &amp; ADDRESS(6,3) &amp; &quot; を見てください&quot;</code></pre>



<p class="wp-block-paragraph">結果は <code>単価は $C$6 を見てください</code> という一文になります。番地を手打ちして更新し忘れる、という事故がなくなりますよ。</p>



<h3 class="wp-block-heading"><span id="toc4">ADDRESSを使うべきか3秒で決まる判断フロー</span></h3>



<p class="wp-block-paragraph">ADDRESSは万能の関数ではありません。使わない方が早い場面もあるので、先に分岐を整理しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>やりたいこと</th><th>選ぶ関数</th></tr></thead><tbody><tr><td>番地の文字列がほしい（表示・記録・連絡）</td><td>ADDRESS</td></tr><tr><td>セルの値そのものがほしい</td><td><a href="https://mashukabu.com/excel-function-howto-use-index/">値そのものを取りたいならINDEX</a> / XLOOKUP</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-indirect/">シート名をセルで切り替えたいとき</a></td><td>INDIRECT（番地づくりにADDRESSを添える）</td></tr><tr><td>列番号をアルファベットで表示したい</td><td>ADDRESS（abs_num=4）＋SUBSTITUTE</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">値を取り出したいだけなら、ADDRESSを経由する必要はありません。値そのものを取りたいなら<a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX</a>とMATCHの組み合わせで完結します。XLOOKUP関数を使う手もありますが、対象は Microsoft 365 と Excel 2021 以降です。</p>



<p class="wp-block-paragraph">参照先のシートをセルの入力で差し替えたい場合は、設計の本体がINDIRECT側になります。<a href="https://mashukabu.com/excel-function-howto-use-indirect/">シート名をセルで切り替えたいとき</a>の組み方は専用記事にまとめました。ADDRESSは番地を作る担当として添えるだけ。</p>



<p class="wp-block-paragraph">迷ったら「ほしいのは文字か、値か」で切り分けてみてください。文字ならADDRESSの出番です。</p>



<h2 class="wp-block-heading"><span id="toc5">ADDRESS関数の基本構文と5つの引数</span></h2>



<p class="wp-block-paragraph">ADDRESS関数の構文は次のとおりです。</p>



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



<p class="wp-block-paragraph">角カッコで囲んだ3つは省略できます。それぞれの役割を表で確認しましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>内容</th></tr></thead><tbody><tr><td>行番号（row_num）</td><td>必須</td><td>セルの行番号。1以上の整数</td></tr><tr><td>列番号（column_num）</td><td>必須</td><td>セルの列番号。A=1、B=2、C=3…</td></tr><tr><td>参照の種類（abs_num）</td><td>省略可</td><td>絶対参照・相対参照を1〜4で指定。省略時は1</td></tr><tr><td>参照形式（a1）</td><td>省略可</td><td>TRUE=A1形式、FALSE=R1C1形式。省略時はTRUE</td></tr><tr><td>シート名（sheet_text）</td><td>省略可</td><td>番地の前に付けるシート名を文字列で指定</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">省略したときの既定値も押さえておきましょう。参照の種類は1、つまり行も列も <code>$</code> が付いた完全な絶対参照になります。</p>



<h3 class="wp-block-heading"><span id="toc6">第1・第2引数（行番号・列番号）――まずはこれだけで動く</span></h3>



<p class="wp-block-paragraph">まずは数字を2つ渡すだけの形から始めましょう。</p>



<pre class="wp-block-code"><code>=ADDRESS(3,2)     → $B$3
=ADDRESS(10,1)    → $A$10
=ADDRESS(77,300)  → $KN$77</code></pre>



<p class="wp-block-paragraph">列番号は数値で渡します。A列が1、B列が2、C列が3という並びですね。300列目のような大きな数でも、<code>$KN$77</code> ときちんとアルファベットに変換してくれます。</p>



<p class="wp-block-paragraph">自分がいるセルの番地を出したいなら、ROW関数とCOLUMN関数の出番です。</p>



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



<p class="wp-block-paragraph">この式をF2セルに入れると、<code>$F$2</code> が返ります。ROW()が2を、COLUMN()が6を返すからですね。列番号がぱっと出てこないときは、<a href="https://mashukabu.com/excel-function-howto-use-column/">COLUMN関数で列番号を取得する方法</a>が便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc7">第3引数 abs_num 1〜4――コピーしたとき何を固定したいかで選ぶ</span></h3>



<p class="wp-block-paragraph">第3引数は、絶対参照と相対参照を切り替えます。絶対参照とは <code>$</code> が付いた参照のことで、数式をコピーしても参照先が動きません。相対参照は <code>$</code> なしで、コピーした方向にずれていきます。</p>



<p class="wp-block-paragraph"><code>=ADDRESS(3,2,□)</code> の□に1〜4を入れた結果は次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>abs_num</th><th>行</th><th>列</th><th><code>=ADDRESS(3,2,n)</code> の結果</th><th>どんなときに選ぶか</th></tr></thead><tbody><tr><td>1（省略時）</td><td>絶対</td><td>絶対</td><td><code>$B$3</code></td><td>コピーしても番地を動かしたくない</td></tr><tr><td>2</td><td>絶対</td><td>相対</td><td><code>B$3</code></td><td>横にコピーして列だけずらしたい</td></tr><tr><td>3</td><td>相対</td><td>絶対</td><td><code>$B3</code></td><td>縦にコピーして行だけずらしたい</td></tr><tr><td>4</td><td>相対</td><td>相対</td><td><code>B3</code></td><td><code>$</code> を消して文字として加工したい</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">判断軸はシンプル。「コピーしたときに、行と列のどちらを固定したいか」で選べば迷いません。</p>



<p class="wp-block-paragraph">実務で出番が多いのは1と4です。1は番地をそのまま記録したいとき、4は返ってきた文字を加工したいときに使います。</p>



<p class="wp-block-paragraph"><code>abs_num=4</code> は列名を取り出すワザの土台にもなります。<a href="https://mashukabu.com/excel-function-howto-get-column-alphabet/">列番号をアルファベットに変換する方法</a>は、別解法も含めて専用記事で解説していますよ。</p>



<h3 class="wp-block-heading"><span id="toc8">第4引数 A1形式とR1C1形式の違い</span></h3>



<p class="wp-block-paragraph">第4引数は、番地の表記スタイルを決めます。</p>



<figure class="wp-block-table"><table><thead><tr><th>a1</th><th>形式</th><th><code>=ADDRESS(3,4,1,a1)</code> の結果</th></tr></thead><tbody><tr><td>TRUE（省略時）</td><td>A1形式</td><td><code>$D$3</code></td></tr><tr><td>FALSE</td><td>R1C1形式</td><td><code>R3C4</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">R1C1形式とは、行も列も番号で表す書き方のこと。「R3C4」なら3行目・4列目という意味ですね。VBAやマクロの開発でよく使われる表記です。</p>



<p class="wp-block-paragraph">ワークシートの標準表示はA1形式なので、この引数はほぼ省略でかまいません。R1C1形式をINDIRECTに渡すときだけ、INDIRECT側の第2引数もFALSEにそろえてください。片方だけFALSEにすると、参照がかみ合わずエラーになります。</p>



<h3 class="wp-block-heading"><span id="toc9">第5引数 シート名――スペース入りはクォートが自動で付く</span></h3>



<p class="wp-block-paragraph">第5引数にシート名を渡すと、シート名つきの番地が返ります。</p>



<pre class="wp-block-code"><code>=ADDRESS(1,1,1,TRUE,&quot;Sheet2&quot;)        → Sheet2!$A$1
=ADDRESS(2,3,1,FALSE,&quot;EXCEL SHEET&quot;)  → 'EXCEL SHEET'!R2C3</code></pre>



<p class="wp-block-paragraph">下の例に注目してください。シート名にスペースが含まれる場合、ADDRESSはシングルクォートを自動で付けてくれます。Microsoft公式ドキュメントの使用例でも、この挙動が示されています。</p>



<p class="wp-block-paragraph">一方、スペースのない <code>Sheet2</code> にクォートは付きません。ハイフンや括弧を含むシート名は少し注意。ADDRESSの結果を一度セルに出して、クォートの有無を目で確かめておくと安心です。</p>



<p class="wp-block-paragraph">別のブックを指したい場合は、シート名を <code>"[Book2.xlsx]Sheet1"</code> の形式で渡します。公式の使用例では <code>'[Book1]Sheet1'!R2C3</code> と返っており、この形でもクォートは自動で付きます。</p>



<h3 class="wp-block-heading"><span id="toc10">ADDRESS(0,3) が #VALUE! になる理由</span></h3>



<p class="wp-block-paragraph">ADDRESS関数が返すエラーは基本的に1種類、<code>#VALUE!</code> だけです。行番号・列番号に1未満の数値や、数値として読めない文字列を渡したときに発生します。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>原因</th></tr></thead><tbody><tr><td><code>=ADDRESS(0,3)</code></td><td><code>#VALUE!</code></td><td>行番号が0（1以上が必要）</td></tr><tr><td><code>=ADDRESS(3,0)</code></td><td><code>#VALUE!</code></td><td>列番号が0</td></tr><tr><td><code>=ADDRESS(3,"B")</code></td><td><code>#VALUE!</code></td><td>列番号に文字列を渡している</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">手入力で0を書く人はいませんよね。このエラーが出るのは、引数を数式で組み立てているときがほとんどです。</p>



<p class="wp-block-paragraph">たとえば行番号を計算で求めたとしましょう。引き算の結果が0以下になった瞬間に <code>#VALUE!</code> へ変わります。エラーが出たら、まずADDRESSの中身を別セルに出して数値を確認しましょう。</p>



<p class="wp-block-paragraph">検索が空振りした場合はMATCHが <code>#N/A</code> を返し、それがADDRESSにも伝わります。表示を整えたいならIFERRORで包むのが手軽。</p>



<pre class="wp-block-code"><code>=IFERROR(ADDRESS(MATCH(F2,A:A,0),1), &quot;見つかりません&quot;)</code></pre>



<h2 class="wp-block-heading"><span id="toc11">検索でヒットした値のセル番地を出す（ADDRESS×MATCH）</span></h2>



<p class="wp-block-paragraph">ここからが本題です。「この商品の5月の数字って、どのセル?」を数式に答えさせましょう。</p>



<p class="wp-block-paragraph">例として、次のような売上表を使います。A列に商品名、1行目に月の見出しが並んだ、よくある形ですね。</p>



<figure class="wp-block-table"><table><thead><tr><th>行</th><th>A列</th><th>B列</th><th>C列</th><th>D列</th></tr></thead><tbody><tr><td>1</td><td>商品名</td><td>4月</td><td>5月</td><td>6月</td></tr><tr><td>2</td><td>ボールペン</td><td>12,000</td><td>11,500</td><td>13,200</td></tr><tr><td>3</td><td>ノート</td><td>8,400</td><td>9,100</td><td>8,800</td></tr><tr><td>4</td><td>クリップ</td><td>3,200</td><td>3,050</td><td>3,400</td></tr><tr><td>5</td><td>ファイル</td><td>6,700</td><td>7,200</td><td>6,900</td></tr><tr><td>6</td><td>付箋</td><td>4,500</td><td>5,300</td><td>4,800</td></tr><tr><td>7</td><td>ホチキス</td><td>2,900</td><td>3,100</td><td>2,750</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">データは13行目まで続いている前提です。検索用の入力欄として、F2に商品名、F3に月を入れておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc12">ステップ1 行だけ分かればいい場合</span></h3>



<p class="wp-block-paragraph">まずは「その商品が何行目にあるか」を番地で出します。F2には「付箋」と入力してある状態です。</p>



<pre class="wp-block-code"><code>=ADDRESS(MATCH(F2, A:A, 0), 1)</code></pre>



<p class="wp-block-paragraph">結果は <code>$A$6</code> になります。MATCH関数がA列から「付箋」を探し、6を返します。その6を受け取ったADDRESSが、6行1列目の番地を組み立てるわけです。</p>



<p class="wp-block-paragraph">ここで大事な前提が1つ。<a href="https://mashukabu.com/excel-function-howto-use-match/">MATCH関数が返すのは「範囲内の相対位置」</a>であって、シート上の行番号ではありません。</p>



<p class="wp-block-paragraph">上の式でうまくいくのは、検索範囲に <code>A:A</code>（A列全体）を指定しているからです。A列全体なら1番目＝1行目なので、相対位置と行番号がぴったり一致します。範囲を途中から始めた瞬間にこの一致は崩れるので、後述の症状1で詳しく扱いますね。</p>



<h3 class="wp-block-heading"><span id="toc13">ステップ2 行と列の両方を検索する場合</span></h3>



<p class="wp-block-paragraph">次は列も検索して、表の中の1点を特定します。F3には「5月」と入力しておきましょう。</p>



<pre class="wp-block-code"><code>=ADDRESS(MATCH(F2, A:A, 0), MATCH(F3, 1:1, 0))</code></pre>



<p class="wp-block-paragraph">結果は <code>$C$6</code> です。分解すると次の3ステップになります。</p>



<ol class="wp-block-list"><li><code>MATCH(F2, A:A, 0)</code> がA列で「付箋」を探して6を返す</li><li><code>MATCH(F3, 1:1, 0)</code> が1行目で「5月」を探して3を返す</li><li><code>ADDRESS(6, 3)</code> が6行3列目の番地 <code>$C$6</code> を作る</li></ol>



<p class="wp-block-paragraph"><code>1:1</code> は1行目全体を指す書き方。見出しが1行目にあるので、こちらも相対位置と列番号が一致します。F2とF3を書き換えれば、番地はその場で切り替わりますよ。</p>



<h3 class="wp-block-heading"><span id="toc14">ステップ3 表の左上がA1でないときの起点合わせ</span></h3>



<p class="wp-block-paragraph">実務の表は、A1から始まっているとは限りません。上にタイトル行があったり、左に余白列があったりしますよね。</p>



<p class="wp-block-paragraph">同じ表をB3から貼り直したケースで考えましょう。B3が「商品名」、C3からE3に月の見出し、データはB4からB15に入っています。検索欄はH2（商品名）とH3（月）とします。</p>



<pre class="wp-block-code"><code>=ADDRESS(MATCH(H2,B4:B15,0)+ROW(B4)-1, MATCH(H3,C3:E3,0)+COLUMN(C3)-1)</code></pre>



<p class="wp-block-paragraph">結果は <code>$D$8</code> です。計算の中身を追いかけてみましょう。</p>



<ul class="wp-block-list"><li>行: <code>MATCH(H2,B4:B15,0)</code> は5を返す（付箋はB4から数えて5番目）</li><li>行の補正: <code>5 + ROW(B4) - 1</code> = <code>5 + 4 - 1</code> = 8</li><li>列: <code>MATCH(H3,C3:E3,0)</code> は2を返す（5月はC3から数えて2番目）</li><li>列の補正: <code>2 + COLUMN(C3) - 1</code> = <code>2 + 3 - 1</code> = 4（D列）</li></ul>



<p class="wp-block-paragraph">覚え方は「範囲の先頭セルの行番号を足して、1を引く」だけ。列も同じ理屈で、COLUMN関数に置き換えれば補正できます。</p>



<p class="wp-block-paragraph">この補正を身につけておくと、表の位置が変わっても式が壊れません。汎用性がぐっと上がるので、ぜひ手を動かして確かめてみてください。</p>



<h3 class="wp-block-heading"><span id="toc15">CELL(&#8220;address&#8221;, INDEX(&#8230;)) との使い分け早見表</span></h3>



<p class="wp-block-paragraph">番地を出す関数はもう1つあります。CELL関数の検査の型 <code>"address"</code> です。こちらは既存のセル参照から番地を読み取る関数で、指定した範囲の左上隅のセル参照を文字列で返します。</p>



<p class="wp-block-paragraph">MATCHで求めた番号を直接渡せない点が、ADDRESSとの大きな違い。いったんINDEX関数でセル参照に変えてから渡す必要があります。</p>



<pre class="wp-block-code"><code>=CELL(&quot;address&quot;, INDEX(A1:D13, MATCH(F2,A:A,0), MATCH(F3,1:1,0)))</code></pre>



<p class="wp-block-paragraph">2つの関数の性格を並べておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比べる点</th><th>ADDRESS</th><th>CELL(&#8220;address&#8221;, 対象範囲)</th></tr></thead><tbody><tr><td>渡すもの</td><td>行番号・列番号（数値）</td><td>セル参照（範囲の左上を読む）</td></tr><tr><td>MATCHの結果を直接渡せるか</td><td>渡せる</td><td>渡せない（INDEXなどで参照に変える）</td></tr><tr><td><code>$</code> の付き方を選べるか</td><td>abs_numで1〜4の4通り</td><td>選ぶための引数がない</td></tr><tr><td>シート名を自分で付けられるか</td><td>第5引数で付けられる</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">Microsoftは対象範囲について「参照を含めることをお勧めします」と明記しています。省略すると、そのときアクティブなセルの情報が返ってしまうためですね。</p>



<p class="wp-block-paragraph">INDEXに渡す番号も「範囲の中で何番目か」である点は共通です。範囲の起点をA1にそろえておくと、ステップ3のような補正を考えずに済みます。</p>



<p class="wp-block-paragraph">検査の型は <code>"address"</code> 以外にもたくさんあります。書式やファイル名まで取得できるので、<a href="https://mashukabu.com/excel-function-howto-use-cell/">CELL関数の検査の型12種</a>もあわせて眺めてみてください。</p>



<h2 class="wp-block-heading"><span id="toc16">エラーは出ないのに番地がズレる3つの症状と直し方</span></h2>



<p class="wp-block-paragraph"><code>#VALUE!</code> や <code>#REF!</code> は、画面に出た時点で「間違っているよ」と教えてくれます。本当に怖いのは、正しい形の番地が返るのに中身が違うケース。</p>



<p class="wp-block-paragraph">数式は動いている、結果もそれらしい、でも指しているセルが1つ違う。ここでは実務で起きやすい3症状を、気づき方とセットで押さえましょう。</p>



<h3 class="wp-block-heading"><span id="toc17">症状1 MATCHの戻り値は相対位置――範囲を絞った瞬間に1行ズレる</span></h3>



<p class="wp-block-paragraph">一番多いのがこれです。ステップ1の式は <code>A:A</code> で動いていました。ところが実務では「列全体だと重い」と考えて、範囲を <code>A2:A13</code> に絞りたくなりますよね。</p>



<p class="wp-block-paragraph">その瞬間、番地は静かに1行ズレます。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>返る番地</th><th>実際の位置</th></tr></thead><tbody><tr><td><code>=ADDRESS(MATCH(F2,A:A,0),1)</code></td><td><code>$A$6</code></td><td>正しい</td></tr><tr><td><code>=ADDRESS(MATCH(F2,A2:A13,0),1)</code></td><td><code>$A$5</code></td><td>1行上を指す</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">原因はMATCHの仕様です。<code>A2:A13</code> の中ではA2が1番目なので、A6は5番目。</p>



<p class="wp-block-paragraph">MATCHは5を返し、ADDRESSはそれを5行目として扱います。しかもエラーは出ません。</p>



<p class="wp-block-paragraph"><strong>気づき方</strong>は2つあります。返ってきた番地のセルを実際に見て、検索値と中身が一致するか確かめる方法。もう1つは、MATCHだけを別セルに出して行番号と見比べる方法です。</p>



<p class="wp-block-paragraph">見出し行を1行外したなら、ズレは必ず1行分。除外した行数がそのままズレ幅になると覚えておきましょう。</p>



<p class="wp-block-paragraph">直し方は起点を足し戻すだけ。</p>



<pre class="wp-block-code"><code>=ADDRESS(MATCH(F2,A2:A13,0)+ROW(A2)-1, 1)</code></pre>



<p class="wp-block-paragraph"><code>5 + 2 - 1</code> で6になり、<code>$A$6</code> が返ります。行を挿入して表の位置が動いても、<code>ROW(A2)</code> が一緒にずれるので補正も自動で追いつきますよ。</p>



<h3 class="wp-block-heading"><span id="toc18">症状2 シート名を渡し忘れて「今いるシート」の同じ番地を指す</span></h3>



<p class="wp-block-paragraph">「東京支店」シートのC6を取りたくて、集計シートに次の式を書いたとしましょう。</p>



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



<p class="wp-block-paragraph">エラーは出ません。でも返ってくるのは、集計シートのC6の値です。</p>



<p class="wp-block-paragraph">ADDRESSが作ったのは <code>$C$6</code> という番地だけで、シート名が入っていません。だからINDIRECTは、数式のあるシートを見に行きます。</p>



<p class="wp-block-paragraph">両方のシートに似た数字が並んでいると、間違いに気づくのは月末の照合作業だったりします。</p>



<p class="wp-block-paragraph"><strong>気づき方</strong>はシンプル。ADDRESSの部分だけを別セルに出してみましょう。<code>東京支店!$C$6</code> のようにシート名が付いていれば正解です。</p>



<p class="wp-block-paragraph">数式バーでADDRESSの部分を選択し、F9キーを押す方法もあります。その場で結果を確かめられますよ（Escキーで元に戻ります）。</p>



<p class="wp-block-paragraph">直し方は第5引数にシート名を渡すだけです。H1にシート名を入力しておけば、参照先を後から切り替えられます。</p>



<pre class="wp-block-code"><code>=INDIRECT(ADDRESS(6,3,1,TRUE,$H$1))</code></pre>



<h3 class="wp-block-heading"><span id="toc19">症状3 COUNTAの最終行が見出し行・空白行の分だけズレる</span></h3>



<p class="wp-block-paragraph">「表の一番下の値を、いつも自動で表示したい」。そんなときに使われるのが、COUNTA関数で最終行を数える方法です。</p>



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



<p class="wp-block-paragraph">B1が見出しで、B2からB13までデータが埋まっていれば結果は <code>$B$13</code>。件数13とB列の最終行13が、たまたま一致しているわけです。</p>



<p class="wp-block-paragraph">この一致には条件があります。1行目から最終行まで、B列に空白セルが1つもないこと。裏を返せば、空白が1つ混じるだけで番地は上へズレます。</p>



<figure class="wp-block-table"><table><thead><tr><th>B列の状態</th><th>COUNTAの結果</th><th>返る番地</th><th>実際の最終行</th></tr></thead><tbody><tr><td>B1〜B13がすべて入力済み</td><td>13</td><td><code>$B$13</code></td><td>B13（正しい）</td></tr><tr><td>B7が未入力</td><td>12</td><td><code>$B$12</code></td><td>B13（1行上を指す）</td></tr><tr><td>B1が空でB2〜B13に入力</td><td>12</td><td><code>$B$12</code></td><td>B13（1行上を指す）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>気づき方</strong>は、データを1行足してみることです。番地が1つ下にずれれば正常。動かなかったり飛んだりしたら、空白セルを疑いましょう。</p>



<p class="wp-block-paragraph">空白が混じる表では、MAXとIFで「値が入っている最後の行」を直接探す方法が確実です。</p>



<pre class="wp-block-code"><code>=ADDRESS(MAX(IF(B1:B1000&lt;&gt;&quot;&quot;, ROW(B1:B1000))), 2)</code></pre>



<p class="wp-block-paragraph"><code>IF(B1:B1000<>"", ROW(B1:B1000))</code> は、値のある行だけ行番号を返します。MAXがその中から最大値、つまり最終行を取り出す流れ。空白がどこにあっても正しく拾ってくれます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>対応バージョン</strong>: この式は配列数式（範囲を丸ごと計算する数式）です。Microsoft 365 と Excel 2021 以降は動的配列に対応しています。そのまま Enter キーで確定して大丈夫です。Excel 2019 以前では <code>Ctrl+Shift+Enter</code> で確定してください。</p></blockquote>



<p class="wp-block-paragraph">範囲は <code>B1:B1000</code> のように必要な広さに絞るのがコツ。列全体を対象にすると計算量が増え、ブックが重くなります。</p>



<h3 class="wp-block-heading"><span id="toc20">#REF! が出たときはADDRESS側ではなく参照側の問題</span></h3>



<p class="wp-block-paragraph">ADDRESS関数は <code>#REF!</code> を返しません。文字列を組み立てるだけの関数なので、存在しないセルを指す文字列でも平気で作ってしまいます。</p>



<p class="wp-block-paragraph"><code>#REF!</code> が出るのは、その文字列を受け取ったINDIRECTが参照に変換できなかったときです。シート名のスペルミス、削除済みのシート、クォートの付け忘れあたりが典型ですね。</p>



<p class="wp-block-paragraph">つまり犯人はADDRESSの外側にいます。原因の切り分け手順は<a href="https://mashukabu.com/excel-reference-formula-errors/">#REF!・循環参照・参照ずれの症状別診断</a>にまとめました。そちらを見ながら1つずつ潰していきましょう。</p>



<h2 class="wp-block-heading"><span id="toc21">ADDRESSで作った番地から値を取る（連携は最小限でいい）</span></h2>



<p class="wp-block-paragraph">「番地じゃなくて値がほしい」という場面もありますよね。その場合はINDIRECT関数を1つかぶせます。</p>



<h3 class="wp-block-heading"><span id="toc22">ADDRESS単体とINDIRECT併用の2行比較</span></h3>



<p class="wp-block-paragraph">B3セルに <code>1000</code> という値が入っている前提で、2つの式を見比べてみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>返り値</th><th>正体</th></tr></thead><tbody><tr><td><code>=ADDRESS(3,2)</code></td><td><code>$B$3</code></td><td>セル番地の<strong>文字列</strong></td></tr><tr><td><code>=INDIRECT(ADDRESS(3,2))</code></td><td><code>1000</code></td><td>B3セルの<strong>値</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">違いは外側の1関数だけ。INDIRECTは「文字列で書かれた番地を、本物のセル参照として読み直す」関数です。</p>



<p class="wp-block-paragraph">ADDRESSが番地を書き、INDIRECTがそれを読む。この2段構えが連携の基本形になります。</p>



<p class="wp-block-paragraph">ただし、なんでもINDIRECTで包む必要はありません。INDIRECTは揮発性関数（シートに変更があるたび再計算が走る性質）です。多用するとブックの動作が重くなります。</p>



<p class="wp-block-paragraph">同一シート内で値を取るだけなら、INDEXとMATCHの組み合わせの方が軽快ですよ。</p>



<h3 class="wp-block-heading"><span id="toc23">シート名を切り替えたいなら設計の本体はINDIRECT側</span></h3>



<p class="wp-block-paragraph">この組み合わせが本当に光るのは、シート名を変数にしたいときです。C1にシート名、A1に行番号、B1に列番号を入れておきます。</p>



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



<p class="wp-block-paragraph">C1を書き換えるだけで、取得先のシートが丸ごと切り替わります。ADDRESSは番地を組み立てる部品にすぎません。設計の本体はINDIRECT側にあると考えてください。</p>



<p class="wp-block-paragraph">シート名の管理方法や <code>#REF!</code> の防ぎ方は、専用記事で詳しく解説しています。<a href="https://mashukabu.com/excel-function-howto-use-indirect/">INDIRECT関数で別シートを参照する書き方</a>もあわせてどうぞ。</p>



<h3 class="wp-block-heading"><span id="toc24">Googleスプレッドシートでも引数の構成は同じ</span></h3>



<p class="wp-block-paragraph">ADDRESS関数はGoogleスプレッドシートにもあり、5つの引数の構成は同じです。行番号と列番号から番地の文字列を受け取る、という基本の考え方もそのまま通用します。</p>



<p class="wp-block-paragraph">Sheetsで使いたい方は<a href="https://mashukabu.com/spreadsheet-address-function/">スプレッドシート版のADDRESS関数</a>を参照してください。入力の流れはそちらにまとめています。</p>



<h2 class="wp-block-heading"><span id="toc25">まとめ｜ADDRESS関数は「番地を出したいとき」に使う</span></h2>



<p class="wp-block-paragraph">ADDRESS関数は、行番号と列番号からセル番地を組み立てる関数です。返るのは番地の文字列なので、表示・記録・連絡にそのまま使えます。</p>



<p class="wp-block-paragraph">この記事の要点をおさらいしましょう。</p>



<ul class="wp-block-list"><li><code>=ADDRESS(3,2)</code> は <code>$B$3</code> を返す。渡す順番は「行 → 列」</li><li><code>abs_num</code> 1〜4は「コピーしたときに何を固定したいか」で選ぶ</li><li>MATCHと組み合わせれば、検索でヒットした値の番地を自動表示できる</li><li>MATCHの戻り値は範囲内の相対位置。範囲を絞ったら <code>+ ROW(先頭セル) - 1</code> で補正する</li><li>番地の形は正しいのに中身が違うときは、範囲の起点・シート名・空白セルの3点を疑う</li><li>値そのものがほしいならINDEX、シート名を切り替えたいならINDIRECTに任せる</li></ul>



<p class="wp-block-paragraph">「この値、どのセルにある?」という問いに数式で答えられると、確認作業の手戻りがぐっと減ります。まずはステップ1の1行から、手元の表で試してみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-address/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
