CSVの商品コードが00123なのに、Googleスプレッドシートへ読み込むと123になった場合、先頭0は単なる見た目ではなく識別子の一部かもしれません。郵便番号、品番、取引先コードなどは計算しないため、基本は文字列として扱います。数字に変換した後で表示形式を00000にしても、元の桁数を証明することはできません。

コード列を文字列として扱う必要性

次の例を比べてください。

元CSVの値 数値として解釈した場合 望ましい扱い
00123 123 5文字のコード00123
00001 1 5文字のコード00001
123 123 元が3文字なら3文字として保持

3行目と1行目を数値にしてしまうと、元が123だったのか00123だったのか区別できなくなります。桁数が可変のコードでは特に重大です。

取り込み設定で解釈が変わる箇所

  1. 元のCSVをテキストエディタで開き、商品コード列に00123が実際に残っていることを先に確認します。CSVの区切り文字や引用符も確認します。
  2. いきなり本番の管理表を置換せず、新しいGoogleスプレッドシートで[ファイル]→[インポート]からCSVを読み込みます。
  3. 取込画面に**「テキストを数値、日付、数式に変換」**等の選択項目が表示されたら、コードの文字列保持に適した設定へ切り替えます。項目や文言は環境・形式で変わり得るため、設定が見えない場合は「必ずある」と決めつけないでください。
  4. 先頭0が付く代表値を数件確認します。数値に変換された状態で読み込まれる場合は、その結果を正本にせず、変換を避ける経路・コード列の文字列型の確保を優先します。

Google公式は[ファイル]→[インポート]とインポート先・区切り文字の選択手順を案内しています。先頭0が保持されたかどうかは取り込み後に自分のデータで確かめる必要があります。

既に消えた0を推測で復元しない

123に対して=TEXT(A2,"00000")を使えば表示上00123を作れますが、その値が本来5桁だった証拠にはなりません。この変換が許されるのは、仕様書に「コードは常に5桁」と定義されている場合など、外部の根拠があるときです。

元CSVが残っていれば、そこから再取込みします。元CSVも失われているなら、取引先マスター、商品マスター、外部システムの原本で正しい桁数を確認し、確証のない値を復元済みとして扱わないでください。

元CSVと取込後の件数・コードを比較する

例として100行のCSVなら、取込後のレコード数が100行か、コード重複件数が増えていないか、先頭0のある行を含む代表10件が一致するかを確認します。品番00123と123が別商品なら、値を数値として扱うと別の商品が同一コードに統合されるリスクがあります。

合格条件は、CSV原本のコード文字列と取込後のコードが一致し、件数と重複状況が変わっていないことです。数値の表示形式だけを変えて終わらせないでください。

参考資料

おすすめの記事