<?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>ARRAYFORMULA関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/arrayformula%e9%96%a2%e6%95%b0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Sat, 21 Mar 2026 11:35:04 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>ARRAYFORMULA関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのFORMULATEXT関数の使い方｜数式をテキスト表示する方法</title>
		<link>https://mashukabu.com/spreadsheet-formulatext-function/</link>
					<comments>https://mashukabu.com/spreadsheet-formulatext-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:35:04 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ARRAYFORMULA関数]]></category>
		<category><![CDATA[FORMULATEXT関数]]></category>
		<category><![CDATA[IFERROR関数]]></category>
		<category><![CDATA[ISFORMULA関数]]></category>
		<category><![CDATA[シート管理]]></category>
		<category><![CDATA[数式表示]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4857</guid>

					<description><![CDATA[スプレッドシートのFORMULATEXT関数でセルの数式をテキストとして取得する方法を解説。基本構文から数式一覧の自動作成、ドキュメント化、デバッグへの活用まで、実務で使えるパターンを紹介します。]]></description>
										<content:encoded><![CDATA[
<p>「このセル、どんな数式が入ってるんだっけ？」と思ったとき、1セルずつクリックして数式バーを確認していませんか。</p>



<p>セル数が多いシートだと、数式を目視チェックするのは時間がかかりすぎます。数式の一覧をまとめて確認できたら便利ですよね。</p>



<p>そんなときに活躍するのが、スプレッドシートのFORMULATEXT関数です。この記事では、基本の使い方から数式のデバッグ・ドキュメント化まで、実務で使えるパターンを紹介します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>この記事は次のような人におすすめ</p><p>&#8211; セルに入っている数式をテキストとして確認したい<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">スプレッドシートのFORMULATEXT関数とは？</a><ol><li><a href="#toc2" tabindex="0">FORMULATEXT関数の基本構文</a></li></ol></li><li><a href="#toc3" tabindex="0">FORMULATEXT関数の基本的な使い方</a><ol><li><a href="#toc4" tabindex="0">別のセルの数式をテキストで表示する</a></li><li><a href="#toc5" tabindex="0">数式がないセルを参照すると #N/A エラーになる</a></li><li><a href="#toc6" tabindex="0">別シートの数式も取得できる</a></li></ol></li><li><a href="#toc7" tabindex="0">FORMULATEXT関数の実務活用パターン</a><ol><li><a href="#toc8" tabindex="0">パターン1: 数式の一覧表を自動作成する</a></li><li><a href="#toc9" tabindex="0">パターン2: IFERROR関数でエラーを回避する</a></li><li><a href="#toc10" tabindex="0">パターン3: IF関数で数式セルと値セルを区別する</a></li><li><a href="#toc11" tabindex="0">パターン4: ARRAYFORMULA関数で一括表示する</a></li><li><a href="#toc12" tabindex="0">パターン5: 数式のドキュメント化（仕様書作成）</a></li><li><a href="#toc13" tabindex="0">パターン6: 数式のデバッグに活用する</a></li></ol></li><li><a href="#toc14" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc15" tabindex="0">ISFORMULA関数との違い・使い分け</a></li><li><a href="#toc16" tabindex="0">まとめ</a><ol><li><a href="#toc17" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p>FORMULATEXT（読み方: フォーミュラテキスト）関数は、指定したセルに入っている<strong>数式をテキスト文字列として返す</strong>関数です。</p>



<p>「formula」は数式、「text」はテキストの意味です。</p>



<p>たとえばセルB2に <code>=SUM(A1:A10)</code> という数式が入っていたとします。<code>=FORMULATEXT(B2)</code> と書くと、「=SUM(A1:A10)」という文字列が返ります。</p>



<p>数式の「計算結果」ではなく、「数式そのもの」を取得できるのがポイントです。</p>



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



<pre class="wp-block-code"><code>=FORMULATEXT(セル)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>セル</td><td>必須</td><td>数式を取得したいセルの参照。セル参照のみ指定可能</td></tr></tbody></table></figure>



<p>引数は「セル」の1つだけです。直接値（数値や文字列）は指定できません。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>Excel版のFORMULATEXT関数とまったく同じ構文で動作します。Excelで使い慣れている人はそのまま使えますよ。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc4">別のセルの数式をテキストで表示する</span></h3>



<p>もっとも基本的な使い方です。B2セルに数式が入っているとき、C2セルに次のように入力します。</p>



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



<p>B2の数式がそのまま文字列で表示されます。計算結果ではなく数式の文字列が返る点がポイントです。</p>



<p>たとえばB2に <code>=SUM(A1:A5)</code> が入っていれば、C2には「=SUM(A1:A5)」と表示されます。</p>



<h3 class="wp-block-heading"><span id="toc5">数式がないセルを参照すると #N/A エラーになる</span></h3>



<p>FORMULATEXT関数は、参照先に数式がないとき #N/A エラーを返します。値が直接入力されたセルや空白セルを参照した場合もエラーです。</p>



<p>「数式が見つからない」という意味の正常な動作なので、焦らなくて大丈夫です。エラーを表示したくない場合は、後述の<a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a>との組み合わせで回避できます。</p>



<h3 class="wp-block-heading"><span id="toc6">別シートの数式も取得できる</span></h3>



<p>別のシートにあるセルの数式も取得できます。シート名を付けて参照するだけです。</p>



<pre class="wp-block-code"><code>=FORMULATEXT('集計シート'!B2)</code></pre>



<p>シート名にスペースや日本語が含まれる場合は、シングルクォーテーション（<code>'</code>）で囲みます。スプレッドシートでは多くのシートが日本語名なので、クォーテーションを忘れないようにしましょう。</p>



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



<h3 class="wp-block-heading"><span id="toc8">パターン1: 数式の一覧表を自動作成する</span></h3>



<p>シートの数式をまとめて一覧にしたい場面は多いですよね。FORMULATEXT関数を使えば、手作業なしで数式一覧を作れます。</p>



<p>たとえばB列に計算式が入っている場合、C2に次の数式を入れて下方向にコピーします。</p>



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



<p>これだけで、B列の数式がC列にテキストで一覧表示されます。</p>



<p>ただし、値セルでは #N/A エラーになります。値セルも含めて一覧にしたい場合はパターン2の方法がおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc9">パターン2: IFERROR関数でエラーを回避する</span></h3>



<p>数式のないセルで #N/A エラーになるのが困りどころです。<a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a>を使えば、シンプルにエラーを処理できます。</p>



<pre class="wp-block-code"><code>=IFERROR(FORMULATEXT(B2), &quot;（値）&quot;)</code></pre>



<p>数式があれば数式テキストを表示し、なければ「（値）」を表示します。数式セルと値セルが混在するシートでも、エラーなしで一覧を作れますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>エラー時の表示は <code>""</code> で空欄にしても構いません。ただし「（値）」や「&#8212;」のように明示しておくと、数式がないことが一目でわかって便利です。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc10">パターン3: IF関数で数式セルと値セルを区別する</span></h3>



<p>もう少し丁寧に判定したい場合は、<a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>と組み合わせる方法もあります。</p>



<pre class="wp-block-code"><code>=IF(ISFORMULA(B2), FORMULATEXT(B2), &quot;---&quot;)</code></pre>



<p>ISFORMULA関数でB2に数式があるかをTRUE/FALSEで判定します。数式があるときだけFORMULATEXT関数で中身を取得する流れです。</p>



<p>IFERROR関数よりも明示的に判定しているため、#N/A 以外のエラーまで隠してしまう心配がありません。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン4: ARRAYFORMULA関数で一括表示する</span></h3>



<p>スプレッドシートならではの便利な使い方です。<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a>と組み合わせると、1つの数式で複数セルの数式を一括表示できます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IFERROR(FORMULATEXT(B2:B20), &quot;（値）&quot;))</code></pre>



<p>B2からB20までのすべてのセルの数式を一括でテキスト表示します。1セルずつコピーする必要がないので、広い範囲の数式確認にとても便利ですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>ARRAYFORMULA関数でFORMULATEXTを展開する場合、IFERROR関数も一緒にラップしないと値セルの行で #N/A エラーが出ます。セットで使うのがポイントです。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc12">パターン5: 数式のドキュメント化（仕様書作成）</span></h3>



<p>複雑なシートの引き継ぎ資料や仕様書を作るとき、FORMULATEXT関数が重宝します。</p>



<p>「セル番地」「説明」「数式」の3列構成にすると、メンテナンスしやすいドキュメントになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列（セル番地）</th><th>B列（説明）</th><th>C列（数式）</th></tr></thead><tbody><tr><td>D2</td><td>売上合計</td><td>=FORMULATEXT(&#8216;集計&#8217;!D2)</td></tr><tr><td>D3</td><td>原価合計</td><td>=FORMULATEXT(&#8216;集計&#8217;!D3)</td></tr><tr><td>D4</td><td>粗利</td><td>=FORMULATEXT(&#8216;集計&#8217;!D4)</td></tr></tbody></table></figure>



<p>別シートの数式もそのまま取得できます。計算シートと仕様書シートを分けて管理できますよ。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン6: 数式のデバッグに活用する</span></h3>



<p>「計算結果がおかしいけど、どのセルの数式が原因かわからない」というとき、FORMULATEXT関数でデバッグできます。</p>



<p>隣の列に数式をテキスト表示させれば、計算結果と数式を横に並べて確認できます。参照先の間違いやカッコの閉じ忘れなど、数式バーだけでは見つけにくいミスも発見しやすくなりますよ。</p>



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



<p>数式テキストと計算結果を1つのセルにまとめて表示する書き方です。「=SUM(A1:A5) → 150」のように、数式と結果を並べて確認できます。</p>



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



<p>FORMULATEXT関数で遭遇するエラーは、ほとんどが #N/A です。原因と対処法をまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#N/A</td><td>参照先に数式がない（値や空白セル）</td><td>IFERROR関数でラップする（パターン2）</td></tr><tr><td>#N/A</td><td>別のスプレッドシートのセルを参照した</td><td>同一スプレッドシート内のセルのみ参照可能。別ファイルの数式は取得できない</td></tr><tr><td>#REF!</td><td>参照先の行や列が削除された</td><td>参照先セルが存在するか確認する</td></tr><tr><td>古い数式が表示される</td><td>シートの再計算が走っていない</td><td>セルを再入力するか、空のセルを編集してEnterを押す</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>スプレッドシートのFORMULATEXT関数は、<strong>同一スプレッドシート内のセルのみ参照可能</strong>です。IMPORTRANGE関数で取り込んだ先の数式は取得できません。Excel版とはこの点が異なるので注意してください。</p></blockquote>



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



<p>FORMULATEXT関数とよく似た名前のISFORMULA関数があります。役割がまったく違うので、整理しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>FORMULATEXT関数</th><th>ISFORMULA関数</th></tr></thead><tbody><tr><td>役割</td><td>数式の<strong>テキスト</strong>を取得する</td><td>数式の<strong>有無</strong>を判定する</td></tr><tr><td>戻り値</td><td>数式の文字列（例: <code>=SUM(A1:A10)</code>）</td><td>TRUE / FALSE</td></tr><tr><td>数式がないセル</td><td>#N/A エラーを返す</td><td>FALSE を返す</td></tr><tr><td>主な用途</td><td>数式の一覧表示・ドキュメント化</td><td>数式チェック・条件分岐</td></tr></tbody></table></figure>



<p>使い分けの基準はシンプルです。</p>



<ul class="wp-block-list"><li><strong>「数式があるかどうか」を知りたい</strong> → ISFORMULA関数</li><li><strong>「数式の中身を見たい」</strong> → FORMULATEXT関数</li></ul>



<p>そして実務では、この2つを組み合わせるのが鉄板パターンです（パターン3で紹介）。</p>



<pre class="wp-block-code"><code>=IF(ISFORMULA(B2), FORMULATEXT(B2), &quot;---&quot;)</code></pre>



<p>ISFORMULA関数で「数式があるか」を先に判定し、あるときだけFORMULATEXT関数で中身を取得する流れです。</p>



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



<p>FORMULATEXT関数は、セルの数式をテキスト文字列として取得できる関数です。</p>



<p>この記事のポイントをおさらいしておきましょう。</p>



<ul class="wp-block-list"><li>引数は「セル」の1つだけ。セル参照を指定するだけで使える</li><li>数式の計算結果ではなく、数式そのものを文字列で返す</li><li>数式がないセルでは #N/A エラーになる</li><li><a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a>でラップすればエラーを簡単に回避できる</li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a>と組み合わせれば一括で数式一覧を作れる</li><li>数式の一覧表やシートの仕様書作成、デバッグに便利</li></ul>



<p>まずは <code>=FORMULATEXT(B2)</code> のシンプルな使い方から試してみてください。IFERRORとARRAYFORMULAの組み合わせを覚えれば、数式の「見える化」がグッとラクになりますよ。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc17">この記事で紹介した関数・関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-if-function/">スプレッドシートのIF関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-iferror-function/">スプレッドシートのIFERROR関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-isformula/">ExcelのISFORMULA関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-formulatext/">ExcelのFORMULATEXT関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-formulatext-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのTRANSPOSE関数の使い方｜行列入れ替え</title>
		<link>https://mashukabu.com/spreadsheet-transpose-function/</link>
					<comments>https://mashukabu.com/spreadsheet-transpose-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:29:34 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ARRAYFORMULA関数]]></category>
		<category><![CDATA[QUERY関数]]></category>
		<category><![CDATA[TRANSPOSE関数]]></category>
		<category><![CDATA[行列入れ替え]]></category>
		<category><![CDATA[配列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4741</guid>

					<description><![CDATA[スプレッドシートのTRANSPOSE関数で行と列を入れ替える方法を解説。「貼り付け→行列を入れ替え」との違い、QUERY関数やARRAYFORMULA関数との組み合わせ技、よくあるエラーの対処法まで、実務で使えるテクニックを紹介します。]]></description>
										<content:encoded><![CDATA[
<p>スプレッドシートで表の縦と横を入れ替えたいとき、「貼り付けオプションで転置」を使っている方は多いですよね。でもこの方法だと、元データを修正しても入れ替え先には反映されません。</p>



<p>TRANSPOSE関数を使えば、行と列を数式で入れ替えられます。元データが変わると自動で更新されるのが最大のメリットです。</p>



<p>この記事では、TRANSPOSE関数の基本から、QUERY関数との組み合わせや「貼り付け→転置」との違いまでわかりやすく解説します。</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">スプレッドシートのTRANSPOSE関数とは？</a><ol><li><a href="#toc2" tabindex="0">TRANSPOSE関数の基本構文</a></li></ol></li><li><a href="#toc3" tabindex="0">TRANSPOSE関数の基本的な使い方</a><ol><li><a href="#toc4" tabindex="0">サンプルデータ</a></li><li><a href="#toc5" tabindex="0">数式を入力する</a></li><li><a href="#toc6" tabindex="0">単一行・単一列の転置</a></li></ol></li><li><a href="#toc7" tabindex="0">「貼り付け→行列を入れ替え」との違い</a></li><li><a href="#toc8" tabindex="0">TRANSPOSE関数の実務活用パターン</a><ol><li><a href="#toc9" tabindex="0">パターン1: 横持ちデータを縦持ちに変換する</a></li><li><a href="#toc10" tabindex="0">パターン2: QUERY関数と組み合わせてデータを抽出・転置する</a></li><li><a href="#toc11" tabindex="0">パターン3: SORT関数・FILTER関数と組み合わせる</a></li><li><a href="#toc12" tabindex="0">パターン4: ARRAYFORMULA関数と組み合わせて一括変換する</a></li><li><a href="#toc13" tabindex="0">パターン5: 複数列のデータを転置してカード形式にする</a></li></ol></li><li><a href="#toc14" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc15" tabindex="0">TRANSPOSE関数の結果は編集できない</a></li></ol></li><li><a href="#toc16" tabindex="0">ExcelのTRANSPOSE関数との違い</a></li><li><a href="#toc17" tabindex="0">まとめ</a><ol><li><a href="#toc18" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p>TRANSPOSE関数（読み方: トランスポーズ関数）は、セル範囲の<strong>行と列を入れ替える</strong>関数です。英語の「transpose」は「転置する・入れ替える」という意味があります。</p>



<p>たとえば、縦3行 x 横4列の表を、横4行 x 縦3列に変換できます。元のデータと数式でつながっているため、元データを変更すると入れ替え先も自動で更新されますよ。</p>



<p>TRANSPOSE関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>セル範囲の行と列を入れ替える（転置する）</li><li>元データとリアルタイムに連動する</li><li>他の関数（QUERY、SORT、FILTERなど）の結果も転置できる</li><li>横持ちデータと縦持ちデータの相互変換に使える</li></ul>



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



<pre class="wp-block-code"><code>=TRANSPOSE(配列またはセル範囲)</code></pre>



<p>カッコの中に、行列を入れ替えたい範囲を指定します。</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>引数は1つだけなので覚えやすい関数です。結果は自動でスピル展開されるため、出力先の範囲を事前に選択する必要はありません。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>Googleスプレッドシートでは、TRANSPOSE関数の結果は常に自動展開（スピル）されます。Excelの旧バージョンのようにCtrl+Shift+Enterで配列数式として入力する必要はありません。</p></blockquote>



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



<p>ここでは、社員名簿のような縦長の表をTRANSPOSE関数で横方向に変換する例を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc4">サンプルデータ</span></h3>



<p>A1:D4に以下のデータが入っているとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th><th>D</th></tr></thead><tbody><tr><td>1</td><td>名前</td><td>部署</td><td>入社年</td><td>等級</td></tr><tr><td>2</td><td>田中</td><td>営業</td><td>2018</td><td>A</td></tr><tr><td>3</td><td>佐藤</td><td>総務</td><td>2020</td><td>B</td></tr><tr><td>4</td><td>鈴木</td><td>経理</td><td>2019</td><td>A</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">数式を入力する</span></h3>



<p>出力先の左上セル（たとえばA7）に以下の数式を入力して、Enterを押します。</p>



<pre class="wp-block-code"><code>=TRANSPOSE(A1:D4)</code></pre>



<p>元の4行が4列に、元の4列が4行に変換されます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th><th>D</th></tr></thead><tbody><tr><td>7</td><td>名前</td><td>田中</td><td>佐藤</td><td>鈴木</td></tr><tr><td>8</td><td>部署</td><td>営業</td><td>総務</td><td>経理</td></tr><tr><td>9</td><td>入社年</td><td>2018</td><td>2020</td><td>2019</td></tr><tr><td>10</td><td>等級</td><td>A</td><td>B</td><td>A</td></tr></tbody></table></figure>



<p>元データ（A1:D4）を変更すると、転置先（A7:D10）も自動で更新されますよ。</p>



<h3 class="wp-block-heading"><span id="toc6">単一行・単一列の転置</span></h3>



<p>1行のデータを1列に変換することもできます。</p>



<pre class="wp-block-code"><code>=TRANSPOSE(A1:D1)</code></pre>



<p>横1行x4列の「名前, 部署, 入社年, 等級」が、縦4行x1列に変換されます。逆に、縦1列のデータを横1行に展開したいときも同じように使えます。</p>



<h2 class="wp-block-heading"><span id="toc7">「貼り付け→行列を入れ替え」との違い</span></h2>



<p>スプレッドシートには、コピー後に「特殊貼り付け→転置して貼り付け」を選ぶ方法もあります。TRANSPOSE関数とどちらを使うべきか、比較表で整理しました。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>TRANSPOSE関数</th><th>貼り付けの転置</th></tr></thead><tbody><tr><td>元データとの連動</td><td>あり（自動更新）</td><td>なし（静的コピー）</td></tr><tr><td>操作方法</td><td>数式を入力</td><td>コピー → 右クリック → 特殊貼り付け → 転置して貼り付け</td></tr><tr><td>元データの追加</td><td>参照範囲を広げれば自動対応</td><td>再度コピー＆貼り付けが必要</td></tr><tr><td>書式の引き継ぎ</td><td>なし（値のみ）</td><td>あり（書式も含めてコピー）</td></tr><tr><td>結果の編集</td><td>不可（数式の結果のため）</td><td>可能（独立したデータ）</td></tr></tbody></table></figure>



<p><strong>使い分けの目安はこうです。</strong></p>



<ul class="wp-block-list"><li><strong>元データが更新される場合</strong> → TRANSPOSE関数（連動して自動更新される）</li><li><strong>一度きりの変換で書式も残したい場合</strong> → 貼り付けの転置</li></ul>



<p>月次データや日報のように継続的に更新される表では、TRANSPOSE関数のほうが便利です。一方、レイアウトを整えた最終版の表をコピーしたいだけなら、貼り付けの転置で十分ですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>貼り付けの転置はショートカットでも操作できます。範囲をコピーした後、Ctrl+Shift+V（特殊貼り付け）で「転置して貼り付け」にチェックを入れてください。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc9">パターン1: 横持ちデータを縦持ちに変換する</span></h3>



<p>月別の売上が横方向に並んでいる表を、縦方向に変換する場面はよくあります。</p>



<pre class="wp-block-code"><code>=TRANSPOSE(B1:M1)</code></pre>



<p>横1行x12列の月名データを、縦12行x1列に変換できます。グラフの元データやピボットテーブルとして使いやすい形になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">パターン2: QUERY関数と組み合わせてデータを抽出・転置する</span></h3>



<p><a href="https://mashukabu.com/spreadsheet-query-function/">QUERY関数</a>で抽出した結果を、そのままTRANSPOSEで転置できます。</p>



<p>たとえば、売上データから営業部のデータだけを抽出して横方向に展開する数式です。</p>



<pre class="wp-block-code"><code>=TRANSPOSE(QUERY(A1:D10, &quot;SELECT B WHERE A='営業'&quot;))</code></pre>



<p>QUERY関数が縦方向に抽出した結果を、TRANSPOSEで横方向に並べ替えます。ダッシュボードで複数部署のデータを横並びに表示したいときに便利なパターンです。</p>



<p>もう少し複雑な例として、QUERY関数のPIVOT句と組み合わせることもできます。</p>



<pre class="wp-block-code"><code>=TRANSPOSE(QUERY(A1:C10, &quot;SELECT A, SUM(C) GROUP BY A&quot;))</code></pre>



<p>グループ集計の結果を転置して、横方向に並べたレポート形式にできます。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン3: SORT関数・FILTER関数と組み合わせる</span></h3>



<p><a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">SORT関数</a>や<a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>の結果を転置することもできます。</p>



<pre class="wp-block-code"><code>=TRANSPOSE(SORT(A2:A10))</code></pre>



<p>縦方向に並べ替えたデータを、横方向に展開します。ランキングを横一列に表示したいときに使えるテクニックです。</p>



<pre class="wp-block-code"><code>=TRANSPOSE(FILTER(B2:B10, A2:A10=&quot;東京&quot;))</code></pre>



<p>FILTER関数で絞り込んだ結果を横方向に展開します。特定条件のデータを横並びで見たい場面で活躍しますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン4: ARRAYFORMULA関数と組み合わせて一括変換する</span></h3>



<p><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a>と組み合わせると、転置した結果に対して一括で計算を適用できます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(TRANSPOSE(B2:B10) * 1.1)</code></pre>



<p>縦方向の売上データを横方向に転置しつつ、すべての値に1.1（税込み換算）を掛けています。転置と計算を1つの数式でまとめられるのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン5: 複数列のデータを転置してカード形式にする</span></h3>



<p>個人の情報が横一列に並んでいるデータを、縦型のプロフィールカード形式に変換する使い方です。</p>



<pre class="wp-block-code"><code>=TRANSPOSE(A2:F2)</code></pre>



<p>A2:F2に「田中, 営業部, 東京, 2018年入社, A等級, 内線1234」と横並びのデータがあれば、縦6行の一覧に変換できます。</p>



<p>ヘッダー行も一緒に転置すると、さらに見やすくなります。</p>



<pre class="wp-block-code"><code>=TRANSPOSE({A1:F1; A2:F2})</code></pre>



<p>「{}」で配列を作り、ヘッダー行とデータ行を結合してから転置しています。ラベルとデータが横並びになるので、カード形式のレイアウトに最適ですよ。</p>



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



<p>TRANSPOSE関数自体はシンプルですが、使い方によってはエラーが発生します。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#REF!</code></td><td>転置先のセルに既にデータがある</td><td>転置先の範囲を空にしてください</td></tr><tr><td><code>#REF!</code></td><td>参照先の行や列が削除された</td><td>参照先セルが存在するか確認してください</td></tr><tr><td><code>#ERROR!</code></td><td>配列の展開先がシートの端を超える</td><td>出力先をシートの左上寄りに移動してください</td></tr><tr><td><code>#N/A</code></td><td>他の関数と組み合わせた際に空セルが含まれる</td><td>IFERROR関数で空文字に置換してください</td></tr><tr><td>結果が1セルだけ</td><td>単一セルを指定している</td><td>範囲（例: A1:D4）を指定してください</td></tr></tbody></table></figure>



<p>特に注意したいのが「転置先のセルに既にデータがある」ケースです。スプレッドシートのスピル展開は、出力先にデータがあると <code>#REF!</code> エラーになります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>転置後のサイズがわからないときは、空白の多いエリアにTRANSPOSE関数を入力してみてください。元データが3行x5列なら、転置後は5行x3列になります。行数と列数が入れ替わるルールを覚えておけば迷いません。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc15">TRANSPOSE関数の結果は編集できない</span></h3>



<p>TRANSPOSE関数の結果はスピル展開された配列です。結果の一部のセルだけを編集・削除することはできません。変更したい場合は、元データを修正するか、貼り付けの転置に切り替えてください。</p>



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



<p>ExcelにもTRANSPOSE関数がありますが、スプレッドシート版との違いがいくつかあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>スプレッドシート</th><th>Excel（Microsoft 365）</th><th>Excel（2019以前）</th></tr></thead><tbody><tr><td>入力方法</td><td>Enterのみ（自動スピル）</td><td>Enterのみ（自動スピル）</td><td>Ctrl+Shift+Enter（配列数式）</td></tr><tr><td>出力先の事前選択</td><td>不要</td><td>不要</td><td>必要（サイズを正確に合わせる）</td></tr><tr><td>結果の自動展開</td><td>あり</td><td>あり（スピル）</td><td>なし</td></tr><tr><td>出力先にデータがある場合</td><td><code>#REF!</code> エラー</td><td><code>#SPILL!</code> エラー</td><td>上書きされる</td></tr></tbody></table></figure>



<p>スプレッドシートとMicrosoft 365のExcelでは、ほぼ同じ感覚で使えます。Excel 2019以前を使っている方が移行する場合は、Ctrl+Shift+Enterが不要になる分、スプレッドシートのほうがシンプルですよ。</p>



<p>ExcelのTRANSPOSE関数の詳しい使い方は「<a href="https://mashukabu.com/excel-function-howto-use-transpose/">ExcelのTRANSPOSE関数の使い方</a>」で解説しています。</p>



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



<p>TRANSPOSE関数は、セル範囲の行と列を入れ替えるシンプルな関数です。元データとリアルタイムに連動するため、更新頻度の高い表の変換に最適です。</p>



<p>この記事のポイントをおさらいしておきましょう。</p>



<ul class="wp-block-list"><li>TRANSPOSE関数は <code>=TRANSPOSE(範囲)</code> で、行と列を入れ替える（Enterだけで自動展開）</li><li>「貼り付け→転置」は静的コピー、TRANSPOSE関数は元データと連動する</li><li>QUERY関数と組み合わせれば、抽出結果の転置も1つの数式で完結する</li><li>SORT・FILTER・ARRAYFORMULAとの組み合わせで活用の幅が広がる</li><li>転置先のセルを空にしておかないと <code>#REF!</code> エラーが出るので注意</li></ul>



<p>まずは <code>=TRANSPOSE(A1:D4)</code> のシンプルな使い方から試してみてください。QUERY関数との組み合わせを覚えれば、データの見せ方がグッと柔軟になりますよ。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc18">この記事で紹介した関数・関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-transpose/">ExcelのTRANSPOSE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-query-function/">スプレッドシートのQUERY関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-filter-function/">スプレッドシートのFILTER関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">スプレッドシートのSORT関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-unique-function/">スプレッドシートのUNIQUE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-index-function/">スプレッドシートのINDEX関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-transpose-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのMAP関数の使い方｜各値にLAMBDA適用</title>
		<link>https://mashukabu.com/spreadsheet-map-function/</link>
					<comments>https://mashukabu.com/spreadsheet-map-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:28:38 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ARRAYFORMULA関数]]></category>
		<category><![CDATA[BYCOL関数]]></category>
		<category><![CDATA[BYROW関数]]></category>
		<category><![CDATA[LAMBDA関数]]></category>
		<category><![CDATA[MAP関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4719</guid>

					<description><![CDATA[スプレッドシートのMAP関数で各セルにLAMBDA処理を一括適用する方法を解説。ARRAYFORMULA関数との違いや、BYCOL・BYROW関数との使い分け、複数配列の同時処理パターンまでわかりやすく紹介します。]]></description>
										<content:encoded><![CDATA[
<p>スプレッドシートで「全セルに同じ加工をしたい」場面、ありませんか？ 数値の四捨五入、条件に応じたラベル付け、文字列の変換など、1つずつ数式をコピーしていくのは手間がかかります。</p>



<p>MAP関数を使えば、配列のすべてのセルにLAMBDA関数で処理を一括適用できます。しかも複数の配列を同時に処理できるのが、MAP関数ならではの強みです。</p>



<p>この記事では、MAP関数の基本から、ARRAYFORMULA関数やBYCOL・BYROW関数との違いまでわかりやすく解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-3" checked><label class="toc-title" for="toc-checkbox-3">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">MAP関数とは？</a><ol><li><a href="#toc2" tabindex="0">MAP関数の基本構文</a></li><li><a href="#toc3" tabindex="0">LAMBDA関数のおさらい</a></li></ol></li><li><a href="#toc4" tabindex="0">MAP関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">サンプルデータ</a></li><li><a href="#toc6" tabindex="0">各セルを四捨五入する</a></li><li><a href="#toc7" tabindex="0">条件分岐を一括適用する</a></li><li><a href="#toc8" tabindex="0">複数の配列を同時に処理する</a></li></ol></li><li><a href="#toc9" tabindex="0">MAP関数の実務活用パターン</a><ol><li><a href="#toc10" tabindex="0">パターン1: 空白セルにデフォルト値を埋める</a></li><li><a href="#toc11" tabindex="0">パターン2: 数値にカンマ区切りの書式を適用する</a></li><li><a href="#toc12" tabindex="0">パターン3: 税込価格を一括計算する</a></li><li><a href="#toc13" tabindex="0">パターン4: 2つの列を結合してフルネームを作る</a></li><li><a href="#toc14" tabindex="0">パターン5: エラー値を安全に処理する</a></li></ol></li><li><a href="#toc15" tabindex="0">ARRAYFORMULA関数との違い・使い分け</a><ol><li><a href="#toc16" tabindex="0">ARRAYFORMULA関数で書ける例</a></li><li><a href="#toc17" tabindex="0">MAP関数でないとできない例</a></li></ol></li><li><a href="#toc18" tabindex="0">BYCOL・BYROW関数との違い・使い分け</a></li><li><a href="#toc19" tabindex="0">LAMBDA系関数の全体像</a></li><li><a href="#toc20" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc21" tabindex="0">まとめ</a><ol><li><a href="#toc22" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p>MAP関数（読み方: マップ関数）は、配列やセル範囲の<strong>各セルに対してLAMBDA関数を適用する</strong>関数です。結果は元の配列と同じサイズで返ります。「map（対応づける）」が名前の由来で、各値を別の値に変換するイメージですね。</p>



<p>たとえば、3行x3列の売上データにMAP関数でROUND処理を適用すると、9つのセルすべてが四捨五入された値に置き換わります。元の表と同じ形のまま一括で変換できるのがポイントです。</p>



<p>MAP関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>各セルに同じ処理（四捨五入、条件分岐、文字変換など）を一括適用する</li><li>LAMBDA関数で処理内容を自由にカスタマイズできる</li><li>複数の配列を同時に渡して、対応するセル同士を処理できる</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>MAP関数はGoogleスプレッドシート独自の関数です。Excelには同じ名前の関数がないため、Excelで同様の処理をしたい場合は、ARRAYFORMULA関数や配列数式で代用してください。</p></blockquote>



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



<pre class="wp-block-code"><code>=MAP(配列, LAMBDA(値, 処理))</code></pre>



<p>カッコの中に、処理対象の配列と、各セルに適用するLAMBDA関数を指定します。</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><tr><td>LAMBDA(値, 処理)</td><td>必須</td><td>各セルに適用する関数。「値」は各セルを受け取る仮引数</td></tr></tbody></table></figure>



<p>LAMBDA関数の仮引数（上の例では「値」）には好きな名前を付けられます。<code>val</code>や<code>v</code>でもOKです。この仮引数に各セルのデータが1つずつ渡されて、処理が実行されます。</p>



<p><strong>複数配列を渡す場合</strong>の構文はこうなります。</p>



<pre class="wp-block-code"><code>=MAP(配列1, 配列2, LAMBDA(値1, 値2, 処理))</code></pre>



<p>配列1と配列2の同じ位置にあるセルが、それぞれ値1・値2としてLAMBDA関数に渡されます。配列は3つ以上でも指定可能です。ただし、すべての配列は同じサイズ（行数×列数）にしてください。</p>



<h3 class="wp-block-heading"><span id="toc3">LAMBDA関数のおさらい</span></h3>



<p>MAP関数を理解するには、LAMBDA関数の基本を知っておく必要があります。詳しくは<a href="https://mashukabu.com/spreadsheet-bycol-function/">BYCOL関数の記事</a>で解説していますが、ここでもかんたんにおさらいしておきますね。</p>



<p>LAMBDA関数は「自分だけの関数を作れる」関数です。引数と処理内容を自分で定義できます。</p>



<pre class="wp-block-code"><code>=LAMBDA(引数, 処理)(値)</code></pre>



<p>たとえば <code>=LAMBDA(x, x<em>2)(5)</code> と書くと、xに5が入って「5</em>2=10」が返ります。MAP関数の中では、このLAMBDA関数に各セルの値が自動的に渡される仕組みです。</p>



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



<p>ここでは、売上データをMAP関数で一括変換する例を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc5">サンプルデータ</span></h3>



<p>A1:D4に以下のデータが入っているとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th><th>D</th></tr></thead><tbody><tr><td>1</td><td>&nbsp;</td><td>4月</td><td>5月</td><td>6月</td></tr><tr><td>2</td><td>東京</td><td>98.7</td><td>120.3</td><td>110.5</td></tr><tr><td>3</td><td>大阪</td><td>82.4</td><td>91.8</td><td>85.2</td></tr><tr><td>4</td><td>名古屋</td><td>63.1</td><td>74.6</td><td>68.9</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc6">各セルを四捨五入する</span></h3>



<p>B2:D4の数値を一括で四捨五入します。出力先のセル（たとえばF2）に以下の数式を入力して、Enterを押します。</p>



<pre class="wp-block-code"><code>=MAP(B2:D4, LAMBDA(val, ROUND(val, 0)))</code></pre>



<p>結果が元の3行x3列と同じ形で返ります。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th><th>G</th><th>H</th></tr></thead><tbody><tr><td>2</td><td>99</td><td>120</td><td>111</td></tr><tr><td>3</td><td>82</td><td>92</td><td>85</td></tr><tr><td>4</td><td>63</td><td>75</td><td>69</td></tr></tbody></table></figure>



<p>すべてのセルがROUND関数で四捨五入されました。9つのセルに個別にROUND関数を入力する手間が省けますね。</p>



<h3 class="wp-block-heading"><span id="toc7">条件分岐を一括適用する</span></h3>



<p>各セルの値を条件で判定し、ラベルを付ける例です。</p>



<pre class="wp-block-code"><code>=MAP(B2:D4, LAMBDA(val, IF(val &gt;= 100, &quot;達成&quot;, &quot;未達&quot;)))</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th><th>G</th><th>H</th></tr></thead><tbody><tr><td>2</td><td>未達</td><td>達成</td><td>達成</td></tr><tr><td>3</td><td>未達</td><td>未達</td><td>未達</td></tr><tr><td>4</td><td>未達</td><td>未達</td><td>未達</td></tr></tbody></table></figure>



<p><a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>と組み合わせれば、全セルに条件分岐を一括適用できます。目標達成の判定表が一発で完成です。</p>



<h3 class="wp-block-heading"><span id="toc8">複数の配列を同時に処理する</span></h3>



<p>MAP関数ならではの機能が、複数の配列を同時に処理できることです。</p>



<p>たとえば、売上データ（B2:D4）と目標データ（F2:H4）の2つの表がある場合を考えてみましょう。</p>



<pre class="wp-block-code"><code>=MAP(B2:D4, F2:H4, LAMBDA(actual, target, actual - target))</code></pre>



<p>各セルの「売上 &#8211; 目標」の差額が一括で計算されます。2つの表の同じ位置にあるセルが、LAMBDAの引数に1つずつ渡される仕組みです。</p>



<p>この使い方はBYCOL関数やBYROW関数にはありません。「複数の表を突き合わせてセルごとに処理したい」場面では、MAP関数の出番ですよ。</p>



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



<h3 class="wp-block-heading"><span id="toc10">パターン1: 空白セルにデフォルト値を埋める</span></h3>



<p>データに空白セルが混じっているとき、一括で「0」や「-」に置き換えます。</p>



<pre class="wp-block-code"><code>=MAP(B2:D10, LAMBDA(val, IF(val=&quot;&quot;, 0, val)))</code></pre>



<p>空白だったセルが0に置き換わり、それ以外はそのまま残ります。集計前のデータクリーニングに便利なパターンです。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン2: 数値にカンマ区切りの書式を適用する</span></h3>



<p>大きな数値をカンマ区切りの文字列に変換します。</p>



<pre class="wp-block-code"><code>=MAP(B2:D10, LAMBDA(val, TEXT(val, &quot;#,##0&quot;)))</code></pre>



<p><a href="https://mashukabu.com/spreadsheet-text-function/">TEXT関数</a>と組み合わせれば、表示形式の一括変換がワンステップで完了します。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン3: 税込価格を一括計算する</span></h3>



<p>税抜き価格の表から、税込価格の表を一発で作ります。</p>



<pre class="wp-block-code"><code>=MAP(B2:D10, LAMBDA(val, ROUND(val * 1.1, 0)))</code></pre>



<p>消費税10%を掛けてROUND関数で整数に丸めています。価格表の更新に使えるパターンです。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン4: 2つの列を結合してフルネームを作る</span></h3>



<p>姓（A列）と名（B列）を結合して、フルネームを作る例です。</p>



<pre class="wp-block-code"><code>=MAP(A2:A10, B2:B10, LAMBDA(sei, mei, sei &amp; &quot; &quot; &amp; mei))</code></pre>



<p>複数配列の同時処理を使えば、姓と名を1つの列にまとめる作業が一括で片付きます。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン5: エラー値を安全に処理する</span></h3>



<p>計算結果にエラーが含まれる可能性がある場合、エラーを別の値に置き換えます。</p>



<pre class="wp-block-code"><code>=MAP(B2:D10, LAMBDA(val, IFERROR(val / A2, &quot;N/A&quot;)))</code></pre>



<p><a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a>を組み込めば、エラーが出たセルだけを「N/A」に置き換えられます。他のセルは正常に計算されますよ。</p>



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



<p>MAP関数と似た機能を持つのが<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a>です。どちらも「範囲に処理を一括適用する」関数ですが、得意分野が異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>MAP関数</th><th>ARRAYFORMULA関数</th></tr></thead><tbody><tr><td>処理の定義方法</td><td>LAMBDA関数で自由に記述</td><td>既存関数をそのまま使用</td></tr><tr><td>複数配列の同時処理</td><td>対応（配列をいくつでも渡せる）</td><td>非対応（1つの数式で処理）</td></tr><tr><td>複雑な条件分岐</td><td>得意（LAMBDA内で自由に組める）</td><td>シンプルな条件のみ</td></tr><tr><td>学習コスト</td><td>やや高い（LAMBDA関数の理解が必要）</td><td>低い（既存関数を囲むだけ）</td></tr><tr><td>パフォーマンス</td><td>大量データではやや遅い</td><td>高速</td></tr></tbody></table></figure>



<p><strong>使い分けの目安はこうです。</strong></p>



<ul class="wp-block-list"><li><strong>既存関数をそのまま範囲に適用したい</strong> → ARRAYFORMULA関数</li><li><strong>LAMBDAで複雑な処理を定義したい・複数配列を同時に処理したい</strong> → MAP関数</li></ul>



<h3 class="wp-block-heading"><span id="toc16">ARRAYFORMULA関数で書ける例</span></h3>



<p>たとえば「各セルに2を掛ける」程度のシンプルな処理なら、ARRAYFORMULA関数のほうが簡潔です。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(B2:D4 * 2)</code></pre>



<p>MAP関数で書くと <code>=MAP(B2:D4, LAMBDA(val, val * 2))</code> になります。結果は同じですが、ARRAYFORMULA関数のほうが短くて読みやすいですよね。</p>



<h3 class="wp-block-heading"><span id="toc17">MAP関数でないとできない例</span></h3>



<p>一方、複数の配列を突き合わせて処理するケースはMAP関数の出番です。</p>



<pre class="wp-block-code"><code>=MAP(B2:D4, F2:H4, LAMBDA(actual, target, IF(actual &gt;= target, &quot;OK&quot;, &quot;NG&quot;)))</code></pre>



<p>「売上」と「目標」の2つの表を突き合わせて、達成・未達を判定しています。ARRAYFORMULA関数でも <code>=ARRAYFORMULA(IF(B2:D4>=F2:H4,"OK","NG"))</code> と書けますが、LAMBDAで複雑な処理を組み立てられるのはMAP関数だけです。</p>



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



<p>LAMBDA系関数には<a href="https://mashukabu.com/spreadsheet-bycol-function/">BYCOL関数</a>と<a href="https://mashukabu.com/spreadsheet-byrow-function/">BYROW関数</a>もありますが、処理の粒度がまったく異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>MAP関数</th><th>BYCOL関数</th><th>BYROW関数</th></tr></thead><tbody><tr><td>処理単位</td><td>セル（1つずつ）</td><td>列（まとめて）</td><td>行（まとめて）</td></tr><tr><td>結果の形</td><td>元の配列と同じサイズ</td><td>横1行</td><td>縦1列</td></tr><tr><td>向いている処理</td><td>変換・加工</td><td>列ごとの集計</td><td>行ごとの集計</td></tr><tr><td>LAMBDAに渡される値</td><td>各セルの値</td><td>各列全体（配列）</td><td>各行全体（配列）</td></tr><tr><td>複数配列の同時処理</td><td>対応</td><td>非対応</td><td>非対応</td></tr></tbody></table></figure>



<p><strong>使い分けの目安はこうです。</strong></p>



<ul class="wp-block-list"><li><strong>各セルを個別に変換したい</strong> → MAP関数</li><li><strong>列ごとにまとめて集計したい</strong> → BYCOL関数</li><li><strong>行ごとにまとめて集計したい</strong> → BYROW関数</li></ul>



<p>MAP関数は「セルごと」、BYCOL・BYROWは「まとめて集計」。この違いを押さえておけば迷いませんよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>「合計や平均を出したい」ならBYCOL・BYROW関数、「各セルの値を変換・加工したい」ならMAP関数です。「集計か変換か」で選んでくださいね。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc19">LAMBDA系関数の全体像</span></h2>



<p>スプレッドシートには、LAMBDA関数と組み合わせて使う関数が複数あります。全体像を把握しておくと、どの場面でどの関数を使うか判断しやすくなりますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>処理単位</th><th>結果の形</th><th>主な用途</th></tr></thead><tbody><tr><td>MAP</td><td>セルごと</td><td>元と同じ形</td><td>セルごとの変換・加工</td></tr><tr><td>BYCOL</td><td>列ごと</td><td>横1行</td><td>列ごとの集計</td></tr><tr><td>BYROW</td><td>行ごと</td><td>縦1列</td><td>行ごとの集計</td></tr><tr><td>REDUCE</td><td>配列全体</td><td>1つの値</td><td>全体を1つに集約</td></tr><tr><td>SCAN</td><td>累積</td><td>縦1列</td><td>累積計算の中間結果</td></tr><tr><td>MAKEARRAY</td><td>行×列</td><td>新しい配列</td><td>計算で配列を生成</td></tr></tbody></table></figure>



<p>MAP関数は「各セルを個別に変換する」という、最も直感的な使い方の関数です。配列処理のファーストチョイスとして覚えておくと便利ですよ。</p>



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



<p>MAP関数はLAMBDA関数と組み合わせるため、構文のミスが起こりやすいです。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#NAME?</code></td><td>関数名のスペルミス</td><td>「MAP」のスペルを確認してください</td></tr><tr><td><code>#NAME?</code></td><td>Excelで使用しようとした</td><td>MAP関数はGoogleスプレッドシート専用です</td></tr><tr><td><code>#NAME?</code></td><td>LAMBDA関数の仮引数名が不正</td><td>仮引数名にセル参照（A1等）やスペースは使えません</td></tr><tr><td><code>#VALUE!</code></td><td>複数配列のサイズが不一致</td><td>MAP関数に複数の配列を渡す場合、すべて同じ行数×列数にしてください</td></tr><tr><td><code>#REF!</code></td><td>出力先のセルにデータがある</td><td>結果が元の配列と同じサイズで展開されるため、出力先に十分な空きスペースを確保してください</td></tr><tr><td><code>#ERROR!</code></td><td>LAMBDAの引数の数が合わない</td><td>配列が1つならLAMBDAの仮引数も1つ、配列が2つなら仮引数も2つにしてください</td></tr></tbody></table></figure>



<p>特に多いのが「複数配列のサイズ不一致」エラーです。MAP関数に複数の配列を渡すとき、たとえばB2:D4（3行3列）とF2:H5（4行3列）のように行数が違うと<code>#VALUE!</code>になります。範囲を揃えてから試してくださいね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>LAMBDA関数の仮引数名で迷ったら、<code>val</code>や<code>v</code>を使うのがおすすめです。複数配列を渡すときは、<code>a</code>と<code>b</code>や、意味のある名前（<code>actual</code>と<code>target</code>など）を使うと読みやすくなります。</p></blockquote>



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



<p>MAP関数は、配列の各セルにLAMBDA関数で処理を適用し、結果を元の配列と同じサイズで返す関数です。セルごとの変換・加工を一括で自動化できるので、データクリーニングや表の加工がグッと楽になります。</p>



<p>この記事のポイントをおさらいしておきましょう。</p>



<ul class="wp-block-list"><li>MAP関数は<code>=MAP(配列, LAMBDA(val, 処理))</code>で、各セルに同じ処理を一括適用する</li><li>複数の配列を渡して、対応するセル同士を処理できるのがMAP関数ならではの強み</li><li>シンプルな計算はARRAYFORMULA関数、LAMBDA処理や複数配列はMAP関数と使い分ける</li><li>BYCOL・BYROW関数は集計向き、MAP関数は変換・加工向き</li><li>Googleスプレッドシート独自の関数で、Excelでは使えない</li></ul>



<p>まずは<code>=MAP(B2:D4, LAMBDA(val, ROUND(val, 0)))</code>のシンプルな四捨五入から試してみてください。一度使い方を覚えれば、IF関数やTEXT関数など、処理部分を入れ替えるだけでさまざまな変換に応用できますよ。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc22">この記事で紹介した関数・関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-bycol-function/">スプレッドシートのBYCOL関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-byrow-function/">スプレッドシートのBYROW関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-makearray-function/">スプレッドシートのMAKEARRAY関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-if-function/">スプレッドシートのIF関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-iferror-function/">スプレッドシートのIFERROR関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-text-function/">スプレッドシートのTEXT関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-map-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
