Excel管理表でCSV出力時に値が欠ける原因。結合セルをやめて各行に値を持たせる手順

Excel管理表でCSV出力時に値が欠ける原因。セル結合をやめて各行に値を持たせる手順のアイキャッチ画像 CSV化しやすい構造

導入

案件管理表をCSVで書き出し、別システムへ取り込むと、顧客名列が1行目だけ入っていて2行目以降が空欄になる。Excel上では「同じ顧客は1回だけ表示」と結合セルで見やすく整えていたが、CSVに変換した瞬間に値が消えてしまった、という経験はありませんか。

これはCSV出力機能の不具合ではなく、結合セルが「上のセルにだけ値を持ち、下のセルは空欄」というExcel固有の構造になっていることが原因です。本記事では、結合セルを解除し、各行に値を持たせて取込安定化する手順をまとめます。

この記事で解決すること

項目 内容
解決する課題 CSV出力時に値が欠ける
主な原因 結合セルで見た目を整えている
解決方法 結合セルを解除し、各行に値を持たせる
対象業務 一覧表・台帳・進捗管理
対象人数 2〜30人
難易度 ★☆☆☆☆
作業時間 20分
用意するもの 対象のExcelファイル/編集権限
効果 行単位でデータを扱いやすくなる
向かないケース 印刷レイアウト重視の帳票

CSVは1行1レコードの形式です。結合セルは「上のセルに値、下のセルに空」とExcelが内部で扱うため、結合解除=空欄が露出することになります。

なぜその管理表はうまくいかないのか

  • 顧客名列を結合して「同じ顧客は1回だけ表示」している
  • 大分類の列を縦に結合して階層感を出している
  • 案件番号を結合して「複数行で1案件」を表現している
  • 結合セルが入っているとフィルタや並び替えが正しく動かない
  • ピボットテーブルやVLOOKUPで結合セルが原因のエラーが出る

担当者の入力ミスではなく、Excelの見やすさのために導入した結合セルが、CSV化や集計の足を引っ張っていることが原因です。見直しは、結合セルをすべて解除し、空欄に値を埋めるところから始めます。

完成イメージ

直す前 — 顧客名と案件番号が結合セル:

案件番号 顧客名 工程 担当者
240401 山田商事 見積 田中
(結合継続) (結合継続) 契約 鈴木
(結合継続) (結合継続) 納品 田中
240402 鈴木物産 見積 佐藤
(結合継続) (結合継続) 契約 佐藤

CSV出力すると2行目以降の案件番号・顧客名が空欄になり、取込先で「孤立した工程行」となる。

直した後 — 結合解除して各行に値を埋める:

案件番号 顧客名 工程 担当者
240401 山田商事 見積 田中
240401 山田商事 契約 鈴木
240401 山田商事 納品 田中
240402 鈴木物産 見積 佐藤
240402 鈴木物産 契約 佐藤

各行が独立したレコードになり、CSV取込やピボット集計で扱いやすくなります。

改善手順

ステップ1. 結合セルがある列を洗い出す

まず、シート内で結合セルがどの列にどれくらい使われているかを把握します。

操作: Ctrl+A で全選択→「ホーム」タブ→「セルを結合して中央揃え」の状態を確認。結合セルが分かりにくい場合は「ホーム」タブ→「条件付き書式」→「新しいルール」→「数式を使用」で =ISBLANK(A1) を設定して空セルを可視化する。

記入例:

列名 結合の使い方 対象行数
案件番号 同案件で縦結合 全体の30%
顧客名 同顧客で縦結合 全体の25%
工程 結合なし

ステップ2. 結合セルをすべて解除する

ステップ1で洗い出した列の結合を一気に解除します。

操作: 該当列を選択→「ホーム」タブ→「セルを結合して中央揃え」をクリックして解除する。解除後は上のセルにだけ値が残り、下のセルは空欄になる。

記入例:

解除前 解除後
A2〜A4 結合「240401」 A2「240401」/A3「」/A4「」

ステップ3. 空欄に上のセルの値をコピーで埋める

結合解除で空欄になったセルに、上のセルの値を埋めます。

操作: A列を選択→「ホーム」タブ→「検索と選択」→「ジャンプ」→「セル選択」→「空白セル」を選ぶ。選択された状態で = を入力し、上矢印キー→Ctrl+Enter で全空白セルに「直上セルの値」を一括入力する。最後にA列を選択→コピー→「値の貼り付け」で式を消す。

記入例:

操作 A2 A3 A4
結合解除直後 240401 (空) (空)
空白セル選択→ =↑ →Ctrl+Enter 240401 =A2 =A3
値貼り付け 240401 240401 240401

✗悪い例: 空欄を放置したままCSV出力 → 取込先で値が欠落 ◎良い例: 全行に同じ値を埋めて、CSVの行が独立したレコードになる

ステップ4. 値の整合性を確認する

埋めた値が正しく入っているかを確認します。同じ案件番号の行が「全工程ぶん」並んでいるかをフィルタで確かめます。

操作: A列(案件番号)にオートフィルタをかけ、「240401」だけ表示。表示行数が想定通り(例:見積/契約/納品の3行)なら成功。

ステップ5. 印刷時の見た目は条件付き書式で復元する

結合セルを使わずに「同じ値が並ぶときは見た目を変える」を実現するには、条件付き書式を使います。

操作: 対象列を選択→「条件付き書式」→「新しいルール」→「数式を使用」で =A2=A1 を設定し、文字色を白にする。データ上は値が入っているがExcel画面では1行目だけ見える、という見え方になる。

記入例:

表示モード A2 A3 A4
240401 240401 240401
Excel画面(条件付き書式) 240401 (白文字で見えない) (白文字で見えない)
CSV出力 240401 240401 240401

実務での注意点

  • 印刷レイアウト重視の帳票(請求書、決算書、報告書など)は結合セルのままで構いません。CSV出力はしない前提です。
  • 結合解除後に値を埋める処理を間違えると、別の案件の値が混ざります。1列ずつ、少量データで試してから本番データに適用します。
  • 結合セルがあるシートはピボットテーブルやVLOOKUPで意図しない結果になります。集計が崩れている場合は結合が原因の可能性が高いです。
  • 結合を解除すると行数が増えて見た目が長くなる、という感覚的な抵抗が出ます。「印刷時だけ条件付き書式で隠せる」と説明します。
  • 1行に複数情報が入っている形(カンマ区切りで詰め込み等)も同じ問題を起こします。あわせて1行1レコードに整える必要があります。

まとめ

CSV出力で値が欠ける原因は、結合セルが「上のセルに値、下のセルに空」という構造になっていることです。結合をすべて解除し、空欄を上のセルの値で埋めれば、CSV取込時に行が独立したレコードとして認識されます。

次にやることは、対象ファイルで結合セルが使われている列を1つ選び、テスト用のコピーで結合解除→値埋めまでやってみることです。あわせて、CSV出力に空行が混ざる場合は空白行を分類列に置き換える手順、1行に複数件のデータが入っている場合は1行1データに整える手順も参考になります。

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