<?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>TOCOL関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/tocol%E9%96%A2%E6%95%B0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Fri, 27 Mar 2026 12:50:28 +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>TOCOL関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのTOROW関数の使い方｜2次元データを1行に変換</title>
		<link>https://mashukabu.com/spreadsheet-torow-function/</link>
					<comments>https://mashukabu.com/spreadsheet-torow-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 12:05:00 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[1行に変換]]></category>
		<category><![CDATA[FLATTEN関数]]></category>
		<category><![CDATA[TOCOL関数]]></category>
		<category><![CDATA[TOROW関数]]></category>
		<category><![CDATA[配列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4917</guid>

					<description><![CDATA[スプレッドシートのTOROW関数で2次元の範囲を1行に変換する方法を解説。空白やエラーの除外、行順・列順の切り替え、TOCOL関数やFLATTEN関数との違いまで、実務で使えるテクニックを紹介します。]]></description>
										<content:encoded><![CDATA[
<p>スプレッドシートで複数行にまたがるデータを、横1行にまとめたいことってありますよね。手作業でコピー＆ペーストするのは面倒ですし、データが更新されるたびにやり直しになります。</p>



<p>TOROW関数を使えば、2次元の範囲を数式ひとつで1行に変換できます。空白やエラーを自動で除外する機能もついているので、クリーンなデータ整理に最適です。</p>



<p>この記事では、TOROW関数の基本から、TOCOL関数・FLATTEN関数との違いまでわかりやすく解説します。</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">スプレッドシートのTOROW関数とは？</a><ol><li><a href="#toc2" tabindex="0">TOROW関数の基本構文</a></li><li><a href="#toc3" tabindex="0">第2引数「無視」の設定値</a></li><li><a href="#toc4" tabindex="0">第3引数「列方向スキャン」の読み取り順序</a></li></ol></li><li><a href="#toc5" tabindex="0">TOROW関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">サンプルデータ</a></li><li><a href="#toc7" tabindex="0">数値データだけを1行にする</a></li><li><a href="#toc8" tabindex="0">空白セルを除外して変換する</a></li><li><a href="#toc9" tabindex="0">列方向に読み取って変換する</a></li></ol></li><li><a href="#toc10" tabindex="0">TOROW関数の実務活用パターン</a><ol><li><a href="#toc11" tabindex="0">パターン1: 複数列の項目を横並びで一覧表示する</a></li><li><a href="#toc12" tabindex="0">パターン2: TOCOL関数と組み合わせて行列を変換する</a></li><li><a href="#toc13" tabindex="0">パターン3: SORT関数でソートしてから横並びにする</a></li><li><a href="#toc14" tabindex="0">パターン4: ARRAYFORMULA関数と組み合わせて一括計算する</a></li><li><a href="#toc15" tabindex="0">パターン5: 複数の範囲を1行に結合する</a></li></ol></li><li><a href="#toc16" tabindex="0">TOCOL関数との違い・使い分け</a></li><li><a href="#toc17" tabindex="0">FLATTEN関数との違い・使い分け</a></li><li><a href="#toc18" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc19" tabindex="0">まとめ</a><ol><li><a href="#toc20" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p>TOROW関数（読み方: トゥロウ関数）は、2次元のセル範囲や配列を<strong>横1行の配列に変換する</strong>関数です。「to row（行にする）」が名前の由来です。</p>



<p>たとえば、3行x4列の表を1行x12列に変換できます。元データと数式でつながっているため、元データを変更すると変換結果も自動で更新されますよ。</p>



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



<ul class="wp-block-list"><li>2次元のセル範囲を横1行に変換する</li><li>空白セルやエラー値を除外して変換できる</li><li>読み取り順序を行方向・列方向で切り替えられる</li><li>他の関数（SORT、UNIQUE、FILTERなど）と組み合わせて活用できる</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>TOROW関数はGoogleスプレッドシート独自の関数ではなく、ExcelのMicrosoft 365でも使用できます。ただし、Excel 2019以前のバージョンでは使えません。</p></blockquote>



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



<pre class="wp-block-code"><code>=TOROW(配列, [無視], [列方向スキャン])</code></pre>



<p>カッコの中に、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>1行に変換したいセル範囲または配列</td></tr><tr><td>無視</td><td>任意</td><td>除外する値の種類を指定する（0: すべて保持、1: 空白を除外、2: エラーを除外、3: 空白とエラーを除外）</td></tr><tr><td>列方向スキャン</td><td>任意</td><td>読み取り方向を指定する（FALSE: 行方向、TRUE: 列方向）</td></tr></tbody></table></figure>



<p>第1引数だけで使えるシンプルな関数です。第2・第3引数はどちらも省略可能で、必要なときだけ指定すれば大丈夫ですよ。</p>



<h3 class="wp-block-heading"><span id="toc3">第2引数「無視」の設定値</span></h3>



<p>第2引数では、変換時に除外したい値の種類を数値で指定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>動作</th></tr></thead><tbody><tr><td>0（省略時）</td><td>すべての値を保持する</td></tr><tr><td>1</td><td>空白セルを除外する</td></tr><tr><td>2</td><td>エラー値を除外する</td></tr><tr><td>3</td><td>空白セルとエラー値の両方を除外する</td></tr></tbody></table></figure>



<p>データに歯抜けやエラーが混ざっている場合は、1や3を指定するとクリーンな1行データを取得できます。</p>



<h3 class="wp-block-heading"><span id="toc4">第3引数「列方向スキャン」の読み取り順序</span></h3>



<p>第3引数では、2次元データをどの順番で読み取るかを指定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>読み取り順序</th><th>説明</th></tr></thead><tbody><tr><td>FALSE（省略時）</td><td>行方向</td><td>1行目を左から右へ → 2行目を左から右へ → &#8230;</td></tr><tr><td>TRUE</td><td>列方向</td><td>1列目を上から下へ → 2列目を上から下へ → &#8230;</td></tr></tbody></table></figure>



<p>たとえば以下の2行x3列のデータを変換する場合です。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th></tr></thead><tbody><tr><td>1</td><td>あ</td><td>い</td><td>う</td></tr><tr><td>2</td><td>え</td><td>お</td><td>か</td></tr></tbody></table></figure>



<ul class="wp-block-list"><li><strong>FALSE（行方向）</strong>: あ → い → う → え → お → か</li><li><strong>TRUE（列方向）</strong>: あ → え → い → お → う → か</li></ul>



<p>省略時は行方向（FALSE）で左上から右へ読み取ります。データの並び順が結果に影響するので、用途に合わせて切り替えてくださいね。</p>



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



<p>ここでは、月別の売上データをTOROW関数で1行に変換する例を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc6">サンプルデータ</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>100</td><td>120</td><td>110</td></tr><tr><td>3</td><td>大阪</td><td>80</td><td>90</td><td>85</td></tr><tr><td>4</td><td>名古屋</td><td>60</td><td>70</td><td>65</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc7">数値データだけを1行にする</span></h3>



<p>B2:D4の数値部分だけを1行に変換します。出力先のセル（たとえばA6）に以下の数式を入力して、Enterを押します。</p>



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



<p>行方向（左→右、上→下）に読み取られ、9個の値が横1行に並びます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th><th>D</th><th>E</th><th>F</th><th>G</th><th>H</th><th>I</th></tr></thead><tbody><tr><td>6</td><td>100</td><td>120</td><td>110</td><td>80</td><td>90</td><td>85</td><td>60</td><td>70</td><td>65</td></tr></tbody></table></figure>



<p>東京の4月→5月→6月、大阪の4月→5月→6月&#8230;という順番で並んでいますね。</p>



<h3 class="wp-block-heading"><span id="toc8">空白セルを除外して変換する</span></h3>



<p>データに空白セルが混ざっている場合は、第2引数に1を指定します。</p>



<pre class="wp-block-code"><code>=TOROW(B2:D4, 1)</code></pre>



<p>空白セルをスキップして、値のあるセルだけが1行に並びます。データクレンジングの第一歩として便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc9">列方向に読み取って変換する</span></h3>



<p>第3引数にTRUEを指定すると、列方向に読み取ります。</p>



<pre class="wp-block-code"><code>=TOROW(B2:D4, 0, TRUE)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th><th>D</th><th>E</th><th>F</th><th>G</th><th>H</th><th>I</th></tr></thead><tbody><tr><td>6</td><td>100</td><td>80</td><td>60</td><td>120</td><td>90</td><td>70</td><td>110</td><td>85</td><td>65</td></tr></tbody></table></figure>



<p>今度は4月の東京→大阪→名古屋、5月の東京→大阪→名古屋&#8230;という月別の順番になりました。「拠点別にまとめたいか」「月別にまとめたいか」で使い分けてください。</p>



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



<h3 class="wp-block-heading"><span id="toc11">パターン1: 複数列の項目を横並びで一覧表示する</span></h3>



<p>カテゴリ別に並んだ商品名を、1行にまとめて横並びで表示できます。</p>



<pre class="wp-block-code"><code>=TOROW(B2:D10, 1)</code></pre>



<p>部署ごとに分かれた担当者名や、月別に分かれたタスク名を1行で一覧したい場面で活躍します。レポートのヘッダー行を動的に生成するときにも使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン2: TOCOL関数と組み合わせて行列を変換する</span></h3>



<p>TOCOL関数でいったん1列にまとめたデータを、TOROW関数で1行に変換し直すこともできます。</p>



<pre class="wp-block-code"><code>=TOROW(TOCOL(B2:D4, 1))</code></pre>



<p>一見冗長に見えますが、<a href="https://mashukabu.com/spreadsheet-tocol-function/">TOCOL関数</a>で空白を除外してから1行に展開するという2段階処理が1つの数式で完結します。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン3: SORT関数でソートしてから横並びにする</span></h3>



<p>データを並べ替えた結果を横方向に展開するパターンです。</p>



<pre class="wp-block-code"><code>=TOROW(SORT(TOCOL(B2:D4, 1)))</code></pre>



<p><a href="https://mashukabu.com/spreadsheet-tocol-function/">TOCOL関数</a>で1列にまとめ、<a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">SORT関数</a>で昇順に並べ替えてから、TOROW関数で横1行に展開しています。数値の小さい順に横並びで表示したいときに便利です。</p>



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



<p>1行に変換した値に対して一括で計算を適用することもできます。</p>



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



<p>売上データを1行に変換しつつ、すべての値に1.1（税込み換算）を掛けています。<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a>と組み合わせれば、変換と計算を1つの数式でまとめられますよ。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン5: 複数の範囲を1行に結合する</span></h3>



<p>中カッコ（{}）で複数の範囲を配列として渡すと、まとめて1行に変換できます。</p>



<pre class="wp-block-code"><code>=TOROW({B2:D4; F2:H4}, 1)</code></pre>



<p>セミコロン（;）で縦方向に結合した配列を、TOROW関数で1行に変換しています。別々のシートや離れた範囲のデータを1つの行にまとめたいときに便利です。</p>



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



<p>TOROW関数には、ペアとなるTOCOL関数があります。どちらも2次元データを1次元に変換する関数ですが、出力の方向が異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>TOROW関数</th><th>TOCOL関数</th></tr></thead><tbody><tr><td>出力方向</td><td>横1行に変換</td><td>縦1列に変換</td></tr><tr><td>構文</td><td><code>=TOROW(配列, [無視], [列方向スキャン])</code></td><td><code>=TOCOL(配列, [無視], [列方向スキャン])</code></td></tr><tr><td>引数</td><td>まったく同じ（3引数）</td><td>まったく同じ（3引数）</td></tr><tr><td>第2引数（無視）</td><td>同じ（0/1/2/3）</td><td>同じ（0/1/2/3）</td></tr><tr><td>第3引数（スキャン方向）</td><td>同じ（FALSE/TRUE）</td><td>同じ（FALSE/TRUE）</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> → TOROW関数</li><li><strong>縦方向にデータを並べたい</strong> → TOCOL関数</li></ul>



<p>引数の構造は完全に同じなので、出力方向を変えたいときは関数名を入れ替えるだけで切り替えられます。</p>



<p>実務では、<a href="https://mashukabu.com/spreadsheet-tocol-function/">TOCOL関数</a>を使うケースのほうが多いです。スプレッドシートではデータを縦方向に並べるのが基本で、SORT関数やFILTER関数、UNIQUE関数など縦方向のデータを前提とした関数が多いためです。TOROW関数は、横方向のレイアウトが必要な場面で活躍します。</p>



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



<p>スプレッドシートには、似た機能を持つFLATTEN関数もあります。FLATTEN関数は出力が縦1列に固定されるため、横1行に変換したいときはTOROW関数を使う必要があります。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>TOROW関数</th><th>FLATTEN関数</th></tr></thead><tbody><tr><td>出力方向</td><td>横1行</td><td>縦1列</td></tr><tr><td>空白・エラーの除外</td><td>できる（第2引数で指定）</td><td>できない</td></tr><tr><td>スキャン方向の指定</td><td>できる（第3引数で指定）</td><td>できない（行方向固定）</td></tr><tr><td>複数範囲の結合</td><td>配列記法（{}）で対応</td><td>引数を複数指定可能</td></tr><tr><td>Excel互換性</td><td>あり（Microsoft 365）</td><td>なし（Sheets独自）</td></tr></tbody></table></figure>



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



<ul class="wp-block-list"><li><strong>横1行に変換したい、または空白除外・スキャン方向の制御が必要</strong> → TOROW関数</li><li><strong>縦1列でよく、複数の離れた範囲をシンプルに結合したい</strong> → FLATTEN関数</li></ul>



<p>FLATTEN関数の最大の利点は、複数の範囲を引数として直接指定できることです。</p>



<pre class="wp-block-code"><code>=FLATTEN(A1:C3, E1:G3, I1:K3)</code></pre>



<p>ただし、FLATTEN関数の出力は縦方向に固定されるため、横1行に並べたい場合は対応できません。TOROW関数には空白除外やスキャン方向の制御もあるので、より柔軟な変換が可能ですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>FLATTEN関数はExcelにはない、Googleスプレッドシート独自の関数です。Excelとの互換性を意識するなら、TOROW関数を使うのがおすすめです。</p></blockquote>



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



<p>TOROW関数はシンプルですが、使い方によってはエラーが発生します。</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>#VALUE!</code></td><td>第2引数に0~3以外の値を指定した</td><td>0、1、2、3のいずれかを指定してください</td></tr><tr><td><code>#VALUE!</code></td><td>第3引数にTRUE/FALSE以外の値を指定した</td><td>TRUEまたはFALSEを指定してください</td></tr><tr><td><code>#NAME?</code></td><td>関数名のスペルミス</td><td>「TOROW」のスペルを確認してください</td></tr><tr><td>空白が混ざる</td><td>元データに空白セルがある</td><td>第2引数に1または3を指定して空白を除外してください</td></tr></tbody></table></figure>



<p>特に注意したいのが「出力先のセルに既にデータがある」ケースです。TOROW関数は右方向にスピル展開するため、右側のセルにデータがあると <code>#REF!</code> エラーになります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>エラー値が混在するデータを扱うときは、第2引数に2（エラー除外）または3（空白+エラー除外）を指定しましょう。IFERRORで個別に対処するよりスマートです。</p></blockquote>



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



<p>TOROW関数は、2次元のセル範囲を横1行に変換するための関数です。空白やエラーの除外、読み取り方向の制御まで備わっており、データ整理の強い味方になります。</p>



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



<ul class="wp-block-list"><li>TOROW関数は <code>=TOROW(範囲)</code> で、2次元データを横1行に変換する</li><li>第2引数で空白（1）やエラー（2）を除外できる。両方除外は3を指定する</li><li>第3引数でスキャン方向を切り替えられる（FALSE: 行方向、TRUE: 列方向）</li><li>TOCOL関数はペア関数で、縦1列に変換する。引数の構造は同じ</li><li>FLATTEN関数と比べて、横1行出力・空白除外・スキャン方向制御・Excel互換性の点で優れている</li></ul>



<p>まずは <code>=TOROW(A1:C3)</code> のシンプルな使い方から試してみてください。横方向にデータを展開したいときに、TOROW関数が力を発揮しますよ。</p>



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



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-tocol-function/">スプレッドシートのTOCOL関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-transpose-function/">スプレッドシートのTRANSPOSE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-unique-function/">スプレッドシートのUNIQUE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">スプレッドシートのSORT関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-filter-function/">スプレッドシートのFILTER関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-torow-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのFLATTEN関数の使い方｜配列を1列にまとめる方法</title>
		<link>https://mashukabu.com/spreadsheet-flatten-function/</link>
					<comments>https://mashukabu.com/spreadsheet-flatten-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:35:24 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[1列に変換]]></category>
		<category><![CDATA[FLATTEN関数]]></category>
		<category><![CDATA[TOCOL関数]]></category>
		<category><![CDATA[TOROW関数]]></category>
		<category><![CDATA[配列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4863</guid>

					<description><![CDATA[スプレッドシートのFLATTEN関数で多次元の配列を縦1列に変換する方法を解説。複数範囲の結合、TOCOL関数との違いと使い分けまで、実務で使えるテクニックを紹介します。]]></description>
										<content:encoded><![CDATA[
<p>スプレッドシートで複数行・複数列にまたがるデータを、縦1列にまとめたいことってありますよね。手作業でコピー＆ペーストすると時間がかかりますし、データが変わるたびにやり直しです。</p>



<p>FLATTEN関数を使えば、数式ひとつで多次元の配列を縦1列に変換できます。引数に範囲を指定するだけのシンプルな関数なので、覚えるのも簡単です。</p>



<p>この記事では、FLATTEN関数の基本から、TOCOL関数との違いまでわかりやすく解説します。</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">FLATTEN関数とは？</a><ol><li><a href="#toc2" tabindex="0">FLATTEN関数の基本構文</a></li></ol></li><li><a href="#toc3" tabindex="0">FLATTEN関数の基本的な使い方</a><ol><li><a href="#toc4" tabindex="0">サンプルデータ</a></li><li><a href="#toc5" tabindex="0">数値データだけを1列にする</a></li><li><a href="#toc6" tabindex="0">ヘッダー行を含めて変換する</a></li><li><a href="#toc7" tabindex="0">複数の離れた範囲を1列にまとめる</a></li></ol></li><li><a href="#toc8" tabindex="0">FLATTEN関数の実務活用パターン</a><ol><li><a href="#toc9" tabindex="0">パターン1: 重複を除外したユニークリストを作る</a></li><li><a href="#toc10" tabindex="0">パターン2: 1列にまとめてからソートする</a></li><li><a href="#toc11" tabindex="0">パターン3: 別シートの範囲をまとめて結合する</a></li><li><a href="#toc12" tabindex="0">パターン4: QUERY関数の入力データとして使う</a></li><li><a href="#toc13" tabindex="0">パターン5: ARRAYFORMULA関数と組み合わせて一括計算する</a></li></ol></li><li><a href="#toc14" tabindex="0">TOCOL関数との違い・使い分け</a><ol><li><a href="#toc15" tabindex="0">FLATTEN関数が向いている場面</a></li><li><a href="#toc16" tabindex="0">TOCOL関数が向いている場面</a></li></ol></li><li><a href="#toc17" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc18" tabindex="0">まとめ</a><ol><li><a href="#toc19" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p>FLATTEN関数（読み方: フラッテン関数）は、2次元以上のセル範囲や配列を<strong>縦1列の配列に変換する</strong>関数です。「flatten（平らにする）」が名前の由来で、多次元のデータを平坦化するイメージですね。</p>



<p>たとえば、3行x4列の表をFLATTEN関数に渡すと、縦12行x1列のデータに変換されます。元データと数式でつながっているため、元データを変更すると結果も自動で更新されますよ。</p>



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



<ul class="wp-block-list"><li>2次元のセル範囲を縦1列に変換する</li><li>複数の離れた範囲を引数に指定して、まとめて1列にできる</li><li>他の関数（SORT、UNIQUE、FILTERなど）と組み合わせて活用できる</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>FLATTEN関数はGoogleスプレッドシート独自の関数です。Excelには同じ名前の関数がありません。Excelで同様の処理をしたい場合は、TOCOL関数（Microsoft 365で利用可能）を使ってください。</p></blockquote>



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



<pre class="wp-block-code"><code>=FLATTEN(範囲1, [範囲2, ...])</code></pre>



<p>カッコの中に、1列にまとめたい範囲を指定します。</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>1列に変換したいセル範囲、配列、または値</td></tr><tr><td>範囲2, &#8230;</td><td>任意</td><td>追加で1列にまとめたい範囲（複数指定可能）</td></tr></tbody></table></figure>



<p>FLATTEN関数にはオプション引数がありません。空白の除外やスキャン方向の切り替えといった機能はなく、とてもシンプルです。指定した範囲を行方向（左から右、上から下）に読み取って縦1列に変換します。</p>



<p>シンプルな分、迷わずに使えるのがFLATTEN関数のよいところです。</p>



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



<p>ここでは、月別の売上データをFLATTEN関数で1列に変換する例を紹介します。</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>&nbsp;</td><td>4月</td><td>5月</td><td>6月</td></tr><tr><td>2</td><td>東京</td><td>100</td><td>120</td><td>110</td></tr><tr><td>3</td><td>大阪</td><td>80</td><td>90</td><td>85</td></tr><tr><td>4</td><td>名古屋</td><td>60</td><td>70</td><td>65</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">数値データだけを1列にする</span></h3>



<p>B2:D4の数値部分だけを1列に変換します。出力先のセル（たとえばF2）に以下の数式を入力して、Enterを押します。</p>



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



<p>行方向（左から右、上から下）に読み取られ、9個の値が縦1列に並びます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th></tr></thead><tbody><tr><td>2</td><td>100</td></tr><tr><td>3</td><td>120</td></tr><tr><td>4</td><td>110</td></tr><tr><td>5</td><td>80</td></tr><tr><td>6</td><td>90</td></tr><tr><td>7</td><td>85</td></tr><tr><td>8</td><td>60</td></tr><tr><td>9</td><td>70</td></tr><tr><td>10</td><td>65</td></tr></tbody></table></figure>



<p>東京の4月→5月→6月、大阪の4月→5月→6月&#8230;という順番で並んでいますね。</p>



<h3 class="wp-block-heading"><span id="toc6">ヘッダー行を含めて変換する</span></h3>



<p>範囲にヘッダー行を含めると、ヘッダーも一緒に1列に変換されます。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th></tr></thead><tbody><tr><td>1</td><td>&nbsp;</td></tr><tr><td>2</td><td>4月</td></tr><tr><td>3</td><td>5月</td></tr><tr><td>4</td><td>6月</td></tr><tr><td>5</td><td>東京</td></tr><tr><td>6</td><td>100</td></tr><tr><td>7</td><td>&#8230;</td></tr></tbody></table></figure>



<p>A1が空白セルなので、先頭に空白が入ります。FLATTEN関数には空白を除外する機能がないため、数値だけを取り出したい場合は範囲を絞って指定してくださいね。</p>



<h3 class="wp-block-heading"><span id="toc7">複数の離れた範囲を1列にまとめる</span></h3>



<p>FLATTEN関数の大きな特徴は、複数の範囲を引数として直接指定できることです。</p>



<p>たとえば、上期（B2:D4）と下期（F2:H4）のデータを1つのリストにまとめたい場合はこう書きます。</p>



<pre class="wp-block-code"><code>=FLATTEN(B2:D4, F2:H4)</code></pre>



<p>2つの範囲のデータが順番につながって、縦1列に並びます。カンマで区切るだけなので、3つ以上の範囲も同じように指定できますよ。</p>



<pre class="wp-block-code"><code>=FLATTEN(B2:D4, F2:H4, J2:L4)</code></pre>



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



<h3 class="wp-block-heading"><span id="toc9">パターン1: 重複を除外したユニークリストを作る</span></h3>



<p>複数列にまたがる担当者名を1列にまとめて、重複を除外したリストを作れます。</p>



<pre class="wp-block-code"><code>=UNIQUE(FLATTEN(B2:D10))</code></pre>



<p>FLATTEN関数で1列にまとめた結果を、<a href="https://mashukabu.com/spreadsheet-unique-function/">UNIQUE関数</a>に渡して重複を除外しています。ドロップダウンリストの選択肢を自動生成したい場面で活躍するパターンです。</p>



<h3 class="wp-block-heading"><span id="toc10">パターン2: 1列にまとめてからソートする</span></h3>



<p>散らばったデータを1列にまとめて、昇順や降順に並べ替えることもできます。</p>



<pre class="wp-block-code"><code>=SORT(FLATTEN(B2:D4))</code></pre>



<p><a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">SORT関数</a>と組み合わせれば、2次元の数値データを小さい順に並べた一覧が作れます。全体のランキングを見たいときに便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン3: 別シートの範囲をまとめて結合する</span></h3>



<p>FLATTEN関数は別シートの範囲も引数に指定できます。</p>



<pre class="wp-block-code"><code>=FLATTEN(Sheet1!B2:D4, Sheet2!B2:D4)</code></pre>



<p>月別や拠点別にシートを分けている場合でも、1つの数式で横断的にデータをまとめられます。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン4: QUERY関数の入力データとして使う</span></h3>



<p>FLATTEN関数で1列にまとめたデータを、<a href="https://mashukabu.com/spreadsheet-query-function/">QUERY関数</a>で集計するパターンです。</p>



<pre class="wp-block-code"><code>=QUERY(FLATTEN(B2:D10), &quot;select Col1, count(Col1) group by Col1 label count(Col1) '件数'&quot;)</code></pre>



<p>複数列に分散していたデータを1列に変換してからQUERY関数に渡すことで、全体の集計ができます。</p>



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



<p>1列に変換した値に対して一括で計算を適用できます。</p>



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



<p>売上データを1列に変換しつつ、すべての値に1.1（税込み換算）を掛けています。<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a>と組み合わせれば、変換と計算を1つの数式で完結できますよ。</p>



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



<p>FLATTEN関数と似た機能を持つ関数に、TOCOL関数があります。どちらも2次元データを縦1列に変換しますが、機能に違いがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>FLATTEN関数</th><th>TOCOL関数</th></tr></thead><tbody><tr><td>出力方向</td><td>縦1列</td><td>縦1列</td></tr><tr><td>空白セルの除外</td><td>できない</td><td>できる（第2引数で指定）</td></tr><tr><td>エラー値の除外</td><td>できない</td><td>できる（第2引数で指定）</td></tr><tr><td>スキャン方向の指定</td><td>できない（行方向に固定）</td><td>できる（第3引数で指定）</td></tr><tr><td>複数範囲の結合</td><td>引数を複数指定できる</td><td>配列記法（<code>{}</code>）で対応</td></tr><tr><td>Excel互換性</td><td>なし（Sheets独自）</td><td>あり（Microsoft 365）</td></tr></tbody></table></figure>



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



<ul class="wp-block-list"><li><strong>複数の離れた範囲をシンプルに結合したい</strong> → FLATTEN関数</li><li><strong>空白除外やスキャン方向の制御が必要</strong> → <a href="https://mashukabu.com/spreadsheet-tocol-function/">TOCOL関数</a></li></ul>



<h3 class="wp-block-heading"><span id="toc15">FLATTEN関数が向いている場面</span></h3>



<p>FLATTEN関数は引数にカンマ区切りで複数の範囲を指定できるのが最大の利点です。</p>



<pre class="wp-block-code"><code>=FLATTEN(A1:C3, E1:G3, I1:K3)</code></pre>



<p>TOCOL関数で同じことをするには、中カッコ（<code>{}</code>）で配列を組み立てる必要があります。</p>



<pre class="wp-block-code"><code>=TOCOL({A1:C3; E1:G3; I1:K3})</code></pre>



<p>範囲をまとめるだけの用途なら、FLATTEN関数のほうが数式がシンプルで読みやすいですね。</p>



<h3 class="wp-block-heading"><span id="toc16">TOCOL関数が向いている場面</span></h3>



<p>TOCOL関数は空白やエラーを除外する機能を持っています。</p>



<pre class="wp-block-code"><code>=TOCOL(B2:D4, 1)</code></pre>



<p>第2引数に1を指定すると空白セルをスキップし、3を指定すると空白とエラーの両方を除外できます。FLATTEN関数にはこの機能がないため、データクレンジングが必要な場面ではTOCOL関数のほうが便利です。</p>



<p>また、TOCOL関数は第3引数でスキャン方向を切り替えられます。列方向（上から下→次の列へ）に読み取りたい場合は、TOCOL関数を使ってください。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>TOCOL関数はExcelのMicrosoft 365でも使えます。Excelとの互換性を意識するなら、TOCOL関数を選ぶのがおすすめです。FLATTEN関数はGoogleスプレッドシート独自の関数のため、Excelでは動作しません。</p></blockquote>



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



<p>FLATTEN関数は引数が少なくシンプルですが、いくつかのエラーが発生することがあります。</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>#NAME?</code></td><td>関数名のスペルミス</td><td>「FLATTEN」のスペルを確認してください</td></tr><tr><td><code>#NAME?</code></td><td>Excelで使用しようとした</td><td>FLATTEN関数はGoogleスプレッドシート専用です。ExcelではTOCOL関数を使ってください</td></tr><tr><td>空白が混ざる</td><td>元データに空白セルがある</td><td>FLATTEN関数では空白を除外できません。TOCOL関数の第2引数に1を指定するか、QUERY関数で空白行を除外してください</td></tr><tr><td>エラー値が混ざる</td><td>元データにエラー値がある</td><td>FLATTEN関数ではエラーを除外できません。TOCOL関数の第2引数に2を指定してください</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>FLATTEN関数で「Excelに渡したら動かなくなった」というケースが多いです。チームでExcelユーザーとファイルを共有する場合は、TOCOL関数を使うほうが安全ですよ。</p></blockquote>



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



<p>FLATTEN関数は、多次元のセル範囲を縦1列に変換するためのシンプルな関数です。オプション引数がなく覚えやすいので、配列操作の入門にもぴったりです。</p>



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



<ul class="wp-block-list"><li>FLATTEN関数は<code>=FLATTEN(範囲)</code>で、多次元データを縦1列に変換する</li><li>複数の範囲をカンマ区切りで指定でき、離れたデータをまとめるのが得意</li><li>空白除外やスキャン方向の制御はできない（必要ならTOCOL関数を使う）</li><li>Googleスプレッドシート独自の関数で、Excelでは使えない</li><li>UNIQUE関数やSORT関数と組み合わせると、データ整理がグッと楽になる</li></ul>



<p>まずは<code>=FLATTEN(A1:C3)</code>のシンプルな使い方から試してみてください。複数範囲の結合が必要になったら、カンマで範囲を追加するだけですよ。</p>



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



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-tocol-function/">スプレッドシートのTOCOL関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-torow-function/">スプレッドシートのTOROW関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-unique-function/">スプレッドシートのUNIQUE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">スプレッドシートのSORT・SORTN・SORTBY関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-query-function/">スプレッドシートのQUERY関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-transpose-function/">スプレッドシートのTRANSPOSE関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-flatten-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのTOCOL関数の使い方｜2次元データを1列に変換</title>
		<link>https://mashukabu.com/spreadsheet-tocol-function/</link>
					<comments>https://mashukabu.com/spreadsheet-tocol-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:29:42 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[1列に変換]]></category>
		<category><![CDATA[FLATTEN関数]]></category>
		<category><![CDATA[TOCOL関数]]></category>
		<category><![CDATA[TOROW関数]]></category>
		<category><![CDATA[配列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4743</guid>

					<description><![CDATA[スプレッドシートのTOCOL関数で2次元の範囲を1列に変換する方法を解説。空白やエラーの除外、行順・列順の切り替え、TOROW関数やFLATTEN関数との違いまで、実務で使えるテクニックを紹介します。]]></description>
										<content:encoded><![CDATA[
<p>スプレッドシートで複数列にまたがるデータを、縦1列にまとめたいことってありますよね。手作業でコピー＆ペーストするのは面倒ですし、データが更新されるたびにやり直しになります。</p>



<p>TOCOL関数を使えば、2次元の範囲を数式ひとつで1列に変換できます。空白やエラーを自動で除外する機能もついているので、クリーンなデータ整理に最適です。</p>



<p>この記事では、TOCOL関数の基本から、TOROW関数・FLATTEN関数との違いまでわかりやすく解説します。</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">スプレッドシートのTOCOL関数とは？</a><ol><li><a href="#toc2" tabindex="0">TOCOL関数の基本構文</a></li><li><a href="#toc3" tabindex="0">第2引数「無視」の設定値</a></li><li><a href="#toc4" tabindex="0">第3引数「列方向スキャン」の読み取り順序</a></li></ol></li><li><a href="#toc5" tabindex="0">TOCOL関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">サンプルデータ</a></li><li><a href="#toc7" tabindex="0">数値データだけを1列にする</a></li><li><a href="#toc8" tabindex="0">空白セルを除外して変換する</a></li><li><a href="#toc9" tabindex="0">列方向に読み取って変換する</a></li></ol></li><li><a href="#toc10" tabindex="0">TOCOL関数の実務活用パターン</a><ol><li><a href="#toc11" tabindex="0">パターン1: 重複を除外したユニークリストを作る</a></li><li><a href="#toc12" tabindex="0">パターン2: 1列にまとめてからソートする</a></li><li><a href="#toc13" tabindex="0">パターン3: FILTER関数で条件抽出してから1列にする</a></li><li><a href="#toc14" tabindex="0">パターン4: ARRAYFORMULA関数と組み合わせて一括計算する</a></li><li><a href="#toc15" tabindex="0">パターン5: 複数の範囲を1列に結合する</a></li></ol></li><li><a href="#toc16" tabindex="0">TOROW関数との違い・使い分け</a></li><li><a href="#toc17" tabindex="0">FLATTEN関数との違い・使い分け</a></li><li><a href="#toc18" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc19" tabindex="0">まとめ</a><ol><li><a href="#toc20" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p>TOCOL関数（読み方: トゥコラム関数）は、2次元のセル範囲や配列を<strong>縦1列の配列に変換する</strong>関数です。「to column（列にする）」が名前の由来です。</p>



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



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



<ul class="wp-block-list"><li>2次元のセル範囲を縦1列に変換する</li><li>空白セルやエラー値を除外して変換できる</li><li>読み取り順序を行方向・列方向で切り替えられる</li><li>他の関数（SORT、UNIQUE、FILTERなど）と組み合わせて活用できる</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>TOCOL関数はGoogleスプレッドシート独自の関数ではなく、ExcelのMicrosoft 365でも使用できます。ただし、Excel 2019以前のバージョンでは使えません。</p></blockquote>



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



<pre class="wp-block-code"><code>=TOCOL(配列, [無視], [列方向スキャン])</code></pre>



<p>カッコの中に、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>1列に変換したいセル範囲または配列</td></tr><tr><td>無視</td><td>任意</td><td>除外する値の種類を指定する（0: すべて保持、1: 空白を除外、2: エラーを除外、3: 空白とエラーを除外）</td></tr><tr><td>列方向スキャン</td><td>任意</td><td>読み取り方向を指定する（FALSE: 行方向、TRUE: 列方向）</td></tr></tbody></table></figure>



<p>第1引数だけで使えるシンプルな関数です。第2・第3引数はどちらも省略可能で、必要なときだけ指定すれば大丈夫ですよ。</p>



<h3 class="wp-block-heading"><span id="toc3">第2引数「無視」の設定値</span></h3>



<p>第2引数では、変換時に除外したい値の種類を数値で指定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>動作</th></tr></thead><tbody><tr><td>0（省略時）</td><td>すべての値を保持する</td></tr><tr><td>1</td><td>空白セルを除外する</td></tr><tr><td>2</td><td>エラー値を除外する</td></tr><tr><td>3</td><td>空白セルとエラー値の両方を除外する</td></tr></tbody></table></figure>



<p>データに歯抜けやエラーが混ざっている場合は、1や3を指定するとクリーンな1列データを取得できます。</p>



<h3 class="wp-block-heading"><span id="toc4">第3引数「列方向スキャン」の読み取り順序</span></h3>



<p>第3引数では、2次元データをどの順番で読み取るかを指定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>読み取り順序</th><th>説明</th></tr></thead><tbody><tr><td>FALSE（省略時）</td><td>行方向</td><td>1行目を左から右へ → 2行目を左から右へ → &#8230;</td></tr><tr><td>TRUE</td><td>列方向</td><td>1列目を上から下へ → 2列目を上から下へ → &#8230;</td></tr></tbody></table></figure>



<p>たとえば以下の2行x3列のデータを変換する場合です。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th></tr></thead><tbody><tr><td>1</td><td>あ</td><td>い</td><td>う</td></tr><tr><td>2</td><td>え</td><td>お</td><td>か</td></tr></tbody></table></figure>



<ul class="wp-block-list"><li><strong>FALSE（行方向）</strong>: あ → い → う → え → お → か</li><li><strong>TRUE（列方向）</strong>: あ → え → い → お → う → か</li></ul>



<p>省略時は行方向（FALSE）で左上から右へ読み取ります。データの並び順が結果に影響するので、用途に合わせて切り替えてくださいね。</p>



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



<p>ここでは、月別の売上データをTOCOL関数で1列に変換する例を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc6">サンプルデータ</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>100</td><td>120</td><td>110</td></tr><tr><td>3</td><td>大阪</td><td>80</td><td>90</td><td>85</td></tr><tr><td>4</td><td>名古屋</td><td>60</td><td>70</td><td>65</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc7">数値データだけを1列にする</span></h3>



<p>B2:D4の数値部分だけを1列に変換します。出力先のセル（たとえばF2）に以下の数式を入力して、Enterを押します。</p>



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



<p>行方向（左→右、上→下）に読み取られ、9個の値が縦1列に並びます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th></tr></thead><tbody><tr><td>2</td><td>100</td></tr><tr><td>3</td><td>120</td></tr><tr><td>4</td><td>110</td></tr><tr><td>5</td><td>80</td></tr><tr><td>6</td><td>90</td></tr><tr><td>7</td><td>85</td></tr><tr><td>8</td><td>60</td></tr><tr><td>9</td><td>70</td></tr><tr><td>10</td><td>65</td></tr></tbody></table></figure>



<p>東京の4月→5月→6月、大阪の4月→5月→6月&#8230;という順番で並んでいますね。</p>



<h3 class="wp-block-heading"><span id="toc8">空白セルを除外して変換する</span></h3>



<p>データに空白セルが混ざっている場合は、第2引数に1を指定します。</p>



<pre class="wp-block-code"><code>=TOCOL(B2:D4, 1)</code></pre>



<p>空白セルをスキップして、値のあるセルだけが1列に並びます。データクレンジングの第一歩として便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc9">列方向に読み取って変換する</span></h3>



<p>第3引数にTRUEを指定すると、列方向に読み取ります。</p>



<pre class="wp-block-code"><code>=TOCOL(B2:D4, 0, TRUE)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th></tr></thead><tbody><tr><td>2</td><td>100</td></tr><tr><td>3</td><td>80</td></tr><tr><td>4</td><td>60</td></tr><tr><td>5</td><td>120</td></tr><tr><td>6</td><td>90</td></tr><tr><td>7</td><td>70</td></tr><tr><td>8</td><td>110</td></tr><tr><td>9</td><td>85</td></tr><tr><td>10</td><td>65</td></tr></tbody></table></figure>



<p>今度は4月の東京→大阪→名古屋、5月の東京→大阪→名古屋&#8230;という月別の順番になりました。「拠点別にまとめたいか」「月別にまとめたいか」で使い分けてください。</p>



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



<h3 class="wp-block-heading"><span id="toc11">パターン1: 重複を除外したユニークリストを作る</span></h3>



<p>複数列にまたがる担当者名を1列にまとめて、重複を除外したリストを作れます。</p>



<pre class="wp-block-code"><code>=UNIQUE(TOCOL(B2:D10, 1))</code></pre>



<p>TOCOL関数で1列にまとめた結果を、<a href="https://mashukabu.com/spreadsheet-unique-function/">UNIQUE関数</a>に渡して重複を除外しています。ドロップダウンリストの選択肢を自動生成したい場面で活躍するパターンです。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン2: 1列にまとめてからソートする</span></h3>



<p>散らばったデータを1列にまとめて、昇順や降順に並べ替えることもできます。</p>



<pre class="wp-block-code"><code>=SORT(TOCOL(B2:D4, 1))</code></pre>



<p><a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">SORT関数</a>と組み合わせれば、2次元の数値データを小さい順に並べた一覧が作れます。全体のランキングを見たいときに便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン3: FILTER関数で条件抽出してから1列にする</span></h3>



<p>条件で絞り込んだ結果を1列に変換するパターンです。</p>



<pre class="wp-block-code"><code>=TOCOL(FILTER(B2:D10, A2:A10=&quot;営業&quot;), 1)</code></pre>



<p><a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>で営業部のデータだけを抽出し、その結果をTOCOL関数で1列にまとめています。部署別の集計データを縦に並べたいときに使えます。</p>



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



<p>1列に変換した値に対して一括で計算を適用することもできます。</p>



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



<p>売上データを1列に変換しつつ、すべての値に1.1（税込み換算）を掛けています。<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a>と組み合わせれば、変換と計算を1つの数式でまとめられますよ。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン5: 複数の範囲を1列に結合する</span></h3>



<p>中カッコ（{}）で複数の範囲を配列として渡すと、まとめて1列に変換できます。</p>



<pre class="wp-block-code"><code>=TOCOL({B2:D4; F2:H4}, 1)</code></pre>



<p>セミコロン（;）で縦方向に結合した配列を、TOCOL関数で1列に変換しています。別々のシートや離れた範囲のデータを1つのリストにまとめたいときに便利です。</p>



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



<p>TOCOL関数には、ペアとなるTOROW関数があります。どちらも2次元データを1次元に変換する関数ですが、出力の方向が異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>TOCOL関数</th><th>TOROW関数</th></tr></thead><tbody><tr><td>出力方向</td><td>縦1列に変換</td><td>横1行に変換</td></tr><tr><td>構文</td><td><code>=TOCOL(配列, [無視], [列方向スキャン])</code></td><td><code>=TOROW(配列, [無視], [列方向スキャン])</code></td></tr><tr><td>引数</td><td>まったく同じ（3引数）</td><td>まったく同じ（3引数）</td></tr><tr><td>第2引数（無視）</td><td>同じ（0/1/2/3）</td><td>同じ（0/1/2/3）</td></tr><tr><td>第3引数（スキャン方向）</td><td>同じ（FALSE/TRUE）</td><td>同じ（FALSE/TRUE）</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> → TOCOL関数</li><li><strong>横方向にデータを並べたい</strong> → TOROW関数</li></ul>



<p>引数の構造は完全に同じなので、出力方向を変えたいときは関数名を入れ替えるだけで切り替えられます。</p>



<p>実務では、TOCOL関数を使うケースのほうが多いです。スプレッドシートではデータを縦方向に並べるのが基本で、SORT関数やFILTER関数、UNIQUE関数など縦方向のデータを前提とした関数が多いためです。</p>



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



<p>スプレッドシートには、似た機能を持つFLATTEN関数もあります。どちらも2次元データを1次元に変換しますが、機能に違いがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>TOCOL関数</th><th>FLATTEN関数</th></tr></thead><tbody><tr><td>出力方向</td><td>縦1列</td><td>縦1列</td></tr><tr><td>空白・エラーの除外</td><td>できる（第2引数で指定）</td><td>できない</td></tr><tr><td>スキャン方向の指定</td><td>できる（第3引数で指定）</td><td>できない（行方向固定）</td></tr><tr><td>複数範囲の結合</td><td>配列記法（{}）で対応</td><td>引数を複数指定可能</td></tr><tr><td>Excel互換性</td><td>あり（Microsoft 365）</td><td>なし（Sheets独自）</td></tr></tbody></table></figure>



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



<ul class="wp-block-list"><li><strong>空白除外やスキャン方向の制御が必要</strong> → TOCOL関数</li><li><strong>複数の離れた範囲をシンプルに結合したい</strong> → FLATTEN関数</li></ul>



<p>FLATTEN関数の最大の利点は、複数の範囲を引数として直接指定できることです。</p>



<pre class="wp-block-code"><code>=FLATTEN(A1:C3, E1:G3, I1:K3)</code></pre>



<p>TOCOL関数で同じことをするには、中カッコで配列を作る必要があります。</p>



<pre class="wp-block-code"><code>=TOCOL({A1:C3; E1:G3; I1:K3}, 1)</code></pre>



<p>ただし、TOCOL関数には空白除外やスキャン方向の制御ができるという大きなメリットがあります。データクレンジングが必要な場面では、TOCOL関数のほうが便利ですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>FLATTEN関数はExcelにはない、Googleスプレッドシート独自の関数です。Excelとの互換性を意識するなら、TOCOL関数を使うのがおすすめです。</p></blockquote>



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



<p>TOCOL関数はシンプルですが、使い方によってはエラーが発生します。</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>#VALUE!</code></td><td>第2引数に0〜3以外の値を指定した</td><td>0、1、2、3のいずれかを指定してください</td></tr><tr><td><code>#VALUE!</code></td><td>第3引数にTRUE/FALSE以外の値を指定した</td><td>TRUEまたはFALSEを指定してください</td></tr><tr><td><code>#NAME?</code></td><td>関数名のスペルミス</td><td>「TOCOL」のスペルを確認してください</td></tr><tr><td>空白が混ざる</td><td>元データに空白セルがある</td><td>第2引数に1または3を指定して空白を除外してください</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>エラー値が混在するデータを扱うときは、第2引数に2（エラー除外）または3（空白+エラー除外）を指定しましょう。IFERRORで個別に対処するよりスマートです。</p></blockquote>



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



<p>TOCOL関数は、2次元のセル範囲を縦1列に変換するための関数です。空白やエラーの除外、読み取り方向の制御まで備わっており、データ整理の強い味方になります。</p>



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



<ul class="wp-block-list"><li>TOCOL関数は <code>=TOCOL(範囲)</code> で、2次元データを縦1列に変換する</li><li>第2引数で空白（1）やエラー（2）を除外できる。両方除外は3を指定する</li><li>第3引数でスキャン方向を切り替えられる（FALSE: 行方向、TRUE: 列方向）</li><li>TOROW関数はペア関数で、横1行に変換する。引数の構造は同じ</li><li>FLATTEN関数と比べて、空白除外・スキャン方向制御・Excel互換性の点で優れている</li></ul>



<p>まずは <code>=TOCOL(A1:C3)</code> のシンプルな使い方から試してみてください。UNIQUE関数やSORT関数と組み合わせれば、散らばったデータの整理がグッと楽になりますよ。</p>



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



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-tocol/">ExcelのTOCOL関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-torow-function/">スプレッドシートのTOROW関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-transpose-function/">スプレッドシートのTRANSPOSE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-unique-function/">スプレッドシートのUNIQUE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">スプレッドシートのSORT関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-filter-function/">スプレッドシートのFILTER関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-tocol-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>TOROW関数の使い方｜引数・TOCOL比較・エラー対処</title>
		<link>https://mashukabu.com/excel-function-howto-use-torow/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-torow/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 18 Nov 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[TOCOL関数]]></category>
		<category><![CDATA[TOROW関数]]></category>
		<category><![CDATA[TRANSPOSE関数]]></category>
		<category><![CDATA[スピル関数]]></category>
		<category><![CDATA[動的配列]]></category>
		<category><![CDATA[配列関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=3025</guid>

					<description><![CDATA[ExcelのTOROW関数の使い方を引数の意味から解説。空白・エラーの除外方法やスキャン方向の使い分け、TOCOL・TRANSPOSEとの違いを比較表で整理しています。]]></description>
										<content:encoded><![CDATA[
<p>Excelで複数行・複数列にまたがるデータを、横1行にまとめたいことってありますよね。手動でコピー＆ペーストしていると時間がかかりますし、元データが変わるたびにやり直しです。</p>



<p>TOROW関数を使えば、2次元の範囲を数式ひとつで横1行に変換できます。空白やエラーの除外もオプションひとつで設定できるので、データ整理が一気にスムーズになりますよ。</p>



<p>この記事では、TOROW関数の引数の意味から使い方を解説します。<a href="https://mashukabu.com/excel-function-howto-use-tocol/">TOCOL関数</a>・<a href="https://mashukabu.com/excel-function-howto-use-transpose/">TRANSPOSE関数</a>との違い、よくあるエラーの対処法もあわせて紹介しますよ。</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">ExcelのTOROW関数とは？</a><ol><li><a href="#toc2" tabindex="0">読み方と基本概念</a></li><li><a href="#toc3" tabindex="0">使えるバージョン</a></li></ol></li><li><a href="#toc4" tabindex="0">TOROW関数の引数を丁寧に解説</a><ol><li><a href="#toc5" tabindex="0">第1引数「配列」</a></li><li><a href="#toc6" tabindex="0">第2引数「無視」（0/1/2/3）</a></li><li><a href="#toc7" tabindex="0">第3引数「scan_by_column」（行順vs列順）</a></li></ol></li><li><a href="#toc8" tabindex="0">TOROW関数の使用例（基本から応用まで）</a><ol><li><a href="#toc9" tabindex="0">基本：セル範囲を横1行に変換</a></li><li><a href="#toc10" tabindex="0">空白セルを除外して変換（ignore=1）</a></li><li><a href="#toc11" tabindex="0">列方向スキャンで並び順を変える（scan_by_column=TRUE）</a></li></ol></li><li><a href="#toc12" tabindex="0">TOCOL・TRANSPOSEとの違い</a><ol><li><a href="#toc13" tabindex="0">TOROW vs TOCOL</a></li><li><a href="#toc14" tabindex="0">TOROW vs TRANSPOSE</a></li><li><a href="#toc15" tabindex="0">比較表</a></li></ol></li><li><a href="#toc16" tabindex="0">他の関数との組み合わせ活用</a><ol><li><a href="#toc17" tabindex="0">UNIQUE + TOROW</a></li><li><a href="#toc18" tabindex="0">FILTER + TOROW</a></li><li><a href="#toc19" tabindex="0">HSTACK + TOROW</a></li></ol></li><li><a href="#toc20" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc21" tabindex="0">#SPILL!</a></li><li><a href="#toc22" tabindex="0">#NAME?</a></li><li><a href="#toc23" tabindex="0">#NUM!</a></li></ol></li><li><a href="#toc24" tabindex="0">まとめ</a><ol><li><a href="#toc25" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<h3 class="wp-block-heading"><span id="toc2">読み方と基本概念</span></h3>



<p>TOROW関数（読み方: トゥロウ関数）は、2次元のセル範囲や配列を<strong>横1行の配列に変換する</strong>関数です。「to row（行にする）」が名前の由来になっています。</p>



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



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



<ul class="wp-block-list"><li>2次元のセル範囲を横1行に変換する</li><li>空白セルやエラー値を除外して変換できる</li><li>読み取り順序を行方向・列方向で切り替えられる</li><li>他の関数と組み合わせてデータ整理を効率化できる</li></ul>



<h3 class="wp-block-heading"><span id="toc3">使えるバージョン</span></h3>



<p>TOROW関数は比較的新しい関数です。使えるバージョンは限られているので、事前に確認しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>バージョン</th><th>対応状況</th></tr></thead><tbody><tr><td>Microsoft 365</td><td>対応</td></tr><tr><td>Excel 2024</td><td>対応</td></tr><tr><td>Excel for the web</td><td>対応</td></tr><tr><td>Excel 2021</td><td>非対応</td></tr><tr><td>Excel 2019以前</td><td>非対応</td></tr></tbody></table></figure>



<p>Excel 2021以前のバージョンでは <code>#NAME?</code> エラーになります。職場のExcelバージョンが対応しているか、先に確認してくださいね。</p>



<h2 class="wp-block-heading"><span id="toc4">TOROW関数の引数を丁寧に解説</span></h2>



<p>まずはTOROW関数の構文を確認しましょう。</p>



<pre class="wp-block-code"><code>=TOROW(配列, [無視], [scan_by_column])</code></pre>



<p>引数は3つありますが、必須なのは第1引数の「配列」だけです。第2・第3引数は省略できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>配列</td><td>必須</td><td>1行に変換したいセル範囲または配列</td></tr><tr><td>無視</td><td>任意</td><td>除外する値の種類を指定する（0〜3）</td></tr><tr><td>scan_by_column</td><td>任意</td><td>読み取り方向を指定する（FALSE/TRUE）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">第1引数「配列」</span></h3>



<p>「配列」には、横1行に変換したいセル範囲を指定します。<code>B2:D5</code> のようなセル範囲のほか、他の関数の結果（配列）を渡すこともできます。</p>



<pre class="wp-block-code"><code>=TOROW(B2:D5)</code></pre>



<p>指定した範囲のすべてのセルが、横1行に展開されます。</p>



<h3 class="wp-block-heading"><span id="toc6">第2引数「無視」（0/1/2/3）</span></h3>



<p>第2引数では、変換時に除外する値の種類を数値で指定します。省略すると0（すべて保持）になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>動作</th></tr></thead><tbody><tr><td>0（省略時）</td><td>すべての値を保持する</td></tr><tr><td>1</td><td>空白セルを除外する</td></tr><tr><td>2</td><td>エラー値を除外する</td></tr><tr><td>3</td><td>空白セルとエラー値の両方を除外する</td></tr></tbody></table></figure>



<p>データに歯抜けやエラーが混ざっている場合は、1や3を指定するとクリーンな結果を取得できます。特に3を指定すると空白とエラーをまとめて除外できるので便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc7">第3引数「scan_by_column」（行順vs列順）</span></h3>



<p>第3引数では、2次元データをどの順番で読み取るかを指定します。省略するとFALSE（行方向）になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>読み取り順序</th><th>説明</th></tr></thead><tbody><tr><td>FALSE（省略時）</td><td>行方向</td><td>1行目を左から右へ → 2行目を左から右へ → &#8230;</td></tr><tr><td>TRUE</td><td>列方向</td><td>1列目を上から下へ → 2列目を上から下へ → &#8230;</td></tr></tbody></table></figure>



<p>たとえば以下の2行x2列のデータを変換する場合です。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A列</th><th>B列</th></tr></thead><tbody><tr><td>1行目</td><td>A</td><td>B</td></tr><tr><td>2行目</td><td>1</td><td>2</td></tr></tbody></table></figure>



<ul class="wp-block-list"><li><strong>FALSE（行方向）</strong>: A → B → 1 → 2</li><li><strong>TRUE（列方向）</strong>: A → 1 → B → 2</li></ul>



<p>並び順が結果に影響するので、用途に合わせて切り替えてください。</p>



<h2 class="wp-block-heading"><span id="toc8">TOROW関数の使用例（基本から応用まで）</span></h2>



<h3 class="wp-block-heading"><span id="toc9">基本：セル範囲を横1行に変換</span></h3>



<p>月別・拠点別の売上データを横1行に変換してみましょう。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>B</th><th>C</th><th>D</th></tr></thead><tbody><tr><td>1</td><td>4月</td><td>5月</td><td>6月</td></tr><tr><td>2</td><td>100</td><td>120</td><td>110</td></tr><tr><td>3</td><td>80</td><td>90</td><td>85</td></tr><tr><td>4</td><td>60</td><td>70</td><td>65</td></tr></tbody></table></figure>



<p>数値部分（B2:D4）を横1行に変換します。出力先のセルに以下の数式を入力してください。</p>



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



<p>行方向に読み取られ、結果は次のように横1行に並びます。</p>



<p>| 100 | 120 | 110 | 80 | 90 | 85 | 60 | 70 | 65 |</p>



<p>1行目の100→120→110、2行目の80→90→85、3行目の60→70→65という順番で展開されていますね。</p>



<h3 class="wp-block-heading"><span id="toc10">空白セルを除外して変換（ignore=1）</span></h3>



<p>データに空白セルが含まれている場合は、第2引数に1を指定しましょう。</p>



<p>たとえば、C3が空白だったとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>B</th><th>C</th><th>D</th></tr></thead><tbody><tr><td>2</td><td>100</td><td>120</td><td>110</td></tr><tr><td>3</td><td>80</td><td>&nbsp;</td><td>85</td></tr><tr><td>4</td><td>60</td><td>70</td><td>65</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=TOROW(B2:D4, 1)</code></pre>



<p>空白セルがスキップされ、値のあるセルだけが横1行に並びます。結果は8個の値になります。</p>



<p>| 100 | 120 | 110 | 80 | 85 | 60 | 70 | 65 |</p>



<p>歯抜けのデータを詰めて並べたいときに重宝しますよ。</p>



<h3 class="wp-block-heading"><span id="toc11">列方向スキャンで並び順を変える（scan_by_column=TRUE）</span></h3>



<p>第3引数にTRUEを指定すると、列方向に読み取ります。</p>



<pre class="wp-block-code"><code>=TOROW(B2:D4, 0, TRUE)</code></pre>



<p>| 100 | 80 | 60 | 120 | 90 | 70 | 110 | 85 | 65 |</p>



<p>今度は列方向に読み取られています。B列の100→80→60、C列の120→90→70、D列の110→85→65という順番です。</p>



<p>「拠点ごとにまとめたい」なら行方向（FALSE）、「月ごとにまとめたい」なら列方向（TRUE）と使い分けてください。</p>



<h2 class="wp-block-heading"><span id="toc12">TOCOL・TRANSPOSEとの違い</span></h2>



<h3 class="wp-block-heading"><span id="toc13">TOROW vs TOCOL</span></h3>



<p><a href="https://mashukabu.com/excel-function-howto-use-tocol/">TOCOL関数</a>は、TOROW関数のペアとなる関数です。違いは出力の方向だけで、引数の構造はまったく同じです。</p>



<ul class="wp-block-list"><li><strong>TOROW関数</strong>: 横1行に変換する（右方向にスピル）</li><li><strong>TOCOL関数</strong>: 縦1列に変換する（下方向にスピル）</li></ul>



<p>引数を変えずに関数名を入れ替えるだけで、出力方向を切り替えられます。</p>



<h3 class="wp-block-heading"><span id="toc14">TOROW vs TRANSPOSE</span></h3>



<p><a href="https://mashukabu.com/excel-function-howto-use-transpose/">TRANSPOSE関数</a>は、行と列を入れ替える（転置する）関数です。TOROW関数との大きな違いは、データの「形」が変わるかどうかです。</p>



<ul class="wp-block-list"><li><strong>TOROW関数</strong>: 2次元データを1次元（横1行）にフラット化する</li><li><strong>TRANSPOSE関数</strong>: 2次元の形を維持したまま行と列を入れ替える</li></ul>



<p>たとえば3行x2列のデータに対して、TOROW関数は1行x6列に変換します。TRANSPOSE関数は2行x3列に変換します。目的がまったく異なる関数ですね。</p>



<h3 class="wp-block-heading"><span id="toc15">比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>TOROW関数</th><th>TOCOL関数</th><th>TRANSPOSE関数</th></tr></thead><tbody><tr><td>出力形状</td><td>横1行（1次元）</td><td>縦1列（1次元）</td><td>行列転置（2次元）</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>=TOROW(配列, [無視], [scan])</code></td><td><code>=TOCOL(配列, [無視], [scan])</code></td><td><code>=TRANSPOSE(配列)</code></td></tr><tr><td>主な用途</td><td>データを横1行に展開</td><td>データを縦1列に展開</td><td>行と列の入れ替え</td></tr></tbody></table></figure>



<p>データをフラット化したいならTOROW関数またはTOCOL関数、行列の向きを変えたいならTRANSPOSE関数、と覚えておけば迷いません。</p>



<h2 class="wp-block-heading"><span id="toc16">他の関数との組み合わせ活用</span></h2>



<p>TOROW関数は単体でも便利ですが、他の関数と組み合わせると活用の幅がさらに広がります。</p>



<h3 class="wp-block-heading"><span id="toc17">UNIQUE + TOROW</span></h3>



<p><a href="https://mashukabu.com/excel-function-howto-use-unique/">UNIQUE関数</a>（重複を除外する関数）と組み合わせると、複数列に散らばったデータから重複なしの横1行リストを作れます。</p>



<p>たとえばB2:D5に担当者名が入っている場合です。</p>



<pre class="wp-block-code"><code>=UNIQUE(TOROW(B2:D5, 1))</code></pre>



<p>TOROW関数で全担当者を横1行にまとめてから、UNIQUE関数で重複を除外しています。横方向のユニークリストが必要な場面で活躍します。</p>



<h3 class="wp-block-heading"><span id="toc18">FILTER + TOROW</span></h3>



<p><a href="https://mashukabu.com/excel-function-howto-use-filter/">FILTER関数</a>（条件に合うデータを抽出する関数）の結果をTOROW関数で横1行に展開するパターンです。</p>



<pre class="wp-block-code"><code>=TOROW(FILTER(B2:D10, A2:A10=&quot;営業&quot;), 1)</code></pre>



<p>FILTER関数で営業部のデータだけを抽出し、TOROW関数で横1行にまとめています。条件抽出の結果をフラットに並べたいときに使えます。</p>



<p>ただし、FILTER関数の結果が空（条件に合うデータがない）の場合は <code>#CALC!</code> エラーになります。データが空になる可能性があるときは、IFERROR関数で囲んでおくと安心です。</p>



<pre class="wp-block-code"><code>=IFERROR(TOROW(FILTER(B2:D10, A2:A10=&quot;営業&quot;), 1), &quot;該当なし&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc19">HSTACK + TOROW</span></h3>



<p><a href="https://mashukabu.com/excel-function-howto-use-hstack/">HSTACK関数</a>（複数の範囲を横方向に結合する関数）と組み合わせると、離れた複数の範囲をまとめて横1行に変換できます。</p>



<pre class="wp-block-code"><code>=TOROW(HSTACK(B2:C5, E2:F5))</code></pre>



<p>HSTACK関数で2つの範囲を横方向に結合してから、TOROW関数で横1行にフラット化しています。離れた範囲のデータを統合したいときに便利ですよ。</p>



<p>同じことを縦方向で結合するなら、<a href="https://mashukabu.com/excel-function-howto-use-vstack/">VSTACK関数</a>を使います。</p>



<pre class="wp-block-code"><code>=TOROW(VSTACK(B2:D3, B6:D7))</code></pre>



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



<p>TOROW関数を使っていて遭遇しやすいエラーをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#SPILL!</code></td><td>スピル先のセルにデータがある</td><td>出力先の横方向のセルを空にしてください</td></tr><tr><td><code>#NAME?</code></td><td>非対応バージョンで使用した</td><td>Microsoft 365・Excel 2024以降にアップグレードしてください</td></tr><tr><td><code>#NUM!</code></td><td>配列が大きすぎる</td><td>変換対象の範囲を小さくしてください</td></tr><tr><td><code>#CALC!</code></td><td>FILTER関数との組み合わせで空集合になった</td><td>IFERROR関数でエラー時の代替値を指定してください</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc21">#SPILL!</span></h3>



<p>TOROW関数はスピル機能を使って結果を横方向に展開します。展開先のセルに値や数式が入っていると <code>#SPILL!</code> エラーが発生します。</p>



<p>対処法はシンプルで、スピル先の横方向のセルを空にするだけです。結果が何セル分展開されるかを事前に確認して、十分な空きスペースを確保しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc22">#NAME?</span></h3>



<p><code>#NAME?</code> エラーが出る場合、Excel 2021以前のバージョンを使っている可能性が高いです。TOROW関数はMicrosoft 365またはExcel 2024以降でないと使えません。</p>



<p>関数名のスペルミスでも <code>#NAME?</code> になります。「TOROW」のつづりが正しいか、まず確認してくださいね。</p>



<p>バージョンの都合で使えない場合は、<a href="https://mashukabu.com/excel-function-howto-use-transpose/">TRANSPOSE関数</a>とINDEX関数の組み合わせで代替できます。ただし数式が複雑になるので、バージョンアップがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc23">#NUM!</span></h3>



<p>変換対象の配列が大きすぎると <code>#NUM!</code> エラーになります。Excelの列数の上限（16,384列）を超える数のセルを横1行に展開しようとした場合に発生します。</p>



<p>範囲が大きい場合は、先に<a href="https://mashukabu.com/excel-function-howto-use-chooserows/">CHOOSEROWS関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-choosecols/">CHOOSECOLS関数</a>で絞り込みましょう。必要な行・列だけを取り出してからTOROW関数に渡すことで解決できます。</p>



<pre class="wp-block-code"><code>=TOROW(CHOOSEROWS(A1:Z1000, SEQUENCE(10)))</code></pre>



<p><a href="https://mashukabu.com/excel-function-howto-use-sequence/">SEQUENCE関数</a>（連番を生成する関数）で先頭10行だけを指定し、範囲を絞り込んでいます。</p>



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



<p>TOROW関数は、2次元のセル範囲を横1行に変換するための関数です。空白やエラーの除外、スキャン方向の制御まで備わっており、データ整理を効率化できます。</p>



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



<ul class="wp-block-list"><li>TOROW関数は <code>=TOROW(範囲)</code> で、2次元データを横1行に変換する</li><li>第2引数で空白（1）やエラー（2）を除外できる。両方除外は3を指定する</li><li>第3引数でスキャン方向を切り替えられる（FALSE: 行方向、TRUE: 列方向）</li><li>TOCOL関数はペア関数で、縦1列に変換する。引数の構造は同じ</li><li>TRANSPOSE関数とは目的が異なる。フラット化ならTOROW、転置ならTRANSPOSE</li></ul>



<p>まずは <code>=TOROW(A1:C3)</code> のシンプルな形から試してみてください。UNIQUE関数やFILTER関数と組み合わせれば、散らばったデータの整理がグッと楽になりますよ。</p>



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



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-tocol/">TOCOL関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-transpose/">TRANSPOSE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-chooserows/">CHOOSEROWS関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-choosecols/">CHOOSECOLS関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-filter/">FILTER関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-hstack/">HSTACK関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-vstack/">VSTACK関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-unique/">UNIQUE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-sequence/">SEQUENCE関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-torow/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
