FILES — ファイル・画像・PDF
CSVの先頭ゼロや番号を変えずに読み込む
商品コードの「00123」が「123」になると、同じ番号に見えても元の識別子とは違います。番号として計算する値と、文字列として保持するコードを取り込み前に分けます。
この記事の目次
列の意味を決める
商品コード、郵便番号、会員番号などは、数字だけでも文字列として扱う必要があります。一方、数量や金額は計算の対象です。見た目が似ているからといって全列を同じ型にしません。
取り込み時に指定する
表計算ソフトのCSV取り込みで、対象列を文字列として扱えるか確認します。Excelの自動変換や取り込み機能は版によって選択肢が異なります。少量のサンプルを先に読み込み、期待どおりか確かめます。
消えた後の書式変更に頼らない
表示形式でゼロを足しても、元の桁数が分からなければ正しいコードの復元にはなりません。長い番号や日付風の値が自動変換された場合も、原本から適切な型で読み込み直す方法を優先します。
出力後の値を確認する
「00123」「1-2」「長い番号」のような確認用の値を選び、出力したCSVを文字として確認します。数式やセルの見た目ではなく、受け取る側が読む値が目的どおりかを確かめます。元CSVと作業用ブックは分けて保管します。

画像を選ぶと拡大できます。
- 番号の列と計算する数値の列を区別します。
- 番号の列は取り込み時に文字列として指定します。
- 原本と比較し、先頭ゼロや長い番号が変わっていないか確かめます。
数字の並びが何を表しているかを考える
「数量が123個」と「商品コードが00123」では、数字の役割が違います。数量は足したり比較したりする値ですが、コードは対象を区別する名前として使います。コードの先頭ゼロを落とすと、数字としての大きさが同じでも、システムが照合する文字列は変わります。
ここで重要なのは、全ての数字を文字列にすればよいという話ではないことです。数量まで文字列にすると、その後の集計に別の調整が必要になる場合があります。列ごとに「計算する値か」「そのまま照合する識別子か」を決めると、取り込みの設定に理由を持たせられます。
商品一覧を更新する例
商品コード、商品名、数量を持つ一覧を読み込む場面を考えます。確認用に、仮のコード「00123」と「123」、ハイフンを含むコードを選びます。これらを実データへ追加するのではなく、手元の確認用サンプルや該当する既存行で動作を見ます。商品コードは文字列として保持し、数量は集計の用途に合う型で取り込みます。
確認では、セルに見える表示と、出力ファイルに書かれる値を分けて見ます。表示だけが五桁に整っていても、提出先へ渡る値が同じ形とは限りません。商品コードを使って一件を照合するところまで試すと、見た目だけの確認よりも利用目的に近づきます。検証用のデータを本番の一覧へ混ぜないことも、作業の区切りとして確認します。
ゼロが消えたときに判断を急がない
| 分かっていること | 取る方法 |
|---|---|
| 元CSVが残っている | 原本から型を指定して読み込み直す |
| コードの正式な仕様がある | 桁数や許される文字を仕様と照合する |
| 元の桁数が分からない | 一律のゼロ追加で推測せず確認する |
| 表示だけを整えたい | 保存される値との違いを把握して書式を使う |
失われた情報を復元する作業と、見やすく表示する作業を混ぜないことが大切です。提出用CSV、編集用ブック、受領した原本を分けて保管すると、どの段階で値が変わったかを追えます。定期的な取り込みなら、先頭ゼロや日付に見える文字列を含む確認項目を残し、次回も同じ観点で点検します。