消したはずの列や行がCSVに残っている — 行末の余分なカンマ・カンマだけの行で取込エラーになるとき
公開:
受注データのCSVを基幹システムに取り込もうとしたら、「項目数が違います」「列の数が一致しません」といったエラーで止まった。Excelで不要な列の中身は消したはずなのに——こうしたことが起きることがあります。
このとき疑いたいのが、行末に付いた余分なカンマです。Excelの画面では何もない列でも、CSVにすると「中身が空の列」として書き出され、各行の末尾に「,,」のようなカンマが並ぶことがあります。この記事では、この「見えない列」がなぜできるのか、どう確かめるか、どう消すかを、受注データを基幹システムに取り込む場面に絞って整理します。
CSVでは「空の列」もカンマで数えられる
CSVは、1行の中の項目をカンマで区切って並べる形式です。取込先の基幹システムは、多くの場合「1行に何項目あるか」を決めていて、カンマの数でそれを数えます。
たとえば、受注日・得意先コード・品番・数量の4項目を取り込む仕様で、CSVの行が次のようになっていたとします。
| CSVの1行 | 項目数 |
|---|---|
2026/11/07,T001,A-100,5 | 4 |
2026/11/07,T001,A-100,5,, | 6(最後の2つは空) |
画面上は同じ受注に見えても、2行目は末尾に空の項目が2つ付いているため、取込先からは「6項目ある行」と見えます。項目数を厳しく確かめる取込先では、これがエラーの原因になります。空の項目を無視して読み込む取込先もありますが、どちらの扱いかは取込先の仕様次第です。
海外のデータ処理ソフトのヘルプでも、CSVの各行末にカンマがあるのはExcel操作でできた「見えない列」のしるしで、Excelで右端の空の列を削除して保存し直すよう案内されています。
なぜ「消したはずの列」が残るのか
「内容を消す」と「列を削除する」は別の操作
いちばん多いと考えられるのが、使わなくなった列を選んでDeleteキーで中身を消しただけ、というケースです。Deleteキーで消えるのはセルの中身だけで、列そのものは残ります。英語圏のExcelフォーラムでも、Deleteキーで空にした列がデータの範囲として残り、CSVに書き出すと空の列の分までカンマが出力される、という説明がされています。
一方、列番号を右クリックして「削除」を選ぶと、列そのものがなくなり、右側の列が左に詰まります。CSVの見えない列を作らないのは、こちらの操作です。
一度でも何か入れたセルは「使っている範囲」になる
Excelは、シートのどこまでを使っているかを内部で覚えています。メモ書きのつもりで右端のセルに何かを入れて後で消した、書式だけを右の方まで設定した、といった操作でも、その範囲までが「使っている範囲」として扱われ、CSVに空の列として出てくることがあります。
行でも同じことが起きる
同じことは行でも起きます。表の下の方で数式や値を消しただけの行は、CSVにすると「カンマだけの行」(,,,)として残ることがあります。取込先によっては、これを「必須項目が空の受注」として読んでエラーにしたり、件数がずれたりします。件数のずれ全般は、CSV取込の件数が合わないときの確かめ方の記事で整理しています。
見えない列があるかを確かめる
テキストエディタで行末を見る
保存したCSVを、メモ帳などのテキストエディタで開きます。各行の最後が「5」のような値で終わっていれば問題ありません。「5,,」のようにカンマで終わっていれば、見えない列があります。表の最後の方まで送って、「,,,」のようなカンマだけの行がないかも見ておきます。
Excelで開き直すと空の列は見えないままなので、確認はExcelを通さずに行います。
Excelで Ctrl+End を押す
保存する前のExcelでは、Ctrl+End を押すと、Excelが「使っている範囲」の右下だと思っているセルに移動します。表の右下ではなく、もっと右や下の何もないセルに飛んだ場合は、その範囲までが空の列・空の行としてCSVに書き出される可能性があります。
見えない列・行を消す
列と行を「削除」してから保存し直す
- 表の右端の、使っている最後の列の1つ右の列番号をクリックする
- Ctrl+Shift+→ で、そこから右端までの列をまとめて選ぶ(途中で止まったら、もう一度押す)
- 列番号の上で右クリックし「削除」を選ぶ
- 表の下側も同じように、最後の行の1つ下の行番号から Ctrl+Shift+↓ で下端まで選んで「削除」する
- いったんブックを保存し、もう一度 Ctrl+End で表の右下に止まるかを確かめてから、CSVに書き出す
書き出したCSVは、もう一度テキストエディタで行末を見て、カンマで終わる行がなくなったかを確かめます。
必要な範囲だけ新しいシートに貼って保存する
削除してもうまく範囲が戻らないときは、取り込む表の範囲だけを選んでコピーし、新しいブックに「値の貼り付け」をしてからCSVに保存する方法があります。英語圏のフォーラムでもよく挙がる方法で、使っている範囲の履歴を持ち越さずに済みます。
取込用のシートには余計なものを置かない
取込用のブックの右側にメモや集計を置いていると、同じことが繰り返されます。メモや確認用の計算は別のシートに置き、取込用のシートには取込先の項目だけを並べておくと、保存のたびに見えない列を気にせずに済みます。
似ているけれど原因が違うもの
- 商品名にカンマが入っていて、そこで列がずれる: CSVのクォーティングの基礎
- 改行コードの違いで「ファイルの内容が不正です」になる: 改行コード(CRLF/LF)の不一致
- CSV保存時に出る警告の意味: 「一部の機能が失われる可能性があります」の警告
どれも「CSVをテキストエディタで開いて中身を見る」と切り分けやすいという点で共通しています。ほかのCSV取込エラーの対処は、基幹システムへのCSV取込でよくあるエラーと対処法でまとめています。
まとめ
- 「項目数が違う」エラーが出たら、CSVの行末に余分なカンマが付いていないかを疑う
- Excelで中身を消しただけの列・行は、CSVに空の列・カンマだけの行として残ることがある
- 確認はテキストエディタで行末を見る。保存前のExcelでは Ctrl+End で使っている範囲の右下を確かめる
- 不要な列・行は「内容を消す」のではなく、右クリックの「削除」で消してから保存し直す
- 取込用のシートには取込先の項目だけを置き、メモや集計は別のシートに分ける
手前味噌の紹介
この記事を書いているのは、注文書特化サービス注文書係(ちゅうもんしょがかり)の運営者です。FAX・手書きの注文書をアップロードするとAIが下書きを作り、担当者は自信のない項目だけを確認して確定します。転記にかかる時間を1/10程度に圧縮することを狙ったサービスです。
注文書係は、注文書から取引先名・受注日・注文番号と、明細の品番・品名・数量・単位・単価を読み取り、取込先に合わせた列順でCSVに出力します。出力されたCSVをExcelで開いて列を足したり消したりしてから保存すると、この記事と同じ見えない列ができることがあるため、加工が必要なときは元のCSVを残しておくと安心です。最初の取込では、この記事の手順で行末にカンマが付いていないかを一度確かめてみてください。
無料トライアル(30枚または14日間、クレジットカード登録不要)で、実際にお使いの帳票との相性を確かめてみてください。