<?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/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Mon, 18 May 2026 14:04:03 +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>スプレッドシートのCELL関数の使い方｜info_type 7種類とINDIRECT連携まで完全解説</title>
		<link>https://mashukabu.com/spreadsheet-cell-function/</link>
					<comments>https://mashukabu.com/spreadsheet-cell-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 22 Mar 2026 01:13:38 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ADDRESS]]></category>
		<category><![CDATA[CELL]]></category>
		<category><![CDATA[COLUMN]]></category>
		<category><![CDATA[ROW]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[セル情報]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4995</guid>

					<description><![CDATA[GoogleスプレッドシートのCELL関数の使い方を完全解説。info_type 7種類の戻り値（address・col・row・type・width・contents・prefix）から、INDIRECT連携・データ型分岐・ARRAYFORMULAとの組み合わせ、Excelとの差分まで実例付きで解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「いま参照しているセルの番地を、文字列として数式に組み込みたい」「データの種類によって計算を切り替えたい」。スプレッドシートで集計表を作っていると、こんな場面が意外とよく出てきますよね。</p>



<p class="wp-block-paragraph">そんなときに頼れるのが、スプレッドシートの <strong>CELL関数</strong> です。セル番地・行列番号・データ型・列幅といった「セルそのものの情報」を、関数1本でまとめて取り出せます。INDIRECT関数や<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a>と組み合わせれば、動的なセル参照や一括判定もスッキリ書けますよ。</p>



<p class="wp-block-paragraph">この記事では、GoogleスプレッドシートのCELL関数の使い方をまとめます。info_type 7種類の戻り値早見表、INDIRECT連携・データ型分岐・条件付き書式・Apps Script代替まで、実務で使える7パターンを実例付きで整理します。Excel版CELL関数との差分や、<code>#VALUE!</code>エラーへの対処法もあわせて解説しますね。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのCELL関数とは？セル情報を1関数で取得する関数</a><ol><li><a href="#toc2" tabindex="0">CELL関数で何ができる？</a></li><li><a href="#toc3" tabindex="0">揮発性関数としての注意点</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><li><a href="#toc7" tabindex="0">info_typeは必ずダブルクォートで囲む</a></li></ol></li><li><a href="#toc8" tabindex="0">info_type 7種類の戻り値早見表</a><ol><li><a href="#toc9" tabindex="0">type が返す3種類の値（b / l / v）</a></li><li><a href="#toc10" tabindex="0">prefix が返す配置プレフィックス記号</a></li></ol></li><li><a href="#toc11" tabindex="0">CELL関数の基本的な使い方</a><ol><li><a href="#toc12" tabindex="0">address でセル番地を絶対参照の文字列で取得する</a></li><li><a href="#toc13" tabindex="0">row / col で行番号・列番号を取得する</a></li><li><a href="#toc14" tabindex="0">type でデータ型を1文字で判別する</a></li><li><a href="#toc15" tabindex="0">基本パターン早見表</a></li></ol></li><li><a href="#toc16" tabindex="0">実務で使えるCELL関数の活用パターン7選</a><ol><li><a href="#toc17" tabindex="0">パターン1: INDIRECTと組み合わせて動的にセル参照を組み立てる</a></li><li><a href="#toc18" tabindex="0">パターン2: type でデータ型に応じた計算分岐を組む</a></li><li><a href="#toc19" tabindex="0">パターン3: ARRAYFORMULAでデータ型を一括取得する</a></li><li><a href="#toc20" tabindex="0">パターン4: 条件付き書式でデータ型をハイライトする</a></li><li><a href="#toc21" tabindex="0">パターン5: width で列幅に応じた表示制御を行う</a></li><li><a href="#toc22" tabindex="0">パターン6: address と MATCH で動的範囲を組み立てる</a></li><li><a href="#toc23" tabindex="0">パターン7: Apps Scriptでシート名を取得する代替策</a></li></ol></li><li><a href="#toc24" tabindex="0">CELL関数のよくあるエラーと対処法</a></li><li><a href="#toc25" tabindex="0">CELL関数とExcel版の違い</a><ol><li><a href="#toc26" tabindex="0">filename と format の代替策</a></li></ol></li><li><a href="#toc27" tabindex="0">CELL関数と似た関数の使い分け</a></li><li><a href="#toc28" tabindex="0">よくある質問</a><ol><li><a href="#toc29" tabindex="0">CELL関数でファイル名やシート名を取得できますか？</a></li><li><a href="#toc30" tabindex="0">CELL関数で複数セルの情報を一括取得できますか？</a></li><li><a href="#toc31" tabindex="0">CELL(&#8220;type&#8221;, A1) で日付や TRUE/FALSE はどう判別されますか？</a></li><li><a href="#toc32" tabindex="0">CELL関数は揮発性関数ですか？</a></li></ol></li><li><a href="#toc33" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのCELL関数とは？セル情報を1関数で取得する関数</span></h2>



<p class="wp-block-paragraph">スプレッドシートのCELL関数（読み方：セル関数）は、<strong>指定したセルの情報を取り出す関数</strong>です。「どんな情報がほしいか」を最初の引数 info_type で切り替えながら、1本の関数で何種類もの用途に使えるのが特徴ですね。</p>



<p class="wp-block-paragraph">CELL関数で取得できる情報は、おもに次の4種類です。</p>



<ul class="wp-block-list"><li>セル番地（<code>$A$1</code> のような絶対参照の文字列）</li><li>行番号・列番号（数値）</li><li>データ型（空白・文字列・数値の判別）</li><li>列幅（整数）</li></ul>



<p class="wp-block-paragraph">たとえば <code>=CELL("address", B3)</code> と書けば、結果は <code>$B$3</code> という文字列になります。この文字列を <a href="https://mashukabu.com/spreadsheet-indirect-function/">INDIRECT関数</a> に渡せば、行や列の位置を動的に組み立てた参照が作れますよ。</p>



<h3 class="wp-block-heading"><span id="toc2">CELL関数で何ができる？</span></h3>



<p class="wp-block-paragraph">CELL関数が活躍するのは、おもに次のような場面です。</p>



<ul class="wp-block-list"><li>INDIRECT関数と組み合わせて <strong>動的にセル参照を組み立てたい</strong> とき</li><li>セルが空白か文字列か数値かによって <strong>計算式を分岐させたい</strong> とき</li><li>条件付き書式で <strong>データ型に応じてセルをハイライト</strong> したいとき</li><li>レイアウトのチェックで <strong>列幅を数値として取得したい</strong> とき</li><li>ADDRESS関数の代わりに <strong>セル番地を文字列で取得したい</strong> とき</li></ul>



<h3 class="wp-block-heading"><span id="toc3">揮発性関数としての注意点</span></h3>



<p class="wp-block-paragraph">CELL関数は揮発性関数（ボラタイル関数）です。シート上のどこかが再計算されるたびに評価され直すので、データ量が多いシートで多用すると、動作がもっさりすることがあります。大量のCELL関数を並べる前に、ROW関数・COLUMN関数・ISBLANK関数など <strong>専用の軽い関数で代用できないか</strong> を先に検討してみてくださいね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>GoogleスプレッドシートのCELL関数は、Excelに比べて使える info_type が少なめです。<code>"filename"</code> や <code>"format"</code> などはスプレッドシートでは非対応で、シート名取得やセル書式の取得には別の方法が必要になります。詳しくは「Excel版との違い」セクションで解説します。</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(info_type, [参照])</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>info_type</td><td>必須</td><td>取得したい情報の種類を文字列で指定する（&#8221;address&#8221; / &#8220;col&#8221; / &#8220;row&#8221; / &#8220;type&#8221; / &#8220;width&#8221; / &#8220;contents&#8221; / &#8220;prefix&#8221;）</td></tr><tr><td>参照</td><td>任意</td><td>情報を取得したいセル。省略するとアクティブセルが対象</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">info_type は <strong>必ずダブルクォーテーションで囲んで文字列として渡します</strong>。<code>=CELL("address", A1)</code> のように、第1引数を文字列リテラルにするのがポイントですね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>第2引数を省略するとアクティブセル（選択中のセル）が対象になりますが、シートの再計算タイミングで結果が動いてしまいます。実務では参照を明示的に指定するのが安全ですよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc7">info_typeは必ずダブルクォートで囲む</span></h3>



<p class="wp-block-paragraph">セル参照のように <code>=CELL(A1, B2)</code> と書いてしまうと、A1の値が info_type として渡されることになり、A1に &#8220;address&#8221; などの文字列が入っていない限り <code>#VALUE!</code> エラーになります。スペルミス（<code>"adress"</code> のように d が1つ）や大文字小文字違い（<code>"Address"</code>）でも同じくエラーが返るので、注意しましょう。</p>



<h2 class="wp-block-heading"><span id="toc8">info_type 7種類の戻り値早見表</span></h2>



<p class="wp-block-paragraph">スプレッドシートのCELL関数で使える info_type は、次の7種類です。</p>



<figure class="wp-block-table"><table><thead><tr><th>info_type</th><th>戻り値の例</th><th>用途</th></tr></thead><tbody><tr><td><code>"address"</code></td><td><code>$B$3</code></td><td>絶対参照の文字列でセル番地を取得</td></tr><tr><td><code>"col"</code></td><td><code>3</code></td><td>列番号（A=1, B=2, &#8230;）を整数で取得</td></tr><tr><td><code>"row"</code></td><td><code>5</code></td><td>行番号を整数で取得</td></tr><tr><td><code>"type"</code></td><td><code>b</code> / <code>l</code> / <code>v</code></td><td>データ型（空白・文字列・数値）を1文字で取得</td></tr><tr><td><code>"width"</code></td><td><code>8</code></td><td>セルが属する列の幅を整数で取得</td></tr><tr><td><code>"contents"</code></td><td>セルの値</td><td>参照セルの中身をそのまま返す</td></tr><tr><td><code>"prefix"</code></td><td><code>'</code> <code>"</code> <code>^</code> など</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>第2引数に範囲（例：<code>A1:C10</code>）を渡すと、<strong>範囲の左上セルだけ</strong>を対象にした結果が返ります。範囲のすべてのセルについて情報を取りたいときは、<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a> との組み合わせが必要ですよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc9">type が返す3種類の値（b / l / v）</span></h3>



<p class="wp-block-paragraph"><code>"type"</code> を指定したときに返る1文字は、それぞれ次のような意味を持ちます。</p>



<figure class="wp-block-table"><table><thead><tr><th>戻り値</th><th>意味</th><th>該当するセルの中身</th></tr></thead><tbody><tr><td><code>b</code></td><td>blank（空白）</td><td>セルが空のとき</td></tr><tr><td><code>l</code></td><td>label（文字列）</td><td><code>"東京"</code> <code>"商品A"</code> など</td></tr><tr><td><code>v</code></td><td>value（数値）</td><td><code>100</code>、日付（シリアル値）、TRUE/FALSE</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">日付やTRUE/FALSEは内部的に数値として管理されているので、すべて <code>v</code> として扱われます。「数値か日付か」を判別したい場合は CELL ではなく <a href="https://mashukabu.com/spreadsheet-isdate-function/">ISDATE関数</a> を使うのが確実ですよ。</p>



<h3 class="wp-block-heading"><span id="toc10">prefix が返す配置プレフィックス記号</span></h3>



<p class="wp-block-paragraph"><code>"prefix"</code> は、文字列の配置プレフィックス（セルの先頭に付ける揃え位置の記号）を返します。普段あまり意識しない引数ですが、Lotus 1-2-3 などのレガシーファイルから移行したデータを扱うときに役立ちます。</p>



<figure class="wp-block-table"><table><thead><tr><th>戻り値</th><th>意味</th></tr></thead><tbody><tr><td><code>'</code></td><td>左揃え</td></tr><tr><td><code>"</code></td><td>右揃え</td></tr><tr><td><code>^</code></td><td>中央揃え</td></tr><tr><td><code></code></td><td>両端揃え</td></tr><tr><td>空文字</td><td>上記以外（数値や、プレフィックスが付いていない文字列）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">通常のスプレッドシート利用では空文字が返ることがほとんどなので、データ移行時のチェック用と覚えておけばOKです。</p>



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



<p class="wp-block-paragraph">ここからは info_type 別に、よく使うパターンを順に見ていきます。コピペして使えるサンプル式付きで紹介しますね。</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> です。文字列として返るので、INDIRECT関数やQUERY関数の引数にそのまま組み込めます。</p>



<p class="wp-block-paragraph">セル番地を文字列で組み立てるなら <a href="https://mashukabu.com/spreadsheet-address-function/">ADDRESS関数</a> を使う手もありますが、ADDRESS は行番号と列番号を別々に渡す必要があります。「あるセルから直接 <code>$A$1</code> 形式の文字列がほしい」だけなら CELL のほうが短く書けますよ。</p>



<h3 class="wp-block-heading"><span id="toc13">row / col で行番号・列番号を取得する</span></h3>



<pre class="wp-block-code"><code>=CELL(&quot;row&quot;, A5)  → 5
=CELL(&quot;col&quot;, C1)  → 3</code></pre>



<p class="wp-block-paragraph">行番号・列番号だけがほしい場合は、<a href="https://mashukabu.com/spreadsheet-row-function/">ROW関数</a> / <a href="https://mashukabu.com/spreadsheet-column-function/">COLUMN関数</a> のほうがシンプルに書けます。CELL関数を使うメリットは、address や type などほかの情報と <strong>統一的な書き方</strong> で扱える点にあります。</p>



<h3 class="wp-block-heading"><span id="toc14">type でデータ型を1文字で判別する</span></h3>



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



<p class="wp-block-paragraph">セルの中身に応じて <code>b</code> / <code>l</code> / <code>v</code> のいずれかが返ります。「このセルにデータが入っているか」「文字列か数値か」を数式で判定したいときに役立ちます。</p>



<p class="wp-block-paragraph">ただし、空白判定だけなら <a href="https://mashukabu.com/spreadsheet-isblank-function/">ISBLANK関数</a>、数値判定だけなら <a href="https://mashukabu.com/spreadsheet-isnumber-function/">ISNUMBER関数</a>、文字列判定だけなら <a href="https://mashukabu.com/spreadsheet-istext-function/">ISTEXT関数</a> のほうが意図が伝わりやすいです。3種類を1つの数式で同時に判別したい場合に CELL の出番ですね。</p>



<h3 class="wp-block-heading"><span id="toc15">基本パターン早見表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>戻り値の例</th><th>主な用途</th></tr></thead><tbody><tr><td><code>=CELL("address", B3)</code></td><td><code>$B$3</code></td><td>INDIRECTと組み合わせて動的参照</td></tr><tr><td><code>=CELL("row", A5)</code></td><td><code>5</code></td><td>行番号取得（ROWの代わり）</td></tr><tr><td><code>=CELL("col", C1)</code></td><td><code>3</code></td><td>列番号取得（COLUMNの代わり）</td></tr><tr><td><code>=CELL("type", A1)</code></td><td><code>b</code> / <code>l</code> / <code>v</code></td><td>データ型による分岐処理</td></tr><tr><td><code>=CELL("width", A1)</code></td><td><code>10</code></td><td>列幅取得・レイアウト確認</td></tr><tr><td><code>=CELL("contents", A1)</code></td><td>A1の値</td><td><code>=A1</code> とほぼ同じ</td></tr><tr><td><code>=CELL("prefix", A1)</code></td><td><code>'</code> / <code>"</code> / <code>^</code> / <code></code> / 空文字</td><td>配置プレフィックス確認</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc16">実務で使えるCELL関数の活用パターン7選</span></h2>



<p class="wp-block-paragraph">ここからは、CELL関数を他の関数と組み合わせた実務向けの応用パターンを7つ紹介します。自分のシチュエーションに近いものから試してみてください。</p>



<h3 class="wp-block-heading"><span id="toc17">パターン1: INDIRECTと組み合わせて動的にセル参照を組み立てる</span></h3>



<p class="wp-block-paragraph">CELL関数で取得した行番号を <a href="https://mashukabu.com/spreadsheet-indirect-function/">INDIRECT関数</a> に渡し、参照先を動的に切り替える定番パターンです。</p>



<pre class="wp-block-code"><code>=INDIRECT(&quot;B&quot; &amp; CELL(&quot;row&quot;, A2))</code></pre>



<p class="wp-block-paragraph">「A2と同じ行のB列の値」を返します。A2の行位置が変わっても、CELL関数が現在の行番号を返してくれるので参照が自動で追従しますよ。</p>



<h3 class="wp-block-heading"><span id="toc18">パターン2: type でデータ型に応じた計算分岐を組む</span></h3>



<p class="wp-block-paragraph">セルが数値か文字列かで計算を切り替えたい場面で使えます。</p>



<pre class="wp-block-code"><code>=IF(CELL(&quot;type&quot;, A2)=&quot;v&quot;, A2*1.1, &quot;数値以外&quot;)</code></pre>



<p class="wp-block-paragraph">A2が数値（v）のときだけ1.1倍の計算を行い、それ以外なら「数値以外」と表示します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>「数値以外を空欄で残したい」場合は、第3引数を <code>""</code> にすればOKです。<code>=IF(CELL("type", A2)="v", A2*1.1, "")</code> のように書けば、文字列セルは空欄のままになります。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc19">パターン3: ARRAYFORMULAでデータ型を一括取得する</span></h3>



<p class="wp-block-paragraph">CELL関数は単独だと範囲を渡しても左上セルしか返しませんが、<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a> で包むと配列処理に対応します。</p>



<pre class="wp-block-code"><code>=COUNTIF(ARRAYFORMULA(CELL(&quot;type&quot;, A1:A20)), &quot;&lt;&gt;b&quot;)</code></pre>



<p class="wp-block-paragraph">A1:A20の各セルについてデータ型を取得し、空白（<code>b</code>）以外の個数をカウントする式です。</p>



<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/spreadsheet-counta-function/">COUNTA関数</a> のほうがシンプルです。CELL関数を使うメリットは「文字列のみカウント」「数値のみカウント」のように <strong>データ型を細かく絞り込めること</strong>。たとえば <code>=COUNTIF(ARRAYFORMULA(CELL("type", A1:A20)), "l")</code> なら文字列セルだけの個数が取れます。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc20">パターン4: 条件付き書式でデータ型をハイライトする</span></h3>



<p class="wp-block-paragraph">「数値列のはずなのに文字列が混入しているセルを赤くしたい」といった場面で役立ちます。</p>



<ol class="wp-block-list"><li>対象範囲を選択する（例: A2:A100）</li><li>メニュー「表示形式」→「条件付き書式」を開く</li><li>「カスタム数式」を選ぶ</li><li>数式欄に <code>=CELL("type", A2)="l"</code> と入力する</li><li>背景色などのフォーマットを設定する</li></ol>



<p class="wp-block-paragraph">数値列に文字列が紛れ込んだとき、視覚的にすぐ気づける仕組みになります。</p>



<h3 class="wp-block-heading"><span id="toc21">パターン5: width で列幅に応じた表示制御を行う</span></h3>



<pre class="wp-block-code"><code>=IF(CELL(&quot;width&quot;, A1)&lt;10, LEFT(B1, 5) &amp; &quot;…&quot;, B1)</code></pre>



<p class="wp-block-paragraph">A1の列幅が10未満なら、B1の先頭5文字＋「…」で短縮表示。それ以上ならB1の値をそのまま表示します。</p>



<h3 class="wp-block-heading"><span id="toc22">パターン6: address と MATCH で動的範囲を組み立てる</span></h3>



<p class="wp-block-paragraph">CELL(&#8220;address&#8221;, &#8230;) と <a href="https://mashukabu.com/spreadsheet-match-function/">MATCH関数</a> を組み合わせると、「条件に一致した行のセル番地」を動的に取り出せます。</p>



<pre class="wp-block-code"><code>=SUM(INDIRECT(&quot;B2:&quot; &amp; CELL(&quot;address&quot;, INDEX(B:B, MATCH(&quot;合計&quot;, A:A, 0)))))</code></pre>



<p class="wp-block-paragraph">A列に「合計」という文字列が現れる行までのB列を合計します。データが増えても「合計」の位置に追従して集計範囲が自動で広がります。</p>



<h3 class="wp-block-heading"><span id="toc23">パターン7: Apps Scriptでシート名を取得する代替策</span></h3>



<p class="wp-block-paragraph">スプレッドシートのCELL関数は <code>"filename"</code> 非対応のため、シート名を直接取得できません。Apps Scriptのカスタム関数で代替するのが現実的な解です。</p>



<p class="wp-block-paragraph">メニュー「拡張機能」→「Apps Script」を開き、次のコードを貼り付けて保存します。</p>



<pre class="wp-block-code"><code>function SHEETNAME() {
  return SpreadsheetApp.getActiveSheet().getName();
}</code></pre>



<p class="wp-block-paragraph">スプレッドシートに戻って、任意のセルに <code>=SHEETNAME()</code> と入力するとシート名が表示されます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>カスタム関数はシート名が変わっても自動で再計算されません。手動で再計算したい場合は、関数の引数に <code>NOW()</code> などのダミーを渡す実装かトリガーで再計算を仕掛けてください。</p></blockquote>



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



<figure class="wp-block-table"><table><thead><tr><th>エラー・現象</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#VALUE!</code></td><td>info_type のスペル誤り（例: <code>"adress"</code>）</td><td><code>"address"</code> の <code>d</code> は2つ。スペルを正確に書く</td></tr><tr><td><code>#VALUE!</code></td><td>スプレッドシートで非対応の info_type を使った</td><td><code>"filename"</code> <code>"format"</code> などは非対応。7種類の対応リストを確認する</td></tr><tr><td><code>#VALUE!</code></td><td>info_type をダブルクォートで囲み忘れた</td><td>必ず <code>"address"</code> のように文字列として渡す</td></tr><tr><td>値が更新されない</td><td>揮発性関数の再計算が遅れている</td><td>セルを再編集する、またはシートを再読み込み（Ctrl+R）する</td></tr><tr><td>範囲を渡したのに1つだけ返る</td><td>仕様：参照に範囲を指定すると左上セルだけが対象</td><td>1セルずつ指定するか、ARRAYFORMULAで配列化する</td></tr><tr><td><code>"type"</code> で日付が <code>v</code> になる</td><td>日付はシリアル値（内部的に数値）として管理されるため</td><td>日付判定は <a href="https://mashukabu.com/spreadsheet-isdate-function/">ISDATE関数</a> を使う</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc25">CELL関数とExcel版の違い</span></h2>



<p class="wp-block-paragraph">スプレッドシートのCELL関数は、Excel版に比べて <strong>対応する info_type が大幅に少ない</strong> のが最大の違いです。</p>



<figure class="wp-block-table"><table><thead><tr><th>info_type</th><th>Excel</th><th>Googleスプレッドシート</th></tr></thead><tbody><tr><td><code>"address"</code> <code>"col"</code> <code>"row"</code> <code>"type"</code> <code>"width"</code> <code>"contents"</code> <code>"prefix"</code></td><td>対応</td><td>対応</td></tr><tr><td><code>"filename"</code></td><td>対応</td><td><strong>非対応</strong>（#VALUE!）</td></tr><tr><td><code>"format"</code></td><td>対応</td><td><strong>非対応</strong>（#VALUE!）</td></tr><tr><td><code>"color"</code> <code>"protect"</code> <code>"parentheses"</code></td><td>対応</td><td><strong>非対応</strong>（#VALUE!）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc26">filename と format の代替策</span></h3>



<ul class="wp-block-list"><li><strong><code>"filename"</code> の代替</strong>: Apps Script カスタム関数（<code>SpreadsheetApp.getActiveSheet().getName()</code>）</li><li><strong><code>"format"</code> の代替</strong>: Apps Scriptで <code>Range#getNumberFormat()</code> を使うカスタム関数、または日付判定は<a href="https://mashukabu.com/spreadsheet-isdate-function/">ISDATE関数</a>を活用する</li></ul>



<p class="wp-block-paragraph">Excel版CELL関数の詳しい使い方は <a href="https://mashukabu.com/excel-function-howto-use-cell/">ExcelのCELL関数の使い方｜セルの書式・位置・ファイル名を取得する方法</a> で解説しています。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>取得できる情報</th><th>CELL関数との違い</th></tr></thead><tbody><tr><td><strong>CELL</strong></td><td>セル番地・行/列番号・データ型・列幅・プレフィックス</td><td>1関数で多種類の情報を取得</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-row-function/">ROW</a></td><td>行番号</td><td>row 引数より短い</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-column-function/">COLUMN</a></td><td>列番号</td><td>col 引数より短い</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-address-function/">ADDRESS</a></td><td>セル番地（文字列）</td><td>行番号・列番号から番地を組み立てる用途向け</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-isblank-function/">ISBLANK</a></td><td>空白かどうか</td><td>type=&#8221;b&#8221; の判定専用、意図が明確</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-isnumber-function/">ISNUMBER</a></td><td>数値かどうか</td><td>type=&#8221;v&#8221; の判定専用</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-istext-function/">ISTEXT</a></td><td>文字列かどうか</td><td>type=&#8221;l&#8221; の判定専用</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-isdate-function/">ISDATE</a></td><td>日付かどうか</td><td>type では区別できない日付判定が可能</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">行番号・列番号だけ取得するなら ROW / COLUMN のほうがシンプルです。CELL関数を選ぶのは、address や type など他の情報と <strong>同じ書き方で並べたい</strong> とき、または3種類のデータ型を1数式で同時に分岐したいときです。</p>



<h2 class="wp-block-heading"><span id="toc28">よくある質問</span></h2>



<h3 class="wp-block-heading"><span id="toc29">CELL関数でファイル名やシート名を取得できますか？</span></h3>



<p class="wp-block-paragraph">いいえ、スプレッドシートのCELL関数では <code>"filename"</code> は <strong>非対応</strong> です。Excelでは使えますが、スプレッドシートでは <code>#VALUE!</code> エラーになります。シート名を取得したい場合は、Apps Scriptのカスタム関数（<code>SpreadsheetApp.getActiveSheet().getName()</code>）が現実的な代替策ですよ。</p>



<h3 class="wp-block-heading"><span id="toc30">CELL関数で複数セルの情報を一括取得できますか？</span></h3>



<p class="wp-block-paragraph">範囲を渡しても <strong>左上セルの情報しか返りません</strong>。複数セルに適用するには、<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a> で包むか（<code>=ARRAYFORMULA(CELL("row", A1:A5))</code> など）、行ごとに数式を入れてください。</p>



<h3 class="wp-block-heading"><span id="toc31">CELL(&#8220;type&#8221;, A1) で日付や TRUE/FALSE はどう判別されますか？</span></h3>



<p class="wp-block-paragraph">すべて <code>v</code>（数値）として返ります。日付やブール値は内部的にシリアル値・0/1 として管理されているためです。日付かどうかを判別したい場合は <a href="https://mashukabu.com/spreadsheet-isdate-function/">ISDATE関数</a> を使ってください。</p>



<h3 class="wp-block-heading"><span id="toc32">CELL関数は揮発性関数ですか？</span></h3>



<p class="wp-block-paragraph">はい、CELL関数は揮発性関数なので、シート上のどこかが再計算されるたびに評価されます。大量に使うとシートの動作が重くなります。行番号・列番号だけなら ROW / COLUMN、空白判定だけなら ISBLANK のように、<strong>専用関数で代用できないか</strong> を検討してくださいね。</p>



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



<p class="wp-block-paragraph">スプレッドシートのCELL関数は、<strong>セル番地・行列番号・データ型・列幅などの情報を1関数でまとめて取り出せる</strong> 多機能な関数です。</p>



<ul class="wp-block-list"><li>構文は <code>=CELL(info_type, [参照])</code>。info_type には取得したい情報の種類を <strong>ダブルクォート付きの文字列</strong> で指定する</li><li>使える info_type は <strong>7種類</strong>（<code>"address"</code> <code>"col"</code> <code>"row"</code> <code>"type"</code> <code>"width"</code> <code>"contents"</code> <code>"prefix"</code>）</li><li><code>"address"</code> は <a href="https://mashukabu.com/spreadsheet-indirect-function/">INDIRECT関数</a> との組み合わせで <strong>動的なセル参照</strong> を実現できる</li><li><code>"type"</code> でデータ型を判別すると、計算式の分岐や入力ミス検出に応用できる</li><li>範囲を渡すと <strong>左上セルしか返らない</strong> ので、配列処理は <a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a> で包む</li><li>Excel版CELL関数で使える <code>"filename"</code> <code>"format"</code> などは <strong>スプレッドシートでは非対応</strong>。代替手段は Apps Script</li></ul>



<p class="wp-block-paragraph">まずは <code>=CELL("address", A1)</code> でセル番地を取得するところから試して、INDIRECTとの組み合わせまで広げてみてください。動的なセル参照が自在に書けるようになると、集計表のメンテがグッとラクになりますよ。</p>



<p class="wp-block-paragraph">関連記事: <a href="https://mashukabu.com/spreadsheet-indirect-function/">スプレッドシートのINDIRECT関数の使い方</a> / <a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数の使い方</a> / <a href="https://mashukabu.com/excel-function-howto-use-cell/">ExcelのCELL関数の使い方</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-cell-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
