こんにちは。いーかです。
Excelの「データ整形」で、CSV出力した瞬間にデータがズレる事故を防ぐメモです。
30秒まとめ(結論1行)
CSVは“改行=次の行”として扱うので、セル内改行が混ざると行が割れて列ズレする。対策は「改行をスペースに置換→値貼り付け→CSV出力」。
症状(こうなったらセル内改行を疑う)
- CSVにしたら 1行増える/途中からズレる
- 住所や備考の列だけ 行が分裂する
- 取り込み先(別システム)で 列ズレが起きる
なぜ壊れる?(原因)
CSVはざっくり言うと、
- カンマで列を区切り
- 改行で行を区切る
というルール。
だからセルの中に改行があると、CSV側はそれを “行区切り”だと誤解して、データが割れます。
先に安全ネット(事故防止)
いきなり上書きしないで、対象列(またはシート)を 別シートにコピーしてテストすると安心です。
(戻せる=心が折れない)
手順:セル内改行を一括で“無害化”してからCSVにする
ステップ1:置換(Ctrl+J)で改行をスペースへ
- 対象範囲を選択(列まるごとでもOK)
Ctrl + H(置換)- 「検索する文字列」にカーソル
Ctrl + J(見えない改行が入る)- 「置換後の文字列」= 半角スペース1個
- 「すべて置換」
※文章がくっつく事故が嫌なので、基本は スペース置換がおすすめ。
ステップ2:それでも残る時の“確実テンプレ”(CRLF混在対策)
別列で整形してから値貼り付けが安全です。
=SUBSTITUTE(SUBSTITUTE(A1,CHAR(13),""),CHAR(10)," ")
ステップ3:値貼り付けで確定(重要)
整形できた列をコピー → 形式を選択して貼り付け → 値
(式のままCSVにしない)
ステップ4:CSVとして保存
「名前を付けて保存」→ CSV。
保存後に出る警告は“仕様”なので、必要なら元ファイル(xlsx)は別名で残しておくと安心。
仕上げの確認(ここで事故を止める)
CSVにする前に、整形後のセルをクリックして 数式バーで改行が消えているかを一度だけ確認。
(ここで改行が残ってると、CSVでまた割れます)
つまずきポイント(現場メモ)
- 置換後を空欄にすると単語がくっつく → スペース置換が安全
- Webコピペ由来のゴミ(NBSPなど)が混ざると一致判定がズレる
→ 前回記事の「不可視文字」掃除が効く - 取り込み先によっては「ダブルクォートで囲まれた改行はOK」な仕様もある
→ ただし運用が揃っていないと事故りやすいので、まずは 改行を消す/置換が安全です
今日の1アクション
CSVで壊れてる行を1つ選んで、元のExcelセルをダブルクリック。
カーソルが落ちたら、まず Ctrl+J置換で直せる可能性が高い。
ミニクイズ(答えは末尾)
Q1. CSVで「行区切り」になるのは何?
Q2. セル内改行を検索する置換ショートカットは?
Q3. 置換後をスペースにする理由は?
今日のひとこと(成長ログ)
CSVはシンプルだからこそ、見えない改行が刺さる。先に整形して勝つ。
解答とくわしい解説
A1. 改行
A2. Ctrl+J
A3. 単語が癒着しない/読みやすさが残る
関連(回遊リンク用)
- 関連:改行の正体(CHAR(10)/CHAR(13))の記事(ここにリンク)
- 関連:Ctrl+Jが効かない原因トップ3の記事(ここにリンク)


コメント