<?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>CSV変換 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/csv%E5%A4%89%E6%8F%9B/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=6.9.4</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>CSV変換 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのDATEVALUE関数の使い方｜文字列→日付変換</title>
		<link>https://mashukabu.com/spreadsheet-datevalue-function/</link>
					<comments>https://mashukabu.com/spreadsheet-datevalue-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:36:34 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[CSV変換]]></category>
		<category><![CDATA[DATEVALUE関数]]></category>
		<category><![CDATA[DATE関数]]></category>
		<category><![CDATA[シリアル値]]></category>
		<category><![CDATA[文字列変換]]></category>
		<category><![CDATA[日付変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4883</guid>

					<description><![CDATA[スプレッドシートのDATEVALUE関数で文字列の日付をシリアル値に変換する方法を解説。CSVインポートで日付が文字列になったときの対処法から、DATE関数・VALUE関数・TEXT関数との使い分けまで実務例を交えて紹介します。]]></description>
										<content:encoded><![CDATA[
<p>CSVをインポートしたら、日付のはずなのに並べ替えも日数計算もできない。セルを見ると左寄せになっていて、どうやら文字列として取り込まれたみたいだ。</p>



<p>こうなると一つずつ手入力で直すのは大変ですよね。数百行あるデータなら、なおさらです。</p>



<p>そんなときに使うのがDATEVALUE関数です。文字列として入っている日付を、計算に使えるシリアル値に一発変換してくれます。</p>



<p>この記事では、DATEVALUE関数の基本から、CSVデータの一括変換、DATE関数やVALUE関数との使い分けまで解説します。</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">DATEVALUE関数とは？文字列の日付をシリアル値に変換する関数</a></li><li><a href="#toc2" tabindex="0">DATEVALUE関数の基本的な使い方</a><ol><li><a href="#toc3" tabindex="0">構文と引数</a></li><li><a href="#toc4" tabindex="0">使用例：文字列の日付をシリアル値に変換する</a></li></ol></li><li><a href="#toc5" tabindex="0">CSVインポートで文字列になった日付を一括変換する</a><ol><li><a href="#toc6" tabindex="0">CSVデータの文字列日付を変換する</a></li><li><a href="#toc7" tabindex="0">&#038;で結合した日付文字列をシリアル値に変換する</a></li><li><a href="#toc8" tabindex="0">文字列の日付同士で日数差を計算する</a></li></ol></li><li><a href="#toc9" tabindex="0">DATEVALUE関数のよくあるエラーと対処法</a><ol><li><a href="#toc10" tabindex="0">認識できない日付形式のとき</a></li><li><a href="#toc11" tabindex="0">見えないスペースや制御文字があるとき</a></li><li><a href="#toc12" tabindex="0">IFERRORで安全に変換する</a></li></ol></li><li><a href="#toc13" tabindex="0">DATE関数・VALUE関数・TEXT関数との使い分け</a><ol><li><a href="#toc14" tabindex="0">DATEVALUEとVALUEの違い</a></li><li><a href="#toc15" tabindex="0">DATEVALUEとDATE関数の違い</a></li><li><a href="#toc16" tabindex="0">DATEVALUEとTEXT関数は逆の操作</a></li></ol></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">DATEVALUE関数とは？文字列の日付をシリアル値に変換する関数</span></h2>



<p>DATEVALUE関数（読み方: デイトバリュー関数）は、<strong>文字列形式の日付をシリアル値に変換する関数</strong>です。</p>



<p>名前は英語の「date（日付）」+「value（値）」がそのまま関数名になっています。</p>



<p>Googleスプレッドシートでは、日付を内部的に「シリアル値」という数値で管理しています。1899年12月30日を起点にした通し番号で、たとえば「2026/1/1」はシリアル値で「46023」です。</p>



<p>セルに「2026/3/15」と入力すると、通常はスプレッドシートが自動でシリアル値として認識してくれます。ところがCSVインポートや&#038;での文字列結合で「見た目は日付だけど中身は文字列」という状態になることがあります。</p>



<p>DATEVALUE関数は、こうした文字列の日付をシリアル値に変換してくれます。変換すれば、日付の計算や並べ替えができるようになりますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>文字列かどうかを見分けるコツは、セルの配置です。数値や日付は右寄せ、文字列は左寄せで表示されます。左寄せになっていたら文字列の可能性が高いです。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc3">構文と引数</span></h3>



<pre class="wp-block-code"><code>=DATEVALUE(日付文字列)</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>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>時刻を含む文字列（&#8221;2026/3/15 10:00&#8243;など）を渡した場合、時刻部分は無視されます。日付部分のシリアル値だけが返ります。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc4">使用例：文字列の日付をシリアル値に変換する</span></h3>



<p>もっともシンプルな使い方です。ダブルクォーテーションで囲んだ日付文字列を指定します。</p>



<pre class="wp-block-code"><code>=DATEVALUE(&quot;2026/3/15&quot;)</code></pre>



<p>結果は「46097」（シリアル値）です。セルの表示形式が「標準」のままだと数字で表示されます。「表示形式」メニューから「日付」を選べば、「2026/3/15」として表示されますよ。</p>



<p>セル参照でも使えます。A2に文字列「2026/3/15」が入っているとします。</p>



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



<p>結果は同じく「46097」です。</p>



<p>さまざまな日付形式に対応しています。</p>



<pre class="wp-block-code"><code>=DATEVALUE(&quot;2026/3/15&quot;)      → 46097
=DATEVALUE(&quot;2026-3-15&quot;)      → 46097
=DATEVALUE(&quot;2026年3月15日&quot;)   → 46097
=DATEVALUE(&quot;March 15, 2026&quot;) → 46097</code></pre>



<p>スラッシュ区切り・ハイフン区切り・日本語表記・英語表記、いずれもスプレッドシートが日付として認識できれば変換できます。</p>



<h2 class="wp-block-heading"><span id="toc5">CSVインポートで文字列になった日付を一括変換する</span></h2>



<p>DATEVALUE関数がもっとも活躍するのは、CSVインポートの場面です。</p>



<h3 class="wp-block-heading"><span id="toc6">CSVデータの文字列日付を変換する</span></h3>



<p>他のシステムから出力したCSVをスプレッドシートにインポートすると、日付列が文字列として取り込まれることがよくあります。</p>



<p>A列に文字列の日付が並んでいるとします。B2に次の数式を入れましょう。</p>



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



<p>この数式をB列にコピーすれば一括変換できます。変換後のB列をコピーして「値のみ貼り付け」すれば、数式を消してシリアル値だけ残せます。</p>



<p>あとはセルの表示形式を「日付」に変更すれば完了です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>大量のデータを変換するときは、B列に数式を入れてからB列全体をコピーし、A列に「値のみ貼り付け」すると元のデータを直接置き換えられます。補助列が不要になってすっきりしますよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc7">&#038;で結合した日付文字列をシリアル値に変換する</span></h3>



<p>セルの値を<code>&</code>で結合すると、結果は文字列になります。日付として使いたい場合はDATEVALUE関数で変換しましょう。</p>



<p>A1に「2026」、B1に「3」、C1に「15」が入っているとします。</p>



<pre class="wp-block-code"><code>=DATEVALUE(A1&amp;&quot;/&quot;&amp;B1&amp;&quot;/&quot;&amp;C1)</code></pre>



<p>結果は「46097」（2026/3/15のシリアル値）です。</p>



<p>ただしこのケースでは、<a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数</a>で<code>=DATE(A1,B1,C1)</code>と書くほうがシンプルです。DATEVALUE関数は「すでに日付形式の文字列が存在する」場面で使うのがベストです。</p>



<h3 class="wp-block-heading"><span id="toc8">文字列の日付同士で日数差を計算する</span></h3>



<p>文字列のままでは引き算ができません。DATEVALUE関数で変換すれば日数差を計算できます。</p>



<p>A1に「2026/3/1」（文字列）、B1に「2026/4/1」（文字列）が入っているとします。</p>



<pre class="wp-block-code"><code>=DATEVALUE(B1)-DATEVALUE(A1)</code></pre>



<p>結果は「31」（日数差）です。期日管理や経過日数の計算で、元データが文字列のときに使えるパターンです。</p>



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



<p>DATEVALUE関数で発生するエラーは、ほとんどが引数の文字列に関する問題です。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!エラー</td><td>認識できない日付形式</td><td>&#8220;2026/3/15&#8243;のように認識できる形式に修正する</td></tr><tr><td>#VALUE!エラー</td><td>空のセルを参照している</td><td><code>=IF(A1="","",DATEVALUE(A1))</code> で空セルチェック</td></tr><tr><td>#VALUE!エラー</td><td>余分なスペースが混入</td><td><code>=DATEVALUE(TRIM(A1))</code> でスペースを除去</td></tr><tr><td>5桁の数字が表示される</td><td>表示形式が「標準」のまま</td><td>表示形式を「日付」に変更する（正常動作）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc10">認識できない日付形式のとき</span></h3>



<p>「15/03/2026」のように日/月/年の順番で入力されていると、スプレッドシートのロケール設定によっては正しく認識されないことがあります。</p>



<p><a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a>で区切り文字を置き換えるか、文字列操作で年/月/日の順に並べ替えてからDATEVALUE関数に渡しましょう。</p>



<h3 class="wp-block-heading"><span id="toc11">見えないスペースや制御文字があるとき</span></h3>



<p>見た目は正しい日付なのにエラーが出るときは、スペースや制御文字が混入している可能性があります。</p>



<p><a href="https://mashukabu.com/spreadsheet-trim-function/">TRIM関数</a>と<a href="https://mashukabu.com/spreadsheet-clean-function/">CLEAN関数</a>で前処理してから変換しましょう。</p>



<pre class="wp-block-code"><code>=DATEVALUE(TRIM(CLEAN(A1)))</code></pre>



<p>TRIM関数は余分なスペースを除去し、CLEAN関数は印刷できない制御文字を除去します。</p>



<h3 class="wp-block-heading"><span id="toc12">IFERRORで安全に変換する</span></h3>



<p>変換できない文字列が混在しているときは、IFERRORで囲むとエラーを回避できます。</p>



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



<p>エラーのときは空白を返します。大量データを一括変換するときに便利です。</p>



<h2 class="wp-block-heading"><span id="toc13">DATE関数・VALUE関数・TEXT関数との使い分け</span></h2>



<p>文字列と日付を変換する関数はいくつかあります。目的に応じて使い分けましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>目的</th><th>使い方の例</th></tr></thead><tbody><tr><td><strong>DATEVALUE</strong></td><td>文字列の日付をシリアル値に変換</td><td><code>=DATEVALUE("2026/3/15")</code> → 46097</td></tr><tr><td><strong><a href="https://mashukabu.com/spreadsheet-value-function/">VALUE関数</a></strong></td><td>文字列を数値に変換（日付・時刻・数値すべて対応）</td><td><code>=VALUE("2026/3/15")</code> → 46097</td></tr><tr><td><strong><a href="https://mashukabu.com/spreadsheet-text-function/">TEXT関数</a></strong></td><td>シリアル値を指定書式の文字列に変換</td><td><code>=TEXT(46097,"YYYY/MM/DD")</code> → &#8220;2026/03/15&#8221;</td></tr><tr><td><strong><a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数</a></strong></td><td>年・月・日の数値から日付を作成</td><td><code>=DATE(2026,3,15)</code> → 2026/3/15</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc14">DATEVALUEとVALUEの違い</span></h3>



<p>VALUE関数は日付文字列にも使えるため、多くの場面でDATEVALUE関数と同じ結果になります。</p>



<pre class="wp-block-code"><code>=DATEVALUE(&quot;2026/3/15&quot;)  → 46097
=VALUE(&quot;2026/3/15&quot;)      → 46097</code></pre>



<p>結果は同じです。ではどう使い分ければいいのでしょうか。</p>



<p>DATEVALUE関数は「日付文字列専用」です。数式を見た人に「この列は日付データを扱っている」という意図が伝わります。確実に日付とわかっている列にはDATEVALUE関数がおすすめです。</p>



<p>一方、VALUE関数は数値も日付も時刻もまとめて変換できます。「何の文字列が入っているかわからない」ときや、数値と日付が混在している列にはVALUE関数が向いています。</p>



<p>もうひとつの違いは、時刻を含む文字列の扱いです。</p>



<pre class="wp-block-code"><code>=DATEVALUE(&quot;2026/3/15 10:30&quot;)  → 46097（日付部分のみ）
=VALUE(&quot;2026/3/15 10:30&quot;)      → 46097.4375（日付＋時刻）</code></pre>



<p>DATEVALUE関数は時刻部分を無視して日付のシリアル値だけを返します。VALUE関数は時刻も含めた値を返します。日付だけが必要なときはDATEVALUE関数のほうが安全です。</p>



<h3 class="wp-block-heading"><span id="toc15">DATEVALUEとDATE関数の違い</span></h3>



<p>どちらも日付のシリアル値を返しますが、入力が異なります。</p>



<ul class="wp-block-list"><li><strong>DATEVALUE関数</strong>: 文字列の日付を受け取る（例: <code>=DATEVALUE("2026/3/15")</code>）</li><li><strong>DATE関数</strong>: 年・月・日の数値を受け取る（例: <code>=DATE(2026,3,15)</code>）</li></ul>



<p>年・月・日がバラバラのセルに入っているなら<a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数</a>を使いましょう。「2026/3/15」のような日付形式の文字列がすでにあるならDATEVALUE関数が適しています。</p>



<h3 class="wp-block-heading"><span id="toc16">DATEVALUEとTEXT関数は逆の操作</span></h3>



<p><a href="https://mashukabu.com/spreadsheet-text-function/">TEXT関数</a>はシリアル値を文字列に変換する関数です。DATEVALUE関数はその逆で、文字列をシリアル値に戻します。</p>



<pre class="wp-block-code"><code>=TEXT(46097, &quot;YYYY/MM/DD&quot;)   → &quot;2026/03/15&quot;（文字列）
=DATEVALUE(&quot;2026/03/15&quot;)     → 46097（シリアル値に戻る）</code></pre>



<p>TEXT関数で書式を整えた結果をさらに計算に使いたくなったら、DATEVALUE関数で戻せることを覚えておくと便利です。</p>



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



<p>DATEVALUE関数は、文字列形式の日付をシリアル値に変換する関数です。</p>



<p>ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=DATEVALUE(日付文字列)</code> の1引数だけ</li><li>CSVインポートで日付が文字列になったときの定番の解決策</li><li>スラッシュ区切り・ハイフン区切り・日本語表記など幅広い形式に対応</li><li>時刻を含む文字列は日付部分のみ変換（時刻は無視される）</li><li>VALUE関数との違いは「日付専用」であること。意図が明確になる</li><li>年・月・日がバラバラなら<a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数</a>、文字列がすでにあるならDATEVALUE関数</li><li><a href="https://mashukabu.com/spreadsheet-text-function/">TEXT関数</a>はDATEVALUE関数の逆操作</li><li>エラーが出たらTRIM・CLEAN関数で前処理、IFERRORで安全に変換</li></ul>



<p>まずは <code>=DATEVALUE(A2)</code> でCSVデータの文字列日付を変換するところから試してみてください。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-date-function/">スプレッドシートDATE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-value-function/">スプレッドシートのVALUE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-text-function/">スプレッドシートのTEXT関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-year-function/">スプレッドシートのYEAR関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-day-function/">スプレッドシートのDAY関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-edate-function/">スプレッドシートのEDATE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-datevalue/">ExcelのDATEVALUE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-list-by-function/">機能別のエクセル関数一覧</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-datevalue-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<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>「カンマ区切りで1セルに詰め込まれたデータを、列に分けたい」「セル内改行で複数行入っている回答を、行に展開したい」。こういう依頼、地味にうんざりしますよね。1件ずつコピペで分けていたら半日仕事ですし、ミスも混ざります。</p>



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



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



<p>この記事では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-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">スプレッドシートの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>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>最低限必要なのは「文字列」と「列の区切り」の2つです。行方向の分割が不要なら、SPLIT関数とほぼ同じ感覚で使えますよ。</p>



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



<p>ここでひとつだけ先に押さえておきたいのが、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>SPLITは既定では区切り文字を <strong>1文字ずつバラして</strong> 区切りに使います。TEXTSPLITは渡した文字列を <strong>そのまま1つの区切り</strong> として扱います。「区切りが2文字以上の記号」「区切りに英単語を使う」場面では、TEXTSPLITの方が直感どおりに動きます。</p>



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



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



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



<p>結果はこうなります。</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>カンマを区切り文字に指定するだけで、4つの都市名が右方向に展開されました。SPLIT関数を知っている方には馴染みのある動きですよね。</p>



<p>スペース区切りや、フルネームの分解にも使えます。</p>



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



<p>複数文字の区切りもそのまま使えます。たとえば「、」（読点）と「：」（コロン）が混在するデータでも、区切り文字に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>「カンマだけ」だと先頭にスペースが残りますが、<code>", "</code>（カンマ+スペース）を区切りにすれば余分なスペースなく分けられます。SPLITで同じことをやるとスペースまで区切り扱いになるので、ここは地味にTEXTSPLITが便利な場面です。</p>



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



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



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



<p>A1に <code>りんご/みかん/ぶどう</code> と入っているとします。</p>



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



<p>結果はこうなります。</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>データが <strong>下方向に展開</strong> されました。列方向の区切りを空文字列 <code>""</code> にするのがポイントです。第2引数を省略するとエラーになるので注意してくださいね。</p>



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



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



<p>A1に次のようなデータが入っているとします。</p>



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



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



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



<p>結果はこうなります。</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>1セルのデータが3行3列の表に展開されました。CSVデータをサッと表形式にしたいときに最強です。</p>



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



<p>行列分割で各行の要素数が異なると、不足部分に <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>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>第4・第5引数は省略するのでカンマだけ並べます。こうすると <code>#N/A</code> の代わりに空文字列が入ります。<code>0</code> や <code>"-"</code> を指定することもできるので、用途に合わせて選んでみてください。</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p>ただし住所のハイフンが番地にも含まれる場合は、想定外の位置で分かれることがあります。番地を残したいときは、最初の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><a href="https://mashukabu.com/spreadsheet-index-function/">INDEX関数</a>で必要な要素だけを取り出す書き方も覚えておくと便利ですよ。</p>



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



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



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



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



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



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



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



<p>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>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>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><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>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>実際に相互変換してみましょう。</p>



<p><strong>分割（TEXTSPLIT）:</strong></p>



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



<p><strong>結合（TEXTJOIN）:</strong></p>



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



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



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



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



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



<p>実務的には次の方針が安全です。</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>行方向に分けたいなら、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>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>最も多いのが <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>第4・第5引数は省略するのでカンマだけ並べる、という書き方を覚えておけば困りません。</p>



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



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



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



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



<p>この記事で紹介したパターンをおさらいします。</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>列方向だけの分割なら<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>文字列を途中から取り出したいときは<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>
		<item>
		<title>ExcelのDATEVALUE関数の使い方｜文字列の日付をシリアル値に変換する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-datevalue/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-datevalue/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 15 Jul 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[CSV変換]]></category>
		<category><![CDATA[DATEVALUE関数]]></category>
		<category><![CDATA[シリアル値]]></category>
		<category><![CDATA[文字列変換]]></category>
		<category><![CDATA[日付変換]]></category>
		<category><![CDATA[関数比較]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2383</guid>

					<description><![CDATA[ExcelのDATEVALUE関数で文字列の日付をシリアル値に変換する方法を解説。CSVインポートで日付が文字列になったときの対処法から、VALUE関数・TEXT関数との使い分けまで実務例を交えて紹介します。]]></description>
										<content:encoded><![CDATA[
<p>「CSVを取り込んだら日付が文字列になっていて、並べ替えも計算もできない&#8230;」そんな経験はありませんか。見た目は日付なのにExcelが日付として認識してくれないと、集計や期日管理でつまずきますよね。</p>



<p>そんなときに使うのが<strong>DATEVALUE関数</strong>です。この記事では基本の書き方から、CSVデータの一括変換や和暦文字列の対処法まで、実務パターンをまとめて紹介します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>この記事は次のような人におすすめ</strong></p><p>&#8211; CSVや他システムからの取り込みで日付が文字列になってしまった<br>&#8211; 文字列の日付を計算や並べ替えに使えるようにしたい<br>&#8211; DATEVALUE関数とVALUE関数の違いを整理したい</p></blockquote>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-3" checked><label class="toc-title" for="toc-checkbox-3">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">DATEVALUE関数とは？</a></li><li><a href="#toc2" tabindex="0">DATEVALUE関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc5" tabindex="0">DATEVALUE関数の基本的な使い方</a><ol><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">DATEVALUE関数の実務活用パターン</a><ol><li><a href="#toc10" tabindex="0">CSVインポートで文字列になった日付を一括変換する</a></li><li><a href="#toc11" tabindex="0">&#038;で結合した日付文字列をシリアル値に戻す</a></li><li><a href="#toc12" tabindex="0">文字列の日付同士で日数差を計算する</a></li><li><a href="#toc13" tabindex="0">和暦の文字列を変換する</a></li><li><a href="#toc14" tabindex="0">TEXT関数で作った文字列を元に戻す</a></li></ol></li><li><a href="#toc15" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc16" tabindex="0">似た関数との違い・使い分け</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">DATEVALUE関数とは？</span></h2>



<p><strong>DATEVALUE関数</strong>（読み方: デイトバリュー）は、文字列形式の日付をシリアル値に変換する関数です。英語の「date（日付）」+「value（値）」がそのまま関数名になっています。</p>



<p>Excelでは日付を内部的に「シリアル値」という数値で管理しています。1900年1月1日を「1」として、1日ごとに1ずつ増える仕組みです。たとえば2025年4月1日のシリアル値は「45748」です。</p>



<p>セルに <code>2025/4/1</code> と入力すると、通常はExcelが自動的にシリアル値として認識してくれます。ところがCSVインポートや&#038;での文字列結合などで「見た目は日付だけど中身は文字列」という状態になることがあります。</p>



<p>DATEVALUE関数は、こうした文字列をシリアル値に変換してくれます。日付として計算や並べ替えに使えるようになりますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>文字列かどうかを見分けるコツ</strong></p><p>セルの値が文字列になっていると、セルの左上に小さな緑の三角形（エラーインジケーター）が表示されることがあります。また、セルを選択して数式バーを見たとき、左寄せで表示されていれば文字列の可能性が高いです。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=DATEVALUE(日付文字列)</code></pre>



<p>引数は1つだけで、<strong>必須</strong>です。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>内容</th></tr></thead><tbody><tr><td><strong>日付文字列</strong></td><td>必須</td><td>日付を表す文字列を指定する。&#8221;2025/4/1&#8243; や &#8220;2025年4月1日&#8221; のようにExcelが日付として認識できる形式が必要</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>時刻を含む文字列（&#8221;2025/4/1 10:00&#8243;など）を渡した場合、時刻部分は無視されます。時刻も含めて変換したいときは、<a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数</a>を使ってください。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc6">文字列を直接指定して変換する</span></h3>



<p>もっともシンプルな使い方です。ダブルクォーテーションで囲んだ日付文字列を指定します。</p>



<pre class="wp-block-code"><code>=DATEVALUE(&quot;2025/4/1&quot;)</code></pre>



<p>結果: <strong>45748</strong>（シリアル値）</p>



<p>セルの表示形式が「標準」のままだと数値のまま表示されます。日付として見たい場合は、表示形式を「日付」に変更してください。</p>



<h3 class="wp-block-heading"><span id="toc7">セル参照で変換する</span></h3>



<p>A1に文字列 <code>2025/4/1</code> が入っている場合、次のように書きます。</p>



<pre class="wp-block-code"><code>=DATEVALUE(A1)</code></pre>



<p>結果: <strong>45748</strong>（シリアル値）</p>



<p>CSVインポートで日付列が文字列になったとき、この形で隣の列に変換式を入れてオートフィルするのが定番のパターンです。</p>



<h3 class="wp-block-heading"><span id="toc8">さまざまな日付形式に対応する</span></h3>



<p>DATEVALUE関数はExcelが日付として認識できる形式であれば変換できます。</p>



<pre class="wp-block-code"><code>=DATEVALUE(&quot;2025/4/1&quot;)       → 45748
=DATEVALUE(&quot;2025-4-1&quot;)       → 45748
=DATEVALUE(&quot;2025年4月1日&quot;)    → 45748
=DATEVALUE(&quot;April 1, 2025&quot;)  → 45748
=DATEVALUE(&quot;1-Apr-2025&quot;)     → 45748</code></pre>



<p>スラッシュ区切り・ハイフン区切り・日本語表記・英語表記など、幅広い形式に対応しています。</p>



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



<h3 class="wp-block-heading"><span id="toc10">CSVインポートで文字列になった日付を一括変換する</span></h3>



<p>他のシステムから出力したCSVファイルをExcelで開くと、日付列が文字列として取り込まれることがよくあります。</p>



<p>A列に文字列の日付が入っているとします。B列に変換式を入れましょう。</p>



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



<p>この式をB列にオートフィルすれば、一括変換できます。変換後のB列をコピーして「値のみ貼り付け」すれば、元のA列を置き換えることもできますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>tip</strong></p><p>変換後にB列を「値のみ貼り付け」でA列に上書きすれば、補助列を残さずにすみます。貼り付けた後はA列の表示形式を「日付」に変更するのを忘れずに。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc11">&#038;で結合した日付文字列をシリアル値に戻す</span></h3>



<p>セルの値を<code>&</code>で結合すると、結果は文字列になります。日付として使いたい場合はDATEVALUE関数で変換しましょう。</p>



<p>A1に「2025」、B1に「4」、C1に「1」が入っているとします。</p>



<pre class="wp-block-code"><code>=DATEVALUE(A1&amp;&quot;/&quot;&amp;B1&amp;&quot;/&quot;&amp;C1)</code></pre>



<p>結果: <strong>45748</strong>（2025/4/1のシリアル値）</p>



<p>ただしこのケースでは、<a href="https://mashukabu.com/excel-function-howto-use-date/">DATE関数</a>で <code>=DATE(A1,B1,C1)</code> と書くほうがシンプルです。DATEVALUEは「すでに日付形式の文字列が存在する」場面で使うのがベストです。</p>



<h3 class="wp-block-heading"><span id="toc12">文字列の日付同士で日数差を計算する</span></h3>



<p>文字列のままでは引き算ができませんが、DATEVALUEで変換すれば計算できます。</p>



<p>A1に <code>2025/3/1</code>（文字列）、B1に <code>2025/4/1</code>（文字列）が入っているとします。</p>



<pre class="wp-block-code"><code>=DATEVALUE(B1)-DATEVALUE(A1)</code></pre>



<p>結果: <strong>31</strong>（日数差）</p>



<p>期日管理や経過日数の計算で、元データが文字列のときに使えるパターンです。</p>



<h3 class="wp-block-heading"><span id="toc13">和暦の文字列を変換する</span></h3>



<p>「令和7年4月1日」のような和暦文字列は、Excelの設定によってはDATEVALUEで直接変換できない場合があります。その場合はSUBSTITUTE関数で西暦に置き換えてから変換します。</p>



<pre class="wp-block-code"><code>=DATEVALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,&quot;年&quot;,&quot;/&quot;),&quot;月&quot;,&quot;/&quot;),&quot;日&quot;,&quot;&quot;))</code></pre>



<p>A1が「2025年4月1日」なら「2025/4/1」に変換されてから、シリアル値になります。「令和」「平成」などの元号が含まれる場合は、元号を西暦年に置き換える追加処理が必要です。</p>



<h3 class="wp-block-heading"><span id="toc14">TEXT関数で作った文字列を元に戻す</span></h3>



<p><a href="https://mashukabu.com/excel-function-howto-use-text/">TEXT関数</a>はシリアル値を文字列に変換する関数で、DATEVALUE関数とは逆の操作になります。</p>



<pre class="wp-block-code"><code>=TEXT(A1, &quot;yyyy/mm/dd&quot;)   → &quot;2025/04/01&quot;（文字列）
=DATEVALUE(&quot;2025/04/01&quot;)  → 45748（シリアル値）</code></pre>



<p>TEXT関数で書式を整えた結果をさらに計算に使いたくなったら、DATEVALUEで戻せることを覚えておくと便利です。</p>



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



<p>DATEVALUE関数で発生するエラーは、ほとんどが引数の文字列に関する問題です。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE! エラーが出る</td><td>引数がExcelが認識できない日付形式</td><td>&#8220;2025/4/1&#8221; のようにExcelが解釈できる形式に修正する</td></tr><tr><td>#VALUE! エラーが出る</td><td>引数が空のセルを参照している</td><td>IF関数で空セルチェックを入れる: <code>=IF(A1="","",DATEVALUE(A1))</code></td></tr><tr><td>#VALUE! エラーが出る</td><td>セル内に余分なスペースがある</td><td><a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM関数</a>でスペースを除去: <code>=DATEVALUE(TRIM(A1))</code></td></tr><tr><td>5桁の数字が表示される</td><td>セルの表示形式が「標準」のまま</td><td>セルの表示形式を「日付」に変更する（DATEVALUE関数の正常な動作。シリアル値が返っている）</td></tr><tr><td>すでに日付のセルに使って同じ値が返る</td><td>参照先がすでにシリアル値（文字列ではない）</td><td>DATEVALUE関数は不要。そのセルはすでに日付として認識されている</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>DATEVALUE関数は「文字列を日付に変換する」関数です。すでにExcelが日付として認識しているセルに対して使う必要はありません。「文字列かどうか分からない」ときは、TYPE関数で確認できます。<code>=TYPE(A1)</code> が「2」なら文字列です。</p></blockquote>



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



<p>文字列と日付を変換する関数はいくつかあります。目的に応じて使い分けましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>目的</th><th>使い方の例</th></tr></thead><tbody><tr><td><strong>DATEVALUE</strong></td><td>文字列の日付をシリアル値に変換する</td><td><code>=DATEVALUE("2025/4/1")</code> → 45748</td></tr><tr><td><strong><a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数</a></strong></td><td>文字列を数値に変換する（日付・時刻・数値すべて対応）</td><td><code>=VALUE("2025/4/1")</code> → 45748</td></tr><tr><td><strong><a href="https://mashukabu.com/excel-function-howto-use-text/">TEXT関数</a></strong></td><td>シリアル値を指定した書式の文字列に変換する</td><td><code>=TEXT(45748,"yyyy/mm/dd")</code> → &#8220;2025/04/01&#8221;</td></tr><tr><td><strong><a href="https://mashukabu.com/excel-function-howto-use-date/">DATE関数</a></strong></td><td>年・月・日の数値から日付を作成する</td><td><code>=DATE(2025,4,1)</code> → 2025/4/1</td></tr><tr><td><strong><a href="https://mashukabu.com/excel-function-howto-use-timevalue/">TIMEVALUE関数</a></strong></td><td>文字列の時刻をシリアル値に変換する</td><td><code>=TIMEVALUE("10:30")</code> → 0.4375</td></tr></tbody></table></figure>



<p><strong>使い分けのポイント</strong></p>



<ul class="wp-block-list"><li>「文字列の日付を日付に変換したい」→ <strong>DATEVALUE関数</strong></li><li>「文字列の数値・日付・時刻を数値に変換したい」→ <strong>VALUE関数</strong>（より汎用的）</li><li>「日付を好きな書式の文字列にしたい」→ <strong>TEXT関数</strong>（DATEVALUEの逆操作）</li><li>「年・月・日を個別に指定して日付を作りたい」→ <strong>DATE関数</strong></li><li>「文字列の時刻を時刻に変換したい」→ <strong>TIMEVALUE関数</strong></li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>DATEVALUEとVALUEの違い</strong></p><p>VALUE関数は日付文字列にも使えるため、多くの場面でDATEVALUE関数と同じ結果になります。ただしDATEVALUE関数は「日付文字列専用」なので、数式の意図が読み手に伝わりやすいのがメリットです。また、時刻を含む文字列ではVALUE関数は時刻部分もシリアル値に含めますが、DATEVALUEは日付部分のみを返します。</p></blockquote>



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



<p>DATEVALUE関数は、文字列形式の日付をシリアル値に変換する関数です。</p>



<ul class="wp-block-list"><li><strong>構文</strong>: <code>=DATEVALUE(日付文字列)</code> &#8212; 引数は1つだけ</li><li><strong>戻り値</strong>: 日付のシリアル値（表示形式を「日付」にすれば日付として見える）</li><li><strong>主な用途</strong>: CSVインポートで文字列になった日付の変換、&#038;結合した日付文字列の変換、文字列の日付同士の日数計算</li><li><strong>エラー対処</strong>: #VALUE! が出たら日付形式・空セル・余分なスペースを確認</li><li><strong>関連関数</strong>: <a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数</a>（汎用変換）、<a href="https://mashukabu.com/excel-function-howto-use-text/">TEXT関数</a>（逆操作）、<a href="https://mashukabu.com/excel-function-howto-use-date/">DATE関数</a>（年月日から作成）</li></ul>



<p>CSVデータの取り込みや他システムとの連携では、日付が文字列になるトラブルはよくあります。DATEVALUEを知っておけばサッと対処できるので、覚えておいて損はないですよ。</p>



<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-date/">DATE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-text/">TEXT関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-year/">YEAR関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-month/">MONTH関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-day/">DAY関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-edate/">EDATE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-timevalue/">TIMEVALUE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-list-by-function/">機能別のエクセル関数一覧</a></li><li><a href="https://mashukabu.com/excel-function-alphabetical-order/">アルファベット順のエクセル関数一覧</a></li><li><a href="https://mashukabu.com/excel-error-value-list/">エラー値一覧</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-datevalue/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
