<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>行列分割 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%E8%A1%8C%E5%88%97%E5%88%86%E5%89%B2/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Sat, 02 May 2026 23:01:46 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>行列分割 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのTEXTSPLIT関数の使い方｜列方向・行方向・2次元分割を一発で書く完全ガイド</title>
		<link>https://mashukabu.com/spreadsheet-textsplit-function/</link>
					<comments>https://mashukabu.com/spreadsheet-textsplit-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:29:51 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[CSV変換]]></category>
		<category><![CDATA[SPLIT関数]]></category>
		<category><![CDATA[TEXTJOIN関数]]></category>
		<category><![CDATA[TEXTSPLIT関数]]></category>
		<category><![CDATA[区切り文字]]></category>
		<category><![CDATA[文字列分割]]></category>
		<category><![CDATA[行列分割]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4747</guid>

					<description><![CDATA[スプレッドシートのTEXTSPLIT関数の使い方を実務目線で解説。列方向だけでなく行方向にも分割できる強み、SPLITとの違い、CSV変換、複数回答アンケート展開、TEXTJOINとの相互変換、エラー対処までまるごと網羅。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「カンマ区切りで1セルに詰め込まれたデータを、列に分けたい」「セル内改行で複数行入っている回答を、行に展開したい」。こういう依頼、地味にうんざりしますよね。1件ずつコピペで分けていたら半日仕事ですし、ミスも混ざります。</p>



<p class="wp-block-paragraph">SPLIT関数は便利ですが、列方向にしか分割できません。改行で区切られたデータを行に展開したり、CSVっぽい文字列を一発で2次元の表に変えたりするのは苦手です。</p>



<p class="wp-block-paragraph">そこで頼りになるのが <strong>TEXTSPLIT関数</strong> です。列方向だけでなく <strong>行方向にも</strong> 分割できて、両方を同時に指定すれば2次元の表もワンショットで作れます。Excel（Microsoft 365）にも同じ名前の関数があるので、両方のツールで使い回せるのも強みです。</p>



<p class="wp-block-paragraph">この記事ではTEXTSPLIT関数の基本構文から、行方向分割、2次元展開、CSV変換、SPLITとの使い分け、TEXTJOINとの相互変換、よくあるエラーまで実務でそのまま使えるパターンをまるごと紹介していきます。</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">スプレッドシートのTEXTSPLIT関数とは？基本構文</a><ol><li><a href="#toc2" tabindex="0">=TEXTSPLIT(文字列, 列の区切り, &#8230;) の引数</a></li><li><a href="#toc3" tabindex="0">TEXTSPLITとSPLITの大きな違い</a></li></ol></li><li><a href="#toc4" tabindex="0">TEXTSPLIT関数の基本的な使い方（列方向に分割）</a></li><li><a href="#toc5" tabindex="0">TEXTSPLIT関数で行方向（縦）に分割する</a><ol><li><a href="#toc6" tabindex="0">セル内改行で区切られたデータを行に展開する</a></li></ol></li><li><a href="#toc7" tabindex="0">行と列の両方向に分割する（2次元の表に展開）</a><ol><li><a href="#toc8" tabindex="0">埋め値（pad_with）で #N/A を防ぐ</a></li></ol></li><li><a href="#toc9" tabindex="0">実務で使えるTEXTSPLITの活用パターン</a><ol><li><a href="#toc10" tabindex="0">CSVデータを表に変換する</a></li><li><a href="#toc11" tabindex="0">複数回答アンケートを行に展開する</a></li><li><a href="#toc12" tabindex="0">住所を都道府県・市区町村に分解する</a></li><li><a href="#toc13" tabindex="0">タグ文字列を行に並べる</a></li><li><a href="#toc14" tabindex="0">URLからパス要素を取り出す</a></li></ol></li><li><a href="#toc15" tabindex="0">SPLIT関数との違い・使い分け</a></li><li><a href="#toc16" tabindex="0">TEXTJOIN関数との相互変換（分割と結合のセット）</a></li><li><a href="#toc17" tabindex="0">ARRAYFORMULAで複数行を一括分割する</a></li><li><a href="#toc18" tabindex="0">TEXTSPLIT関数のよくあるエラーと対処法</a></li><li><a href="#toc19" tabindex="0">TEXTSPLITが使えないときの代替手段</a></li><li><a href="#toc20" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">TEXTSPLIT関数（読み方：テキストスプリット）は、<strong>指定した区切り文字で文字列を列方向・行方向に分割する</strong> 関数です。関数名は「TEXT（文字列）+ SPLIT（分割する）」に由来します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>TEXTSPLIT関数はGoogleスプレッドシートとExcel（Microsoft 365）の両方で使えます。引数の仕様もほぼ同じなので、両方のツールを行き来する方には心強い関数です。Excel 2019以前では使えないので注意してください。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc2">=TEXTSPLIT(文字列, 列の区切り, &#8230;) の引数</span></h3>



<pre class="wp-block-code"><code>=TEXTSPLIT(文字列, 列の区切り, [行の区切り], [空を無視], [大小区別], [埋め値])</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><tr><td>列の区切り</td><td>必須</td><td>列方向（右方向）の区切り文字。行のみ分割する場合は <code>""</code> を指定</td></tr><tr><td>行の区切り</td><td>任意</td><td>行方向（下方向）の区切り文字</td></tr><tr><td>空を無視</td><td>任意</td><td>TRUE: 空の結果を除外 / FALSE（既定）: 空セルも保持</td></tr><tr><td>大小区別</td><td>任意</td><td>0（既定）: 大文字小文字を区別 / 1: 区別しない</td></tr><tr><td>埋め値</td><td>任意</td><td>行列分割で要素数が揃わないとき不足部分に入れる値（既定は <code>#N/A</code>）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">最低限必要なのは「文字列」と「列の区切り」の2つです。行方向の分割が不要なら、SPLIT関数とほぼ同じ感覚で使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc3">TEXTSPLITとSPLITの大きな違い</span></h3>



<p class="wp-block-paragraph">ここでひとつだけ先に押さえておきたいのが、TEXTSPLITとSPLITの「区切り文字の扱い」の違いです。</p>



<pre class="wp-block-code"><code>=TEXTSPLIT(&quot;A-B--C&quot;, &quot;--&quot;)   → 「A-B」「C」 ※区切りは &quot;--&quot; 全体で1つ
=SPLIT(&quot;A-B--C&quot;, &quot;--&quot;)       → 「A」「B」「C」 ※&quot;-&quot; 1文字ずつが区切り扱い</code></pre>



<p class="wp-block-paragraph">SPLITは既定では区切り文字を <strong>1文字ずつバラして</strong> 区切りに使います。TEXTSPLITは渡した文字列を <strong>そのまま1つの区切り</strong> として扱います。「区切りが2文字以上の記号」「区切りに英単語を使う」場面では、TEXTSPLITの方が直感どおりに動きます。</p>



<h2 class="wp-block-heading"><span id="toc4">TEXTSPLIT関数の基本的な使い方（列方向に分割）</span></h2>



<p class="wp-block-paragraph">まずは一番シンプルな、列方向への分割から見ていきます。A1に <code>東京,大阪,名古屋,福岡</code> と入っているとします。</p>



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



<p class="wp-block-paragraph">結果はこうなります。</p>



<figure class="wp-block-table"><table><thead><tr><th>B1</th><th>C1</th><th>D1</th><th>E1</th></tr></thead><tbody><tr><td>東京</td><td>大阪</td><td>名古屋</td><td>福岡</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">カンマを区切り文字に指定するだけで、4つの都市名が右方向に展開されました。SPLIT関数を知っている方には馴染みのある動きですよね。</p>



<p class="wp-block-paragraph">スペース区切りや、フルネームの分解にも使えます。</p>



<pre class="wp-block-code"><code>=TEXTSPLIT(&quot;田中 太郎&quot;, &quot; &quot;)
→ 「田中」「太郎」が2つのセルに分かれる</code></pre>



<p class="wp-block-paragraph">複数文字の区切りもそのまま使えます。たとえば「、」（読点）と「：」（コロン）が混在するデータでも、区切り文字に2文字以上の文字列を指定できるのが強みです。</p>



<pre class="wp-block-code"><code>=TEXTSPLIT(&quot;商品A:100, 商品B:200, 商品C:300&quot;, &quot;, &quot;)
→ 「商品A:100」「商品B:200」「商品C:300」</code></pre>



<p class="wp-block-paragraph">「カンマだけ」だと先頭にスペースが残りますが、<code>", "</code>（カンマ+スペース）を区切りにすれば余分なスペースなく分けられます。SPLITで同じことをやるとスペースまで区切り扱いになるので、ここは地味にTEXTSPLITが便利な場面です。</p>



<h2 class="wp-block-heading"><span id="toc5">TEXTSPLIT関数で行方向（縦）に分割する</span></h2>



<p class="wp-block-paragraph">TEXTSPLIT関数の <strong>最大の特長は行方向（下方向）にも分割できる</strong> ことです。これはSPLIT関数にはない機能ですよ。</p>



<p class="wp-block-paragraph">行方向に分割するには、第2引数（列の区切り）を空文字列 <code>""</code> にして、第3引数（行の区切り）に区切り文字を指定します。</p>



<p class="wp-block-paragraph">A1に <code>りんご/みかん/ぶどう</code> と入っているとします。</p>



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



<p class="wp-block-paragraph">結果はこうなります。</p>



<figure class="wp-block-table"><table><thead><tr><th>行</th><th>A列</th></tr></thead><tbody><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 class="wp-block-paragraph">データが <strong>下方向に展開</strong> されました。列方向の区切りを空文字列 <code>""</code> にするのがポイントです。第2引数を省略するとエラーになるので注意してくださいね。</p>



<h3 class="wp-block-heading"><span id="toc6">セル内改行で区切られたデータを行に展開する</span></h3>



<p class="wp-block-paragraph">セル内で <code>Alt + Enter</code>（Macは <code>Option + Enter</code>）の改行で詰め込まれたデータも、TEXTSPLIT関数で行に分割できます。改行コードは <code>CHAR(10)</code> で表します。</p>



<pre class="wp-block-code"><code>=TEXTSPLIT(A1, &quot;&quot;, CHAR(10))</code></pre>



<p class="wp-block-paragraph">A1に「読書（改行）映画（改行）旅行」と入っていれば、3行に展開されます。アンケートの自由回答欄や、メモ帳から貼り付けた箇条書きを表データに変えたいときに重宝しますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>Windowsで作られたCSVだと改行コードが <code>CHAR(13)&CHAR(10)</code>（CR+LF）になっている場合があります。うまく分割できないときは、まず<a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a>で <code>CHAR(13)</code> を空文字に置換してから渡すと安定します。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc7">行と列の両方向に分割する（2次元の表に展開）</span></h2>



<p class="wp-block-paragraph">第2引数と第3引数を <strong>同時に指定</strong> すると、1つのセルから2次元の表を一発で作れます。これがTEXTSPLIT関数のいちばんの強みです。</p>



<p class="wp-block-paragraph">A1に次のようなデータが入っているとします。</p>



<pre class="wp-block-code"><code>東京,100,個/大阪,200,箱/名古屋,150,個</code></pre>



<p class="wp-block-paragraph">スラッシュで行を分け、カンマで列を分けたい場合の数式はこうです。</p>



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



<p class="wp-block-paragraph">結果はこうなります。</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>東京</td><td>100</td><td>個</td></tr><tr><td>2行目</td><td>大阪</td><td>200</td><td>箱</td></tr><tr><td>3行目</td><td>名古屋</td><td>150</td><td>個</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">1セルのデータが3行3列の表に展開されました。CSVデータをサッと表形式にしたいときに最強です。</p>



<h3 class="wp-block-heading"><span id="toc8">埋め値（pad_with）で #N/A を防ぐ</span></h3>



<p class="wp-block-paragraph">行列分割で各行の要素数が異なると、不足部分に <code>#N/A</code> が表示されます。</p>



<pre class="wp-block-code"><code>=TEXTSPLIT(&quot;東京,100/大阪&quot;, &quot;,&quot;, &quot;/&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>B列</th><th>C列</th></tr></thead><tbody><tr><td>1行目</td><td>東京</td><td>100</td></tr><tr><td>2行目</td><td>大阪</td><td>#N/A</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">2行目は要素が1つしかないため、C列が <code>#N/A</code> になっています。これを避けるには第6引数（埋め値）で代わりの値を指定します。</p>



<pre class="wp-block-code"><code>=TEXTSPLIT(&quot;東京,100/大阪&quot;, &quot;,&quot;, &quot;/&quot;, , , &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">第4・第5引数は省略するのでカンマだけ並べます。こうすると <code>#N/A</code> の代わりに空文字列が入ります。<code>0</code> や <code>"-"</code> を指定することもできるので、用途に合わせて選んでみてください。</p>



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



<p class="wp-block-paragraph">ここからは仕事の現場でそのまま使える具体例を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc10">CSVデータを表に変換する</span></h3>



<p class="wp-block-paragraph">テキストファイルからコピーしたCSVデータが1つのセルに入っている場合です。行はセル内改行で区切られ、列はカンマで区切られています。</p>



<pre class="wp-block-code"><code>=TEXTSPLIT(A1, &quot;,&quot;, CHAR(10))</code></pre>



<p class="wp-block-paragraph">これだけで複数行・複数列の表データに変換できます。SPLIT関数だと列方向のみなので、1行ずつ処理する必要がありました。TEXTSPLITなら一発ですよ。</p>



<p class="wp-block-paragraph">ヘッダー行が含まれていて、見出しと中身を分けたい場合は、複数のセルに分けてから<a href="https://mashukabu.com/spreadsheet-query-function/">QUERY関数</a>で整形するのもありです。</p>



<h3 class="wp-block-heading"><span id="toc11">複数回答アンケートを行に展開する</span></h3>



<p class="wp-block-paragraph">アンケートの複数回答が「読書, 映画, 旅行」のように1セルにまとまっている場合です。集計やピボットテーブルにかけるには、回答ごとに行を分けたい場面が多いですよね。</p>



<pre class="wp-block-code"><code>=TEXTSPLIT(A2, &quot;&quot;, &quot;, &quot;)</code></pre>



<p class="wp-block-paragraph">第2引数を空文字列、第3引数に「, 」（カンマ+スペース）を指定すると、回答が下方向に展開されます。これを全回答者ぶん繰り返して縦に積めば、回答数の集計や<a href="https://mashukabu.com/spreadsheet-countif-function/">COUNTIF関数</a>でのカウントがラクになります。</p>



<h3 class="wp-block-heading"><span id="toc12">住所を都道府県・市区町村に分解する</span></h3>



<p class="wp-block-paragraph">住所データを区切り文字で分割するケースです。「東京都-千代田区-丸の内1-1」のようにハイフンで区切られたデータなら、こう書けます。</p>



<pre class="wp-block-code"><code>=TEXTSPLIT(A2, &quot;-&quot;)</code></pre>



<p class="wp-block-paragraph">ただし住所のハイフンが番地にも含まれる場合は、想定外の位置で分かれることがあります。番地を残したいときは、最初の2つだけ取り出すなどの工夫が必要です。</p>



<pre class="wp-block-code"><code>=INDEX(TEXTSPLIT(A2, &quot;-&quot;), 1, 1)   → 都道府県
=INDEX(TEXTSPLIT(A2, &quot;-&quot;), 1, 2)   → 市区町村</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-index-function/">INDEX関数</a>で必要な要素だけを取り出す書き方も覚えておくと便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc13">タグ文字列を行に並べる</span></h3>



<p class="wp-block-paragraph">「#Excel #VBA #効率化」のようにシャープ区切りのタグ文字列も、TEXTSPLITで分割できます。</p>



<pre class="wp-block-code"><code>=TEXTSPLIT(A2, &quot;&quot;, &quot; &quot;)</code></pre>



<p class="wp-block-paragraph">スペースで行に区切れば、タグごとに集計したり、別シートに転記したりが簡単です。シャープ自体を消したいときは、SUBSTITUTE関数を組み合わせます。</p>



<pre class="wp-block-code"><code>=TEXTSPLIT(SUBSTITUTE(A2, &quot;#&quot;, &quot;&quot;), &quot;&quot;, &quot; &quot;)</code></pre>



<p class="wp-block-paragraph">入れ子にすると一発でタグだけの縦リストが完成します。</p>



<h3 class="wp-block-heading"><span id="toc14">URLからパス要素を取り出す</span></h3>



<p class="wp-block-paragraph">URLの「/」区切りも分割できます。<code>https://example.com/blog/2026/01/article</code> のようなURLからパス部分だけ取り出したいときに便利です。</p>



<pre class="wp-block-code"><code>=TEXTSPLIT(&quot;blog/2026/01/article&quot;, &quot;/&quot;)
→ 「blog」「2026」「01」「article」</code></pre>



<p class="wp-block-paragraph">URL全体を渡すと先頭にスキーム（<code>https:</code>）が入るので、必要に応じて<a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a>や<a href="https://mashukabu.com/spreadsheet-mid-function/">MID関数</a>で前処理してから渡してくださいね。</p>



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



<p class="wp-block-paragraph">TEXTSPLIT関数と<a href="https://mashukabu.com/spreadsheet-split-function/">SPLIT関数</a>はどちらも文字列分割の関数ですが、得意分野が違います。違いを整理してみました。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>TEXTSPLIT</th><th>SPLIT</th></tr></thead><tbody><tr><td>分割方向</td><td>列方向 + 行方向</td><td>列方向のみ</td></tr><tr><td>2次元分割</td><td>対応（列+行）</td><td>非対応</td></tr><tr><td>区切り文字の扱い</td><td>文字列全体を1つの区切りとして扱う</td><td>既定で1文字ずつ区切りとして扱う</td></tr><tr><td>1文字ずつ区切る</td><td>非対応</td><td>第3引数 TRUE で対応</td></tr><tr><td>空セルの扱い</td><td>第4引数で制御（既定 FALSE = 残す）</td><td>第4引数で制御（既定 TRUE = 除く）</td></tr><tr><td>大文字小文字</td><td>第5引数で区別しない設定が可能</td><td>区別する（変更不可）</td></tr><tr><td>埋め値の指定</td><td>第6引数で指定可能</td><td>なし</td></tr><tr><td>Excel互換</td><td>あり（Microsoft 365）</td><td>なし（スプレッドシート独自）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>使い分けの目安はこちらです。</strong></p>



<ul class="wp-block-list"><li><strong>列方向だけ・1区切り文字</strong>: どちらでもOK。シンプルにいくならSPLITが軽い</li><li><strong>区切り文字が2文字以上</strong>: TEXTSPLITが直感どおりに動く</li><li><strong>行方向の分割が必要</strong>: TEXTSPLIT一択</li><li><strong>2次元の表に展開したい</strong>: TEXTSPLITの独壇場</li><li><strong>1文字ずつ区切りたい（例: &#8220;a:b;c,d&#8221; を3記号で分けたい）</strong>: SPLITの第3引数 TRUE が便利</li><li><strong>Excelとの互換性が大事</strong>: TEXTSPLITならExcelでも同じ式で動く</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>既存のSPLIT関数の数式を移行するときは、区切り文字の扱いの違いに注意してください。SPLITで <code>",;"</code> を渡していた式は「カンマと;のいずれか」で区切る挙動ですが、TEXTSPLITだと「カンマ+セミコロン」の2文字を1つの区切り扱いにします。挙動を合わせたい場合は、TEXTSPLITの第2引数を配列 <code>{",", ";"}</code> で渡してください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc16">TEXTJOIN関数との相互変換（分割と結合のセット）</span></h2>



<p class="wp-block-paragraph">TEXTSPLIT関数と<a href="https://mashukabu.com/spreadsheet-textjoin-function/">TEXTJOIN関数</a>は <strong>「分割」と「結合」の逆の関係</strong> にあります。セットで覚えておくと、文字列操作の幅がグッと広がりますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>操作</th><th>関数</th><th>やりたいこと</th></tr></thead><tbody><tr><td>分割</td><td>TEXTSPLIT</td><td>「東京,大阪,名古屋」→ 3つのセルに分ける</td></tr><tr><td>結合</td><td>TEXTJOIN</td><td>3つのセルを → 「東京,大阪,名古屋」にまとめる</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">実際に相互変換してみましょう。</p>



<p class="wp-block-paragraph"><strong>分割（TEXTSPLIT）:</strong></p>



<pre class="wp-block-code"><code>=TEXTSPLIT(&quot;東京,大阪,名古屋&quot;, &quot;,&quot;)
→ B1:「東京」 C1:「大阪」 D1:「名古屋」</code></pre>



<p class="wp-block-paragraph"><strong>結合（TEXTJOIN）:</strong></p>



<pre class="wp-block-code"><code>=TEXTJOIN(&quot;,&quot;, TRUE, B1:D1)
→ 「東京,大阪,名古屋」</code></pre>



<p class="wp-block-paragraph">同じ区切り文字（カンマ）を使えば元の形に戻せます。データの前処理で分割し、後処理で結合するパイプラインを組むときは、この2つを行き来できると効率的です。</p>



<p class="wp-block-paragraph">なお、スプレッドシート独自の<a href="https://mashukabu.com/spreadsheet-join-function/">JOIN関数</a>でも結合はできます。ただし空セルを除外できる引数がない分、TEXTJOIN関数のほうが使い勝手はよいですよ。</p>



<h2 class="wp-block-heading"><span id="toc17">ARRAYFORMULAで複数行を一括分割する</span></h2>



<p class="wp-block-paragraph">TEXTSPLIT関数は1セルの分割が基本ですが、複数行のデータを一気に分割したいときは少し工夫が必要です。スプレッドシートの場合、TEXTSPLITをARRAYFORMULAでそのまま囲ってもうまく動きません。各行で結果が複数セルに広がるため、衝突してしまうからです。</p>



<p class="wp-block-paragraph">実務的には次の方針が安全です。</p>



<ul class="wp-block-list"><li><strong>数行〜数十行ぶん</strong>: TEXTSPLITをセルごとに貼り付ける（行ごとに展開先がずれない範囲で）</li><li><strong>大量行をまとめて処理したい</strong>: SPLIT関数を ARRAYFORMULAでまとめる</li></ul>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IFERROR(SPLIT(A2:A100, &quot;,&quot;)))</code></pre>



<p class="wp-block-paragraph">行方向に分けたいなら、TEXTSPLITを1セルずつ貼り付けるか、 <a href="https://mashukabu.com/spreadsheet-flatten-function/">FLATTEN関数</a>や<a href="https://mashukabu.com/spreadsheet-tocol-function/">TOCOL関数</a>と組み合わせてリスト化する方法もあります。やりたい形に応じて関数を選んでみてください。</p>



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



<p class="wp-block-paragraph">TEXTSPLIT関数で発生しやすいエラーをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#VALUE!</code></td><td>列の区切り（第2引数）が未指定</td><td>第2引数は必須。行のみ分割する場合は <code>""</code> を指定する</td></tr><tr><td><code>#N/A</code></td><td>行列分割で要素数が揃わない</td><td>第6引数（埋め値）に <code>""</code> や <code>0</code> を指定して埋める</td></tr><tr><td><code>#REF!</code></td><td>分割結果が隣のセルのデータを上書きしようとした</td><td>展開先に十分な空きセルを確保する</td></tr><tr><td>分割されない</td><td>全角・半角の不一致（<code>,</code> と <code>，</code> など）</td><td>区切り文字の全角・半角を確認する。SUBSTITUTEで統一する</td></tr><tr><td>大文字小文字で分割されない</td><td>既定で大文字小文字を区別する</td><td>第5引数を <code>1</code> にして区別しない設定にする</td></tr><tr><td>改行で分割できない</td><td>改行コードがLFではなくCRLF</td><td>SUBSTITUTEで <code>CHAR(13)</code> を除いてから渡す</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">最も多いのが <code>#N/A</code> エラーです。行列分割で各行の要素数が異なると自動的に <code>#N/A</code> が入る仕組みなので、 <strong>第6引数で埋め値を指定する</strong> 癖をつけておくと安心です。</p>



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



<p class="wp-block-paragraph">第4・第5引数は省略するのでカンマだけ並べる、という書き方を覚えておけば困りません。</p>



<h2 class="wp-block-heading"><span id="toc19">TEXTSPLITが使えないときの代替手段</span></h2>



<p class="wp-block-paragraph">TEXTSPLIT関数はGoogleスプレッドシートとExcel（Microsoft 365）で使えますが、Excel 2019以前のバージョンでは使えません。社内ファイルが古いExcelで開かれる可能性があるなら、代替手段も覚えておくと安心です。</p>



<figure class="wp-block-table"><table><thead><tr><th>やりたいこと</th><th>スプレッドシート</th><th>Excel 2019以前</th></tr></thead><tbody><tr><td>列方向の分割</td><td>SPLIT または TEXTSPLIT</td><td>データ→区切り位置 / 関数なら LEFT+FIND の組み合わせ</td></tr><tr><td>行方向の分割</td><td>TEXTSPLIT</td><td>関数では困難（マクロ推奨）</td></tr><tr><td>2次元分割</td><td>TEXTSPLIT</td><td>パワークエリ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">スプレッドシートで完結する作業ならTEXTSPLITで十分です。Excelとファイルをやり取りするチームでは、相手のExcelバージョンを確認してから使うのが安全ですよ。</p>



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



<p class="wp-block-paragraph">スプレッドシートのTEXTSPLIT関数は、 <strong>区切り文字で文字列を列方向・行方向・両方向に分割できる</strong> 強力な関数です。SPLIT関数では届かなかった「行方向の分割」「2次元展開」がワンショットで書けるのが大きな魅力です。</p>



<p class="wp-block-paragraph">この記事で紹介したパターンをおさらいします。</p>



<ul class="wp-block-list"><li><strong>列方向の分割</strong>: <code>=TEXTSPLIT(A1, ",")</code> でSPLIT感覚に使える</li><li><strong>行方向の分割</strong>: 第2引数を <code>""</code> に、第3引数に区切り文字を指定</li><li><strong>2次元分割</strong>: 第2・第3引数を両方指定して1セルから表を作る</li><li><strong>CSV変換</strong>: <code>=TEXTSPLIT(A1, ",", CHAR(10))</code> で改行+カンマのCSVを表化</li><li><strong>複数回答アンケート</strong>: 第3引数に <code>", "</code> で回答ごとに行展開</li><li><strong>埋め値で #N/A 回避</strong>: 第6引数に <code>""</code> や <code>0</code> を指定</li><li><strong>TEXTJOINとセットで覚える</strong>: 分割と結合を行き来する前処理に強い</li></ul>



<p class="wp-block-paragraph">列方向だけの分割なら<a href="https://mashukabu.com/spreadsheet-split-function/">SPLIT関数</a>でも十分ですが、行方向への分割やCSVデータの2次元展開はTEXTSPLIT関数の出番です。 <a href="https://mashukabu.com/spreadsheet-textjoin-function/">TEXTJOIN関数</a>との相互変換もセットで覚えておくと、文字列操作の選択肢が一気に増えますよ。</p>



<p class="wp-block-paragraph">文字列を途中から取り出したいときは<a href="https://mashukabu.com/spreadsheet-mid-function/">MID関数</a>、余分なスペースを整理したいときは<a href="https://mashukabu.com/spreadsheet-trim-function/">TRIM関数</a>、特定文字を別の文字に置き換えたいときは<a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a>も合わせてチェックしてみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-textsplit-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
