<?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>REGEXREPLACE &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/regexreplace/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 19 Mar 2026 12:15:58 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>REGEXREPLACE &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのSUBSTITUTE関数の使い方｜文字列置換の基本から応用まで</title>
		<link>https://mashukabu.com/spreadsheet-substitute-function/</link>
					<comments>https://mashukabu.com/spreadsheet-substitute-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 18 Mar 2026 22:34:25 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[REGEXREPLACE]]></category>
		<category><![CDATA[REPLACE関数]]></category>
		<category><![CDATA[SUBSTITUTE関数]]></category>
		<category><![CDATA[文字列操作]]></category>
		<category><![CDATA[文字列置換]]></category>
		<category><![CDATA[関数の使い方]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4256</guid>

					<description><![CDATA[スプレッドシートのSUBSTITUTE関数の基本から応用まで解説。第4引数で特定番目だけ置換、ネストで複数文字列を一括置換する方法、REPLACEとの違いも丁寧に説明します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートで「この文字を別の文字に置き換えたい」と思ったことはありませんか？電話番号のハイフンを消したい、データのカッコを一括で外したい。手作業で直すと時間がかかりますし、何百行もあると修正漏れが怖いですよね。</p>



<p class="wp-block-paragraph">SUBSTITUTE関数を使えば、指定した文字列をまとめて置換できます。この記事ではスプレッドシートでのSUBSTITUTE関数の基本から、複数文字の一括置換、似た関数との使い分けまで丁寧に解説します。</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">スプレッドシートのSUBSTITUTE関数の使い方：基本構文と引数の役割</a><ol><li><a href="#toc2" tabindex="0">4つの引数の役割</a></li><li><a href="#toc3" tabindex="0">基本的な使い方</a></li></ol></li><li><a href="#toc4" tabindex="0">SUBSTITUTE関数でよく使う実務パターン</a><ol><li><a href="#toc5" tabindex="0">スペース・改行・不要文字を削除する</a></li><li><a href="#toc6" tabindex="0">電話番号のハイフンを消す</a></li><li><a href="#toc7" tabindex="0">複数の文字列を一括置換する（ネストSUBSTITUTE）</a></li></ol></li><li><a href="#toc8" tabindex="0">第4引数で「何番目だけ」を指定する方法</a><ol><li><a href="#toc9" tabindex="0">同じ文字が複数ある場合の挙動</a></li><li><a href="#toc10" tabindex="0">実務活用例</a></li></ol></li><li><a href="#toc11" tabindex="0">SUBSTITUTE・REPLACE・REGEXREPLACEの使い分け</a><ol><li><a href="#toc12" tabindex="0">3関数の比較表</a></li></ol></li><li><a href="#toc13" tabindex="0">よくある失敗と対処法</a><ol><li><a href="#toc14" tabindex="0">大文字・小文字の区別に注意</a></li><li><a href="#toc15" tabindex="0">全角・半角の罠</a></li></ol></li><li><a href="#toc16" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのSUBSTITUTE関数の使い方：基本構文と引数の役割</span></h2>



<p class="wp-block-paragraph">SUBSTITUTE関数は、文字列の中から<strong>指定した文字を別の文字に置き換える</strong>関数です。読み方は「サブスティテュート」。英語の「Substitute（代わりに置く）」が名前の由来です。</p>



<p class="wp-block-paragraph">たとえば「東京都渋谷区」の「渋谷」を「新宿」に置き換えて「東京都新宿区」にできます。Excelの「検索と置換」機能のように使えますが、数式なので元データを壊さずに結果を得られるのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc2">4つの引数の役割</span></h3>



<pre class="wp-block-code"><code>=SUBSTITUTE(対象テキスト, 検索文字列, 置換文字列, [出現回数])</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>置き換えたい文字列</td></tr><tr><td>置換文字列</td><td>必須</td><td>置き換え後の文字列（空文字&#8221;&#8221;で削除）</td></tr><tr><td>出現回数</td><td>省略可</td><td>何番目の一致だけを置換するか（省略で全置換）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">第4引数は省略するケースがほとんどです。省略すると一致する文字列を<strong>すべて</strong>置き換えます。</p>



<h3 class="wp-block-heading"><span id="toc3">基本的な使い方</span></h3>



<p class="wp-block-paragraph">セルA2に「2024/03/18」が入っているとします。</p>



<pre class="wp-block-code"><code>=SUBSTITUTE(A2, &quot;/&quot;, &quot;-&quot;)  → 「2024-03-18」</code></pre>



<p class="wp-block-paragraph">スラッシュをハイフンに置き換えました。対象テキストに「/」が2つありますが、第4引数を省略しているので両方とも置き換わります。</p>



<p class="wp-block-paragraph">置換文字列に空文字（&#8221;&#8221;）を指定すれば、文字の<strong>削除</strong>としても使えます。</p>



<pre class="wp-block-code"><code>=SUBSTITUTE(A2, &quot;/&quot;, &quot;&quot;)  → 「20240318」</code></pre>



<p class="wp-block-paragraph">検索文字列が見つからなくてもエラーにはなりません。元テキストがそのまま返るだけなので、「置換できていない」事故に気づきにくいのです。</p>



<h2 class="wp-block-heading"><span id="toc4">SUBSTITUTE関数でよく使う実務パターン</span></h2>



<h3 class="wp-block-heading"><span id="toc5">スペース・改行・不要文字を削除する</span></h3>



<p class="wp-block-paragraph">データのコピペで混入する余分なスペースや改行は、SUBSTITUTE関数で一掃できます。</p>



<pre class="wp-block-code"><code>=SUBSTITUTE(A2, &quot; &quot;, &quot;&quot;)       → 半角スペースを削除
=SUBSTITUTE(A2, &quot;　&quot;, &quot;&quot;)      → 全角スペースを削除
=SUBSTITUTE(A2, CHAR(10), &quot;&quot;)  → 改行を削除</code></pre>



<p class="wp-block-paragraph">改行は目に見えないので直接入力できません。<code>CHAR(10)</code>で改行コードを指定するのがコツです。</p>



<h3 class="wp-block-heading"><span id="toc6">電話番号のハイフンを消す</span></h3>



<p class="wp-block-paragraph">電話番号を「数字だけ」にしたい場面はよくありますよね。</p>



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



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/02_formula_substitute-basic.png" alt="_images/spreadsheet-substitute-function/02_formula_substitute-basic.png" /></figure>



<p class="wp-block-paragraph">A2に「03-1234-5678」が入っていれば「0312345678」が返ります。ハイフンが2つあっても全置換なので1回の数式で完了です。</p>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-substitute-function/01_data_phone-numbers.png/">_images/spreadsheet-substitute-function/01_data_phone-numbers.png</a></p>



<h3 class="wp-block-heading"><span id="toc7">複数の文字列を一括置換する（ネストSUBSTITUTE）</span></h3>



<p class="wp-block-paragraph">SUBSTITUTE関数は1回の呼び出しで1種類の文字しか置換できません。複数の文字を置き換えたい場合は、SUBSTITUTE関数を入れ子（ネスト）にします。</p>



<p class="wp-block-paragraph">たとえばA2に「(株)ABC商事」が入っていて、カッコを両方消したい場合です。</p>



<pre class="wp-block-code"><code>=SUBSTITUTE(SUBSTITUTE(A2, &quot;(&quot;, &quot;&quot;), &quot;)&quot;, &quot;&quot;)  → 「株ABC商事」</code></pre>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-substitute-function/04_formula_substitute-nest.png/">_images/spreadsheet-substitute-function/04_formula_substitute-nest.png</a></p>



<p class="wp-block-paragraph">ちょっとむずかしく見えますが、やっていることはシンプルです。</p>



<ol class="wp-block-list"><li>内側の<code>SUBSTITUTE(A2, "(", "")</code>で「(」を削除 → 「株)ABC商事」</li><li>外側の<code>SUBSTITUTE(..., ")", "")</code>で「)」を削除 → 「株ABC商事」</li></ol>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-substitute-function/05_result_substitute-nest.png/">_images/spreadsheet-substitute-function/05_result_substitute-nest.png</a></p>



<p class="wp-block-paragraph">3つ以上の文字を消したいときは、さらにネストを重ねます。</p>



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



<p class="wp-block-paragraph">ネストが深くなると読みにくくなります。3段以上になる場合は、後述するREGEXREPLACE関数のほうがすっきり書けますよ。</p>



<h2 class="wp-block-heading"><span id="toc8">第4引数で「何番目だけ」を指定する方法</span></h2>



<h3 class="wp-block-heading"><span id="toc9">同じ文字が複数ある場合の挙動</span></h3>



<p class="wp-block-paragraph">第4引数を省略するとすべて置換されます。しかし「1番目だけ」「3番目だけ」を置き換えたい場合もありますよね。</p>



<p class="wp-block-paragraph">A2に「りんご-みかん-りんご-ぶどう」が入っています。</p>



<pre class="wp-block-code"><code>=SUBSTITUTE(A2, &quot;りんご&quot;, &quot;バナナ&quot;)     → 「バナナ-みかん-バナナ-ぶどう」
=SUBSTITUTE(A2, &quot;りんご&quot;, &quot;バナナ&quot;, 1)  → 「バナナ-みかん-りんご-ぶどう」
=SUBSTITUTE(A2, &quot;りんご&quot;, &quot;バナナ&quot;, 2)  → 「りんご-みかん-バナナ-ぶどう」</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/06_result_substitute-nth.png" alt="_images/spreadsheet-substitute-function/06_result_substitute-nth.png" /></figure>



<p class="wp-block-paragraph">第4引数に「1」を指定すると、最初の「りんご」だけが置き換わります。「2」なら2番目だけです。</p>



<h3 class="wp-block-heading"><span id="toc10">実務活用例</span></h3>



<p class="wp-block-paragraph">商品コードが「A-001-A-B」のように複数のハイフンで区切られているとします。2番目のハイフンだけをスラッシュに変えたい場合です。</p>



<pre class="wp-block-code"><code>=SUBSTITUTE(A2, &quot;-&quot;, &quot;/&quot;, 2)  → 「A-001/A-B」</code></pre>



<p class="wp-block-paragraph">全体を変えずにピンポイントで置換できるのが第4引数の強みです。使う場面は限られますが、覚えておくと便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc11">SUBSTITUTE・REPLACE・REGEXREPLACEの使い分け</span></h2>



<p class="wp-block-paragraph">スプレッドシートには文字列を置換する関数が3つあります。それぞれ「何を基準に置き換えるか」が違います。</p>



<h3 class="wp-block-heading"><span id="toc12">3関数の比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>SUBSTITUTE</th><th>REPLACE</th><th>REGEXREPLACE</th></tr></thead><tbody><tr><td>置換の指定方法</td><td>文字列検索（何という文字か）</td><td>位置指定（何文字目から何文字分）</td><td>正規表現パターン</td></tr><tr><td>大文字/小文字</td><td>区別する</td><td>位置指定のため無関係</td><td>フラグで制御可能</td></tr><tr><td>複数箇所の置換</td><td>省略で全置換</td><td>1か所のみ</td><td>パターン一致で全置換</td></tr><tr><td>複数種類の文字</td><td>ネストが必要</td><td>不可</td><td>1つの正規表現で対応可能</td></tr><tr><td>難易度</td><td>低い</td><td>低い</td><td>正規表現の知識が必要</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">使い分けの判断基準はシンプルです。</p>



<ul class="wp-block-list"><li><strong>特定の文字列を置き換えたい</strong> → SUBSTITUTE</li><li><strong>特定の位置の文字を置き換えたい</strong> → REPLACE</li><li><strong>パターンで柔軟に置き換えたい</strong> → REGEXREPLACE</li></ul>



<p class="wp-block-paragraph">たとえば「3文字目から2文字を消す」ならREPLACEです。「ハイフンを全部消す」ならSUBSTITUTEです。「数字だけ消す」「カッコと中身をまとめて消す」のようにパターンで指定したいならREGEXREPLACEの出番です。</p>



<p class="wp-block-paragraph">実務で一番使うのはSUBSTITUTEです。まずはSUBSTITUTEを覚えてください。対応できない場面が出てきたら、REPLACEやREGEXREPLACEを検討してみましょう。</p>



<h2 class="wp-block-heading"><span id="toc13">よくある失敗と対処法</span></h2>



<h3 class="wp-block-heading"><span id="toc14">大文字・小文字の区別に注意</span></h3>



<p class="wp-block-paragraph">SUBSTITUTE関数は<strong>大文字と小文字を区別</strong>します。これは<a href="https://mashukabu.com/spreadsheet-find-function/">FIND関数</a>と同じ仕様です。</p>



<pre class="wp-block-code"><code>=SUBSTITUTE(&quot;ABC&quot;, &quot;a&quot;, &quot;x&quot;)  → 「ABC」（変化なし）
=SUBSTITUTE(&quot;ABC&quot;, &quot;A&quot;, &quot;x&quot;)  → 「xBC」</code></pre>



<p class="wp-block-paragraph">小文字の「a」を検索しても、大文字の「A」にはヒットしません。エラーにはなりません。元テキストがそのまま返るだけなので、「置換できていない」事故に気づきにくいのです。</p>



<p class="wp-block-paragraph">大文字小文字を無視して置換したいときは、LOWERやUPPERで統一してから使います。</p>



<pre class="wp-block-code"><code>=SUBSTITUTE(LOWER(A2), &quot;abc&quot;, &quot;xyz&quot;)</code></pre>



<p class="wp-block-paragraph">ただしこの方法だと出力結果もすべて小文字になります。元の大文字小文字を保持したい場合はREGEXREPLACE関数の<code>(?i)</code>フラグを検討してください。</p>



<h3 class="wp-block-heading"><span id="toc15">全角・半角の罠</span></h3>



<p class="wp-block-paragraph">もうひとつよくあるのが、全角と半角の違いに気づかないケースです。</p>



<pre class="wp-block-code"><code>=SUBSTITUTE(A2, &quot; &quot;, &quot;&quot;)   → 半角スペースだけ削除
=SUBSTITUTE(A2, &quot;　&quot;, &quot;&quot;)  → 全角スペースだけ削除</code></pre>



<p class="wp-block-paragraph">半角スペースと全角スペースは別の文字として扱われます。見た目がほぼ同じなので気づきにくいのがやっかいです。</p>



<p class="wp-block-paragraph">「スペースを消したはずなのに残っている」と思ったら、全角・半角の混在を疑ってください。両方消したい場合はネストで対応します。</p>



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



<p class="wp-block-paragraph">ハイフンも同様です。半角「-」と全角「ー」は別物なので注意してくださいね。</p>



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



<p class="wp-block-paragraph">SUBSTITUTE関数の要点を整理します。</p>



<figure class="wp-block-table"><table><thead><tr><th>ポイント</th><th>内容</th></tr></thead><tbody><tr><td>基本構文</td><td><code>=SUBSTITUTE(対象, 検索文字列, 置換文字列, [出現回数])</code></td></tr><tr><td>全置換</td><td>第4引数を省略するとすべて置換</td></tr><tr><td>文字の削除</td><td>置換文字列に空文字（&#8221;&#8221;）を指定</td></tr><tr><td>大文字/小文字</td><td>区別する（LOWERで回避可能）</td></tr><tr><td>全角/半角</td><td>区別する（ネストで両対応）</td></tr><tr><td>見つからない場合</td><td>エラーにならず元テキストを返す</td></tr><tr><td>複数種類の置換</td><td>ネストで対応（3種以上はREGEXREPLACE推奨）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">SUBSTITUTE関数は「この文字を別の文字に変えたい」というシンプルな要望に応える関数です。電話番号のハイフン削除やスペースの除去など、日常的なデータ整理で大活躍します。</p>



<p class="wp-block-paragraph">まずはハイフンやスペースの削除から試してみてください。慣れてきたらネストで複数文字の一括置換に挑戦して、データクリーニングの幅を広げていきましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-substitute-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
