「置換コマンドを実行したのに、画面上の空白がどうしても消えてくれない」――企業のデータ管理部門やSNS上の相談コミュニティでも、この現象に対する疑問と悲鳴が後を絶ちません。目に見えているスペースが消えない場合、そこにはExcelの仕様と文字コードに起因する明確な理由が存在します。
最も代表的な原因が、Webブラウザや社内グループウェア、クラウドシステムからコピー&ペーストしたデータに含まれる「ノーブレークスペース(NBSP:文字コードCHAR(160))」の存在です。通常の半角スペースは文字コード「CHAR(32)」、全角スペースは「CHAR(8481)」ですが、HTML等で改行を防ぐために使われる特殊な空白文字( )は、Excelの標準的な半角スペース検索では検知されません。
この見えない特殊文字を排除するには、SUBSTITUTE関数を使い、文字コードを明示的に指定して変換する必要があります。
=SUBSTITUTE(A2, CHAR(160), "")
また、データ内に改行コード(Line Feed: CHAR(10) や Carriage Return: CHAR(13))が紛れ込んでいることで、見た目上スペースが空いているように錯覚するケースも多発しています。エクセル 改行 削除 方法としては、置換ダイアログの「検索する文字列」にカーソルを合わせ、「Ctrl + J」(改行コードの入力ショートカット)を押して置換を実行するか、不要な制御文字を取り除くExcel CLEAN関数 印刷不能文字の処理を噛ませるのが確実です。
さらに、セルの表示形式が「ユーザー定義」で意図的なインデントや文字配置(「@* 」など)に設定されている場合や、セルの配置設定で「均等割り付け」が適用されているケースでは、セル内の文字列自体にスペースが存在しないため、いくら置換を試みても余白は消えません。データの実態と表示上の装飾を切り分けて検証することがトラブルシューティングの第一歩となります。