こんにちは。いーかです。
Excelの「データ整形」でつまずきがちな“見えない文字”を、サクッと解きほぐすメモです。
30秒まとめ(結論1行)
CHAR(10) と CHAR(13) は “文字コード(制御文字)の番号”で、改行の正体(LF/CR)。だから Ctrl+J が効かない時は CR/LF混在を疑う。
CHAR(10) / CHAR(13) って何者?
Excelの CHAR(n) は 「番号nの文字(コードポイント)」を返す関数。
この “番号” が、昔から使われてきた ASCII(互換の体系) の制御文字に対応してる。
- CHAR(10) = LF(Line Feed):次の行へ送る(
\n) - CHAR(13) = CR(Carriage Return):行頭へ戻す(
\r)
つまりこれは 「文字コード(正確には制御文字のコードポイント)」の話。
※ここで言っているのは、Excel全体の文字コードがどうこう…という難しい話ではなく、この改行2文字(CR/LF)は互換的に長年使われ続けているので、実務では安心してOK。
なんで 10 と 13 なの?(超ざっくり由来)
昔のタイプライター/プリンタの動作が元ネタで、
- 「紙を1行送る」= LF
- 「印字位置を行頭に戻す」= CR
という 2つの動作が別命令だった。
その命令が規格として 10番(LF)と13番(CR) に割り当てられた、という歴史。
Windows / Unix で改行が違うのもここ
改行の表現は、OS文化でこう分かれる:
- Windows:CR + LF(13 + 10)=
\r\n - Unix / Linux / macOS:LF(10)=
\n - (古いMac OS):CR(13)=
\r
なので、Excelに外部データをコピペ・CSV取り込みすると
LFだけ / CRだけ / CRLF混在 が起きて、整形がややこしくなる。
Ctrl+Jが効かない理由(ほぼこれ)
Ctrl+H の置換で使う Ctrl+J は、体感として
「LF(CHAR(10))を入力して検索するショートカット」みたいなもの。
だから、データ側が CR(CHAR(13))混じりだと、Ctrl+Jだけでは取り切れないことがある。
このときは CR/LF混在を掃除するのが正解。
Excelのセル内改行はどっち?
Excelで Alt + Enter で入る「セル内改行」は、基本 LF(CHAR(10)) が多い。
ただし、他アプリ由来のデータは CRLF混在になりやすいので、現場では両方掃除が安全。
実務で使う “確実テンプレ”(混在でも強い)
A1の中の改行をスペースに寄せたいなら:
=SUBSTITUTE(SUBSTITUTE(A1,CHAR(13),""),CHAR(10)," ")
- CR(13)を消す → LF(10)をスペースへ
- 結果がOKなら、コピーして 値貼り付けで確定(事故りにくい)
今日の1アクション
自分のデータに「LF/CRが混ざってるか」だけ確認してみる:
- LFがある? →
=ISNUMBER(SEARCH(CHAR(10),A1)) - CRがある? →
=ISNUMBER(SEARCH(CHAR(13),A1))
TRUEなら混入してる。
ミニクイズ(答えは末尾)
Q1. CHAR(10) は LF/CR どっち?
Q2. Windowsの改行は基本、CRとLFどっちを使う?
Q3. Ctrl+J だけで置換しきれない時に疑うべきものは?
Q4. 混在でも強い“確実テンプレ”は、CHAR(10)とCHAR(13)をどう扱う?
今日のひとこと(成長ログ)
「改行は見た目じゃなくて“文字”」って気づくと、データ整形が急にラクになる。
解答とくわしい解説
A1. LF(Line Feed)
A2. CR + LF(\r\n)
A3. CR/LF混在(別アプリ由来の改行)
A4. CHAR(13)を消して、CHAR(10)をスペース(または空欄)に置換する


コメント