<?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/%e6%94%b9%e8%a1%8c%e5%89%8a%e9%99%a4/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Sat, 21 Mar 2026 11:37:12 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</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>スプレッドシートのCLEAN関数の使い方｜改行・制御文字を一括削除</title>
		<link>https://mashukabu.com/spreadsheet-clean-function/</link>
					<comments>https://mashukabu.com/spreadsheet-clean-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:37:12 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[CLEAN関数]]></category>
		<category><![CDATA[CSV]]></category>
		<category><![CDATA[SUBSTITUTE関数]]></category>
		<category><![CDATA[TRIM関数]]></category>
		<category><![CDATA[制御文字削除]]></category>
		<category><![CDATA[改行削除]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4893</guid>

					<description><![CDATA[スプレッドシートのCLEAN関数は、改行やタブなどの印刷できない制御文字を一括削除する関数です。CSVインポートやWebコピペで混入する不要文字の除去方法を解説。TRIM・SUBSTITUTEとの組み合わせ技、CODE関数で文字コードを調べる診断法も紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">CSVをインポートしたら、セルの中に謎の改行が入っていた。Webページからコピペしたデータに、見えない文字が紛れ込んでいた――そんな経験はありませんか？</p>



<p class="wp-block-paragraph">目視ではわからない制御文字が混入すると、数式がうまく動かなかったり、集計結果がずれたりします。原因を特定するだけでも一苦労ですよね。</p>



<p class="wp-block-paragraph">そんなときに使うのが<strong>CLEAN関数</strong>です。改行やタブなどの「印刷できない制御文字」をまとめて削除してくれます。</p>



<p class="wp-block-paragraph">この記事では、CLEAN関数の基本から、TRIM関数・SUBSTITUTE関数との組み合わせ、CLEAN関数では消えない文字への対処法まで紹介します。</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">スプレッドシートのCLEAN関数とは？印刷できない制御文字を削除する関数</a><ol><li><a href="#toc2" tabindex="0">CLEAN関数の構文と引数</a></li><li><a href="#toc3" tabindex="0">CLEAN関数が削除する文字・しない文字</a></li></ol></li><li><a href="#toc4" tabindex="0">基本的な使い方：改行・制御文字を一括削除する</a><ol><li><a href="#toc5" tabindex="0">CSVインポートで混入した改行を削除する</a></li><li><a href="#toc6" tabindex="0">CODE関数で制御文字を見つける診断コード</a></li></ol></li><li><a href="#toc7" tabindex="0">TRIM関数・SUBSTITUTE関数との組み合わせパターン</a><ol><li><a href="#toc8" tabindex="0">CLEAN+TRIMで制御文字とスペースを同時に除去</a></li><li><a href="#toc9" tabindex="0">CLEAN+SUBSTITUTE+TRIMで完全クリーニング</a></li></ol></li><li><a href="#toc10" tabindex="0">CLEAN関数で消えない文字への対処法</a><ol><li><a href="#toc11" tabindex="0">CHAR(160)ノーブレークスペースの削除</a></li><li><a href="#toc12" tabindex="0">Unicode制御文字の削除（REGEXREPLACE）</a></li></ol></li><li><a href="#toc13" tabindex="0">よくある質問（CLEAN関数）</a></li><li><a href="#toc14" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのCLEAN関数とは？印刷できない制御文字を削除する関数</span></h2>



<p class="wp-block-paragraph">CLEAN関数（読み方：クリーン関数）は、<strong>テキストからASCII制御文字を削除する関数</strong>です。</p>



<p class="wp-block-paragraph">名前は英語の「clean（きれいにする）」が語源です。目に見えない不要な文字をきれいに取り除くイメージですね。</p>



<p class="wp-block-paragraph">CLEAN関数が削除するのは、ASCIIコード0〜31の「制御文字」と呼ばれる文字です。代表的なものを挙げると、次のとおりです。</p>



<ul class="wp-block-list"><li>CHAR(9)：タブ</li><li>CHAR(10)：改行（ラインフィード / LF）</li><li>CHAR(13)：復帰（キャリッジリターン / CR）</li></ul>



<p class="wp-block-paragraph">これらは画面に表示されない文字なので、目視では見つけられません。CLEAN関数を使えば、まとめて削除できます。</p>



<h3 class="wp-block-heading"><span id="toc2">CLEAN関数の構文と引数</span></h3>



<pre class="wp-block-code"><code>=CLEAN(テキスト)</code></pre>



<p class="wp-block-paragraph">カッコの中に「制御文字を削除したい文字列」を入れるだけです。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>テキスト</td><td>必須</td><td>制御文字を削除したい文字列やセル参照</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数はひとつだけ。<a href="https://mashukabu.com/spreadsheet-trim-function/">TRIM関数</a>と同じく、シンプルな構文です。</p>



<h3 class="wp-block-heading"><span id="toc3">CLEAN関数が削除する文字・しない文字</span></h3>



<p class="wp-block-paragraph">CLEAN関数はすべての不要文字を消してくれるわけではありません。削除できる範囲をきちんと把握しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>文字の種類</th><th>文字コード</th><th>CLEAN</th><th>TRIM</th><th>主な発生源</th></tr></thead><tbody><tr><td>改行（LF）</td><td>CHAR(10)</td><td>削除できる</td><td>不可</td><td>CSVインポート・コピペ</td></tr><tr><td>復帰（CR）</td><td>CHAR(13)</td><td>削除できる</td><td>不可</td><td>Windows環境のCSV</td></tr><tr><td>タブ</td><td>CHAR(9)</td><td>削除できる</td><td>不可</td><td>TSVファイル・コピペ</td></tr><tr><td>半角スペース</td><td>CHAR(32)</td><td>削除できない</td><td>削除できる</td><td>手入力・CSV</td></tr><tr><td>全角スペース</td><td>—</td><td>削除できない</td><td>削除できない</td><td>日本語入力の切り替えミス</td></tr><tr><td>ノーブレークスペース</td><td>CHAR(160)</td><td>削除できない</td><td>削除できない</td><td>Webコピペ・HTML</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ポイントは、CLEAN関数とTRIM関数は<strong>担当範囲が違う</strong>ということです。CLEAN関数は制御文字（CHAR(0)〜31）を担当し、TRIM関数は半角スペース（CHAR(32)）を担当します。どちらか片方だけでは不十分なケースが多いので、組み合わせて使うのが定番です。</p>



<h2 class="wp-block-heading"><span id="toc4">基本的な使い方：改行・制御文字を一括削除する</span></h2>



<h3 class="wp-block-heading"><span id="toc5">CSVインポートで混入した改行を削除する</span></h3>



<p class="wp-block-paragraph">CSVファイルをインポートすると、セルの中に改行が入り込むことがあります。CLEAN関数で削除してみましょう。</p>



<p class="wp-block-paragraph">A1に「東京都千代田区」（セル内改行あり）が入っているとします。</p>



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



<p class="wp-block-paragraph">結果は「東京都千代田区」です。改行が削除されて、1行にまとまりました。</p>



<p class="wp-block-paragraph">列全体に適用するのが実務的な使い方です。B1に数式を入れて下方向にコピーすれば、一括で整形できますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>改行を削除するのではなく、改行をスペースや特定の区切り文字に「置換」したい場合は、<a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a>を使います。<code>=SUBSTITUTE(A1, CHAR(10), " ")</code> で改行を半角スペースに置き換えられます。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc6">CODE関数で制御文字を見つける診断コード</span></h3>



<p class="wp-block-paragraph">「制御文字が入っているかどうか」を確認したいときは、CODE関数が便利です。CODE関数は、文字列の先頭1文字のASCIIコードを返します。</p>



<p class="wp-block-paragraph">実務で手軽に使える診断コードを紹介します。</p>



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



<p class="wp-block-paragraph">結果が「0」なら制御文字は入っていません。「0」以外なら、その数だけ制御文字が混入しています。</p>



<p class="wp-block-paragraph">たとえばA1に改行が2つ入っている場合、LEN(A1)は元の文字数+2、LEN(CLEAN(A1))は元の文字数です。差は「2」。制御文字が2文字あるとわかります。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-len-function/">LEN関数の使い方</a>と組み合わせた、覚えておくと便利な診断テクニックです。</p>



<h2 class="wp-block-heading"><span id="toc7">TRIM関数・SUBSTITUTE関数との組み合わせパターン</span></h2>



<p class="wp-block-paragraph">CLEAN関数は制御文字だけを削除する関数です。実務では、スペースや見えない文字も同時に処理したいケースがほとんどです。ここでは定番の組み合わせパターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc8">CLEAN+TRIMで制御文字とスペースを同時に除去</span></h3>



<p class="wp-block-paragraph">もっとも基本的な組み合わせです。CLEAN関数で制御文字を削除し、<a href="https://mashukabu.com/spreadsheet-trim-function/">TRIM関数</a>で余分なスペースを削除します。</p>



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



<p class="wp-block-paragraph">CSVインポートやコピペデータの整形では、この2つをセットで使うのが定番です。「とりあえずTRIM(CLEAN())」を習慣にしておくと、多くのデータ整形トラブルを未然に防げます。</p>



<h3 class="wp-block-heading"><span id="toc9">CLEAN+SUBSTITUTE+TRIMで完全クリーニング</span></h3>



<p class="wp-block-paragraph">全角スペースやCHAR(160)（ノーブレークスペース）も含めて、すべての不要文字を一括除去したい場合の数式です。</p>



<pre class="wp-block-code"><code>=TRIM(CLEAN(SUBSTITUTE(SUBSTITUTE(A1,&quot;　&quot;,&quot; &quot;),CHAR(160),&quot; &quot;)))</code></pre>



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



<ol class="wp-block-list"><li>内側のSUBSTITUTE：全角スペースを半角スペースに変換</li><li>外側のSUBSTITUTE：CHAR(160)を半角スペースに変換</li><li>CLEAN：制御文字（改行・タブ等）を削除</li><li>TRIM：余分な半角スペースを削除</li></ol>



<p class="wp-block-paragraph">この4段構えで、ほぼすべての不要文字を除去できます。外部データを取り込む場面では、このフル版を使っておくと安心です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>同じ列に毎回この長い数式を入れるのが面倒なら、ヘルパー列（補助列）を1列用意して数式を入れておくのがおすすめです。元データを上書きしたい場合は、補助列をコピーして「値のみ貼り付け」で戻しましょう。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc10">CLEAN関数で消えない文字への対処法</span></h2>



<p class="wp-block-paragraph">CLEAN関数はASCIIコード0〜31の制御文字しか削除しません。それ以外の「見えない文字」は残ったままになります。</p>



<h3 class="wp-block-heading"><span id="toc11">CHAR(160)ノーブレークスペースの削除</span></h3>



<p class="wp-block-paragraph">Webページからコピペしたデータに混入しやすいのが、CHAR(160)のノーブレークスペースです。見た目は普通のスペースと同じですが、CLEAN関数でもTRIM関数でも削除できません。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a>でCHAR(160)を指定して置換します。</p>



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



<p class="wp-block-paragraph">CHAR(160)を半角スペースに変換してから、TRIMで整形するのが定番です。</p>



<pre class="wp-block-code"><code>=TRIM(SUBSTITUTE(A1, CHAR(160), &quot; &quot;))</code></pre>



<p class="wp-block-paragraph">「CLEAN関数を使ったのにまだ変な文字が残っている」という場合は、CHAR(160)を疑ってみてください。</p>



<h3 class="wp-block-heading"><span id="toc12">Unicode制御文字の削除（REGEXREPLACE）</span></h3>



<p class="wp-block-paragraph">まれに、ASCIIコード128以上のUnicode制御文字が混入することがあります。CLEAN関数の対象外なので、正規表現で除去します。</p>



<p class="wp-block-paragraph">Googleスプレッドシートには正規表現で置換できるREGEXREPLACE関数があります。</p>



<pre class="wp-block-code"><code>=TRIM(CLEAN(REGEXREPLACE(A1, &quot;[x00-x1Fx7F-x9F]&quot;, &quot;&quot;)))</code></pre>



<p class="wp-block-paragraph">この正規表現は「ASCIIおよびLatin-1の制御文字」を削除します。CLEANとREGEXREPLACEを組み合わせることで、より広い範囲の制御文字を除去できます。</p>



<p class="wp-block-paragraph">正規表現が難しいと感じたら、無理に使う必要はありません。ほとんどの実務データは前述の <code>=TRIM(CLEAN(SUBSTITUTE(...)))</code> パターンで十分対処できます。</p>



<h2 class="wp-block-heading"><span id="toc13">よくある質問（CLEAN関数）</span></h2>



<p class="wp-block-paragraph"><strong>Q. CLEAN関数でスペースは削除できますか？</strong></p>



<p class="wp-block-paragraph">できません。半角スペース（CHAR(32)）はCLEAN関数の対象外です。スペースの削除には<a href="https://mashukabu.com/spreadsheet-trim-function/">TRIM関数</a>を使ってください。制御文字とスペースの両方を消したいなら <code>=TRIM(CLEAN(A1))</code> がおすすめです。</p>



<p class="wp-block-paragraph"><strong>Q. CLEAN関数で改行をスペースに置き換えられますか？</strong></p>



<p class="wp-block-paragraph">CLEAN関数は改行を「削除」するだけです。スペースに「置換」したい場合は、<a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a>で <code>=SUBSTITUTE(A1, CHAR(10), " ")</code> と書いてください。</p>



<p class="wp-block-paragraph"><strong>Q. ExcelのCLEAN関数との違いはありますか？</strong></p>



<p class="wp-block-paragraph">基本的な動作は同じです。どちらもASCIIコード0〜31の制御文字を削除します。ただし、ExcelファイルをGoogleスプレッドシートで開いた場合、改行コードの扱いに違いが出ることがあります。スプレッドシートではCHAR(10)がセル内改行です。</p>



<p class="wp-block-paragraph"><strong>Q. CLEAN関数を使っても文字が残る場合は？</strong></p>



<p class="wp-block-paragraph">CHAR(160)（ノーブレークスペース）やUnicode制御文字はCLEAN関数の対象外です。<code>=CODE(MID(A1, N, 1))</code> で残っている文字のコードを調べ、<a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a>で個別に削除してください。</p>



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



<p class="wp-block-paragraph">CLEAN関数は、改行やタブなどの制御文字を削除するシンプルな関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=CLEAN(テキスト)</code> の1引数だけ。ASCIIコード0〜31の制御文字をまとめて削除する</li><li>CLEAN関数と<a href="https://mashukabu.com/spreadsheet-trim-function/">TRIM関数</a>は担当範囲が違う。<code>=TRIM(CLEAN(A1))</code> のセット使いが定番</li><li><code>=LEN(A1)-LEN(CLEAN(A1))</code> で制御文字の混入を素早く診断できる</li><li>全角スペースやCHAR(160)はCLEAN関数では消えない。<a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a>で個別に対処する</li><li>完全クリーニングには <code>=TRIM(CLEAN(SUBSTITUTE(SUBSTITUTE(A1,"　"," "),CHAR(160)," ")))</code> を使う</li></ul>



<p class="wp-block-paragraph">まずは <code>=LEN(A1)-LEN(CLEAN(A1))</code> で、手元のデータに制御文字が潜んでいないかチェックしてみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-clean-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
