CSVの管理番号が末尾0に変わったら、上書き前に確認すること

記事
IT・テクノロジー
商品コードや管理番号をCSVで受け渡したら、長い番号の末尾が0に変わっていた。元データと件数は同じなのに、取込先では「該当商品なし」になる。

この症状では、列の位置だけでなく「番号を数値として読み込んでいないか」を確認します。

16桁以上の番号は、数値として扱わない

Excelの数値の有効桁数は15桁です。16桁以上の管理番号を数値として読み込むと、後ろの桁が失われることがあります。見た目を整えるだけでは直りません。

また「1.23E+…」という表示だけで、既に壊れたとは断定できません。表示形式の問題と、値そのものの変化を分けて調べます。

管理番号は計算する金額ではなく、相手のデータと照合するための文字列として扱うのが基本です。

まず、元のCSVを残してください

上書き保存はせず、システムから出力した元のCSVを別に保管します。Excelで保存した後のファイルだけを「元データ」として比較すると、変化を見逃します。

元CSVをテキストとして確認し、管理番号が正しく残っているかを調べてください。元データも失われている場合、消えた桁を推測して埋めることはできません。出力元からの再取得が必要です。

読み込む段階で「テキスト」にする

対応するExcelでは、[データ]→[テキストまたはCSVから]→[データの変換]で対象列を選び、データ型を[テキスト]にして読み込みます。既に自動で数値型へ変換されるステップがある場合は、その変換を置き換え、元の桁が残ることを確認します。

数値として取り込んで桁が失われた後に、セルの表示形式を「文字列」へ変更しても復元されません。画面・機能名はExcelのバージョンにより異なります。

次回の取込前にも、同じ確認を

管理番号列を文字列として扱うことに加え、元データとの一致、必要な桁数、空欄、重複を確認します。今回直った行だけでなく、次回も同じ方法で出力・読込できるかまで確認すると、再発の切り分けがしやすくなります。

取込エラーの原因を整理したい方へ

「CSV・Excelの取込エラーを診断・修正します」では、対象範囲を確認したうえで、修正版と原因・修正内容の一覧をお渡しします。失われた値を推測して復元するサービスではありません。

ご相談では、エラー文、ファイルの行数・列数、出力元と取込先をお知らせください。個人情報を含まないサンプルで確認を始めます。パスワードやログイン情報は送らないでください。

対応範囲・現在の料金はこちら:


参考:Microsoft サポート「先頭のゼロと大きい数値の維持」
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す