メモ:ExcelのCSVで列ズレする原因は「セル内改行」かも(直し方つき)

Office:Excel

こんにちは。いーかです。
Excelの「データ整形」で、CSV出力した瞬間にデータがズレる事故を防ぐメモです。

30秒まとめ(結論1行)

CSVは“改行=次の行”として扱うので、セル内改行が混ざると行が割れて列ズレする。対策は「改行をスペースに置換→値貼り付け→CSV出力」。


症状(こうなったらセル内改行を疑う)

  • CSVにしたら 1行増える/途中からズレる
  • 住所や備考の列だけ 行が分裂する
  • 取り込み先(別システム)で 列ズレが起きる

なぜ壊れる?(原因)

CSVはざっくり言うと、

  • カンマで列を区切り
  • 改行で行を区切る
    というルール。

だからセルの中に改行があると、CSV側はそれを “行区切り”だと誤解して、データが割れます。


先に安全ネット(事故防止)

いきなり上書きしないで、対象列(またはシート)を 別シートにコピーしてテストすると安心です。
(戻せる=心が折れない)


手順:セル内改行を一括で“無害化”してからCSVにする

ステップ1:置換(Ctrl+J)で改行をスペースへ

  1. 対象範囲を選択(列まるごとでもOK)
  2. Ctrl + H(置換)
  3. 「検索する文字列」にカーソル
  4. Ctrl + J(見えない改行が入る)
  5. 「置換後の文字列」= 半角スペース1個
  6. 「すべて置換」

※文章がくっつく事故が嫌なので、基本は スペース置換がおすすめ。


ステップ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の記事(ここにリンク)

コメント

タイトルとURLをコピーしました