<?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/%E5%88%B6%E5%BE%A1%E6%96%87%E5%AD%97/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 19 Mar 2026 15:15:11 +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>制御文字 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのCLEAN関数の使い方｜制御文字を一括削除する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-clean/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-clean/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 19 Aug 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[CLEAN関数]]></category>
		<category><![CDATA[データクレンジング]]></category>
		<category><![CDATA[テキスト整形]]></category>
		<category><![CDATA[制御文字]]></category>
		<category><![CDATA[関数比較]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2569</guid>

					<description><![CDATA[ExcelのCLEAN関数で印刷できない制御文字を一括削除する方法を解説。基本の書き方からTRIM・SUBSTITUTEとの連携パターン、CLEANでは除去できない文字への対処法まで、実務で役立つデータクレンジング術を紹介します。]]></description>
										<content:encoded><![CDATA[
<p>CSVや外部システムから取り込んだデータに、目に見えない文字が混ざっていたことはありませんか？ 文字化けのような記号が表示されたり、VLOOKUPが一致しなかったり。手作業で探すのは大変ですし、そもそも見えない文字は目視では見つかりません。</p>



<p>CLEAN関数を使えば、こうした印刷できない制御文字をまとめて削除できます。この記事では基本の書き方から実務の活用パターンまで紹介します。</p>



<p>この記事は次のような人におすすめ</p>



<ul class="wp-block-list"><li>CSVや他システムから取り込んだデータの文字化けを解消したい</li><li>印刷できない制御文字を一括で削除したい</li><li>CLEAN関数とTRIM関数の違いを知りたい</li></ul>




  <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></li><li><a href="#toc2" tabindex="0">CLEAN関数の書き方（構文と引数）</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">CLEAN関数の基本的な使い方</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">CLEAN関数の実務活用パターン</a><ol><li><a href="#toc10" tabindex="0">CLEAN+TRIMで外部データを整形する</a></li><li><a href="#toc11" tabindex="0">CLEAN+SUBSTITUTE+TRIMの3点セットで完全クレンジング</a></li><li><a href="#toc12" tabindex="0">CLEANで除去できない文字をCHAR+SUBSTITUTEで対処する</a></li></ol></li><li><a href="#toc13" tabindex="0">CLEAN関数のよくあるエラーと対処法</a></li><li><a href="#toc14" tabindex="0">似た関数との違い・使い分け</a></li><li><a href="#toc15" tabindex="0">まとめ</a><ol><li><a href="#toc16" tabindex="0">関連記事</a></li><li><a href="#toc17" tabindex="0">関数一覧</a></li></ol></li></ol>
    </div>
  </div>

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



<p>CLEAN（クリーン）関数は、文字列からASCII制御文字を削除する関数です。英語の「clean」は「きれいにする」という意味で、データを浄化するための関数です。</p>



<p>ここでいう「制御文字」とは、文字コード0〜31の印刷できない文字のことです。改行コード（CHAR(10)）やタブ（CHAR(9)）、キャリッジリターン（CHAR(13)）などが該当します。</p>



<p>これらの文字は画面上では見えないか、四角い記号として表示されます。外部データを取り込んだときに紛れ込むことが多いです。VLOOKUPの不一致やセル内改行の崩れなど、厄介なトラブルの原因になります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>CLEAN関数が削除するのはASCII制御文字（コード0〜31）のみです。通常のスペースや全角スペースは削除しません。スペースの整理には<a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM関数</a>を使います。</p></blockquote>



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



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



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



<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>文字列</td><td>必須</td><td>制御文字を削除したいテキスト、またはセル参照</td></tr></tbody></table></figure>



<p>引数は「文字列」の1つだけです。セル参照のほか、ダブルクォーテーションで囲んだ文字列を直接指定することもできます。</p>



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



<h3 class="wp-block-heading"><span id="toc6">制御文字を削除する基本例</span></h3>



<p>セルA1に改行コード付きの文字列が入っている場合です。</p>



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



<p>CLEAN関数を適用すると、改行やタブなどの制御文字がすべて削除されます。見た目がおかしいデータも、この一手で綺麗になります。</p>



<h3 class="wp-block-heading"><span id="toc7">セル参照で一括処理する</span></h3>



<p>データが大量にある場合は、作業列を使って一括処理するのが効率的です。</p>



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



<p>この数式を下方向にコピーして、整形後のデータを「値として貼り付け」で元の列に上書きすれば完了です。</p>



<h3 class="wp-block-heading"><span id="toc8">文字列を直接指定する</span></h3>



<p>セル参照ではなく、数式内に文字列を直接書くこともできます。</p>



<pre class="wp-block-code"><code>=CLEAN(&quot;テスト&quot; &amp; CHAR(10) &amp; &quot;データ&quot;)</code></pre>



<p>CHAR(10)は改行コードです。CLEAN関数が改行を除去して、「テストデータ」と表示されます。</p>



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



<h3 class="wp-block-heading"><span id="toc10">CLEAN+TRIMで外部データを整形する</span></h3>



<p>外部データには制御文字とスペースの両方が混ざっていることがよくあります。CLEAN関数と<a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM関数</a>を組み合わせれば、両方を一度に処理できます。</p>



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



<p>まずCLEAN関数で制御文字を除去し、次にTRIM関数で余分なスペースを整理します。CSVや他システムからのデータ取り込み後は、このセットで処理しておくと安心です。</p>



<h3 class="wp-block-heading"><span id="toc11">CLEAN+SUBSTITUTE+TRIMの3点セットで完全クレンジング</span></h3>



<p>Webページからコピーしたデータには、ノーブレークスペース（CHAR(160)）が含まれることがあります。この文字はCLEAN関数でもTRIM関数でも削除できません。</p>



<p><a href="https://mashukabu.com/excel-function-howto-use-substitute/">SUBSTITUTE関数</a>を加えた3点セットなら、ほぼすべての不要文字を除去できます。</p>



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



<p>処理の流れは次のとおりです。</p>



<ol class="wp-block-list"><li>SUBSTITUTE関数でノーブレークスペースを半角スペースに変換</li><li>CLEAN関数で制御文字を除去</li><li>TRIM関数で余分なスペースを整理</li></ol>



<p>この3点セットは外部データのクレンジングで最も頼りになる定番パターンです。迷ったらまずこの数式を試してみてください。</p>



<h3 class="wp-block-heading"><span id="toc12">CLEANで除去できない文字をCHAR+SUBSTITUTEで対処する</span></h3>



<p>CLEAN関数はASCII制御文字（コード0〜31）だけを削除します。コード128以上のUnicode制御文字やNBSP（CHAR(160)）は対象外です。</p>



<p>こうした文字はCODE関数で文字コードを特定し、<a href="https://mashukabu.com/excel-function-howto-use-char/">CHAR関数</a>とSUBSTITUTE関数で個別に削除します。</p>



<pre class="wp-block-code"><code>=CODE(MID(A1,1,1))</code></pre>



<p>まずCODE関数でセル内の先頭文字の文字コードを調べます。正体がわかったら、SUBSTITUTE関数で削除しましょう。</p>



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



<p>たとえば文字コード127（DEL文字）が混入していた場合、上の数式で削除できます。CLEAN関数の対象外の文字に遭遇したら、この手順で対処してください。</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/about-nbsp/">ノーブレークスペースの解説記事</a>を参照してください。</p></blockquote>



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



<p>CLEAN関数自体はエラーが出にくい関数です。ただし意図した結果にならないケースがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>文字化けが消えない</td><td>Unicode制御文字（コード128以上）</td><td>CODE関数で文字コードを特定し、SUBSTITUTE+CHARで削除</td></tr><tr><td>スペースが残る</td><td>CLEAN関数はスペースを削除しない</td><td><a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM関数</a>で余分なスペースを除去</td></tr><tr><td>見えない文字が残る</td><td>ノーブレークスペース（CHAR(160)）</td><td><code>=SUBSTITUTE(A1,CHAR(160),"")</code> で削除</td></tr><tr><td>#VALUE!エラー</td><td>引数が指定されていない</td><td>文字列の引数は必須。セル参照か文字列を指定してください</td></tr><tr><td>VLOOKUPが一致しない</td><td>CLEAN後もまだ不一致</td><td><a href="https://mashukabu.com/excel-function-howto-use-asc/">ASC関数</a>で全角英数字を半角に統一してみてください</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>CLEAN関数で文字化けが消えないときは、<code>=CODE(MID(A1,1,1))</code> で1文字ずつ文字コードを確認してみましょう。0〜31以外の値が返ってきたら、CLEAN関数の対象外の文字です。</p></blockquote>



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



<p>CLEAN関数とよく比較される関数の違いを整理します。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>CLEAN関数</th><th>TRIM関数</th><th>SUBSTITUTE関数</th></tr></thead><tbody><tr><td>削除対象</td><td><strong>制御文字</strong>（コード0〜31）</td><td><strong>余分な半角スペース</strong></td><td><strong>指定した文字列</strong></td></tr><tr><td>改行の削除</td><td>できる</td><td>できない</td><td>CHAR(10)を指定すればできる</td></tr><tr><td>スペースの処理</td><td>できない</td><td>前後削除＋内部を1つに圧縮</td><td>指定すれば削除可能</td></tr><tr><td>NBSP（CHAR(160)）</td><td><strong>できない</strong></td><td><strong>できない</strong></td><td>CHAR(160)を指定すれば削除可能</td></tr><tr><td>引数の数</td><td>1つ（文字列のみ）</td><td>1つ（文字列のみ）</td><td>3〜4つ（文字列、検索文字列、置換文字列、[置換対象]）</td></tr><tr><td>使う場面</td><td>外部データの制御文字除去</td><td>スペースの整理</td><td>特定の文字を狙って置換・削除</td></tr></tbody></table></figure>



<p>使い分けのポイントは「何を消したいか」です。</p>



<ul class="wp-block-list"><li><strong>制御文字</strong>を一括で消したい → CLEAN関数</li><li><strong>余分なスペース</strong>を整理したい → <a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM関数</a></li><li><strong>特定の文字</strong>を狙って消したい → <a href="https://mashukabu.com/excel-function-howto-use-substitute/">SUBSTITUTE関数</a></li><li><strong>全部まとめて整形</strong>したい → <code>=TRIM(CLEAN(SUBSTITUTE(A1,CHAR(160)," ")))</code> の3点セット</li></ul>



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



<p>CLEAN関数は「文字列からASCII制御文字を一括削除する」ための関数です。</p>



<ul class="wp-block-list"><li>ASCII制御文字（コード0〜31）の改行・タブ・CRなどを削除する</li><li>引数は「文字列」の1つだけでシンプル</li><li><code>=TRIM(CLEAN(A2))</code> でスペース整理と制御文字除去を同時に処理できる</li><li>ノーブレークスペース（CHAR(160)）はCLEAN対象外。SUBSTITUTE関数で対処する</li><li>3点セット <code>=TRIM(CLEAN(SUBSTITUTE(A1,CHAR(160)," ")))</code> が最強のクレンジング数式</li></ul>



<p>外部データの取り込みでおかしな文字が混ざっていたら、まずCLEAN関数を試してみてください。TRIM関数やSUBSTITUTE関数と組み合わせれば、ほとんどのクレンジングに対応できます。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-substitute/">SUBSTITUTE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-char/">CHAR関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-asc/">ASC関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-jis/">JIS関数の使い方</a></li><li><a href="https://mashukabu.com/about-nbsp/">ノーブレークスペースとは</a></li></ul>



<h3 class="wp-block-heading"><span id="toc17">関数一覧</span></h3>



<p>Excel関数の一覧は下記の記事で確認できます。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-list-by-function/">Excel関数 機能別一覧</a></li></ul>



<p>エラー値が表示される場合は、下記の記事も参考にしてみてください。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-error-value-list/">Excelのエラー値一覧</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-clean/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
