Excelで先頭のゼロと16桁IDを守る:識別子を文字列にする
この記事はAIの支援を受けて原文を翻訳したものです。専門用語や数式は原文とあわせて確認してください。
商品コード00123が123になったり、長い番号の末尾がゼロになったりすると、列幅を広げても直らない場合があります。計算しない番号は識別子です。入力や取り込み前に文字列として保存することが重要です。後から表示形式を変えることと原本保持は違います。
計算する値かを最初に考える
数量や価格は計算用の数値です。商品コード、郵便番号、注文IDは一文字ずつ一致すべき名前に近い値です。00123と123を区別するシステムなら数値変換は不適切です。16桁以上の識別子はExcelの数値精度を超える場合があるので文字列で扱います。
| 値 | 保存形式 | 理由 |
|---|---|---|
| 数量125 | 数値 | 合計や計算に使用 |
| 商品コード00123 | 文字列 | ゼロも識別子の一部 |
| 16桁の注文ID | 文字列 | 全桁の一致が必要 |
入力と取り込みを先に準備
直接入力する場合、空の列を先に文字列形式にしてから入力します。一件なら先頭のアポストロフィでも文字列入力を指定できます。CSVの大量データは取り込み段階で該当列を文字列に指定します。変換後に文字列形式へ変更しても消えた桁は戻りません。
Power Queryの自動型変更も確認します。途中で数値にされないよう、原本を最初から文字列で読む手順に修正して再取り込みします。最近のMicrosoft 365やExcel 2024には自動変換を制御する設定もありますが、旧版に同じメニューがあるとは限りません。
00000の表示と原本保存は別
数値123に00000の表示形式を使うと、画面では00123に見えます。しかし保存値は数値のままです。ブック内の五桁表示には便利でも、別システムへ渡す識別子を文字列として保つこととは異なります。
TEXT関数も元の桁数が分かるときに表示用文字列を作れますが、失われた長い番号や不明なゼロの数を復元できません。推測せず原本に戻りましょう。
三つの例で保存と再読み込みを試す
- 試験ブックに00123、1234567890123456、A00123を文字列で入れます。
- 数式バーで全体を確認します。
- 保存して開き直し、再度比較します。
- CSV出力が必要なら出力ファイルの文字を確認します。
- 新しいブックでID列を文字列にして再取り込みします。
CSVにはExcelのセル書式が保存されません。ファイル内に00123があっても、受け取った人が数値として開くと123になります。文字列にすべき列を伝えてください。指数表記だけなら見た目の問題の場合もあるので、実際の桁の損失と分けて確認します。
公式資料:ゼロと長い数字の保持、取り込みと自動変換、CSV入出力。番号は説明用の架空の例です。
あわせて読みたい記事
本文の理解を助けるために制作したオリジナルイラストです。