スプレッドシートのCLEAN関数とは
CLEAN関数は、テキストデータから印刷不可能なASCII文字を削除してクリーンなテキストを返すGoogleスプレッドシートの組み込み関数です。この関数は、データクレンジング作業において、外部システムから取り込んだデータに含まれる不要な制御文字を除去する際に使用されます。
基本構文は「CLEAN(テキスト)」で、引数には印刷不可能文字を削除したいテキストを指定するだけのシンプルな構造となっています。ただし、この関数が対象とするのはASCII文字セット内の印刷不可能文字のみで、ASCII以外のユニコード文字の印刷不可能文字は削除されません。
【PR】プログラミングや生成AIを無料で学べる「コードキャンプフリー」
CLEAN関数の具体的な構文パターン
CLEAN関数の最もシンプルな使用例として、セル参照を引数に指定するパターンがあります。以下のサンプルコードは、A1セルのテキストから印刷不可能文字を除去してB1セルに結果を表示する基本的な実装方法を示しています。
=CLEAN(A1)
より複雑な例として、CHAR関数と組み合わせたパターンも考えられ、=CLEAN("AF"&CHAR(31))
のように文字列と制御文字を結合したものから不要な文字を除去できます。この場合、CHAR(31)で生成される印刷不可能文字が削除され、"AF"という文字列のみが返される動作となります。
実際の業務においては、複数のセル範囲に対してCLEAN関数を適用する際に、ARRAYFORMULA関数と組み合わせて一括処理を行うことも可能です。この方法により、大量のデータを効率的にクリーンアップする作業が実現できるという利点があります。
印刷不可能文字の削除範囲と制限事項
CLEAN関数が削除対象とする印刷不可能文字は、ASCII文字コード0から31番までの制御文字と127番のDEL文字に限定されています。具体的には、タブ文字、改行文字、復帰文字、エスケープ文字などの一般的な制御文字が含まれ、これらはテキスト表示において問題を引き起こす可能性があるためです。
=CLEAN(CHAR(9)&"テキスト"&CHAR(13))
上記のサンプルコードでは、タブ文字(CHAR(9))と復帰文字(CHAR(13))に挟まれた「テキスト」から制御文字が除去され、純粋な「テキスト」のみが結果として返されます。しかし、ASCII範囲外のユニコード制御文字については削除対象外となるため、国際化対応データの処理では別の方法を検討する必要があります。
Googleスプレッドシートの画面上では印刷不可能文字は表示されないため、CLEAN関数の実行前後で見た目に変化が現れない場合が多くあります。そのため、データの品質向上効果を確認するには、LEN関数やCODE関数と組み合わせて文字数や文字コードの変化を検証する手法が推奨されます。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- Canvaとは?使い方やアカウント登録などを初心者向けに解説
- git configで設定情報を確認・表示する方法
- 「Pythonはやめとけ」と言われる理由と学習するメリット
- Ubuntuのversionを確認する方法
- Geminiで画像を生成する方法|ChatGPTとの比較結果も紹介