Excelで電話番号や商品コードの先頭0を残すには、入力する前にセルを「文字列」にするのが基本です。
CSVファイルなら、開くときに番号の列を文字列として取り込みます。
すでに0が消えた場合は、元のファイルや台帳と照合してから直します。
あとから表示形式を変えても、元の番号が何桁だったかまでは分かりません。
対象はWindows版ExcelのMicrosoft 365・2024・2021です。
自動データ変換の設定だけはMicrosoft 365・2024向けとして、共通の手順と分けて説明します。
- これから手入力する:入力前に文字列へ設定する
- CSVを開くと消える:番号列をテキストとして取り込む
- すでに消えた・末尾も変わった:原本と照合して直す
これから入力するなら、番号の列を先に「文字列」にする
電話番号や商品コードは、数字の形をしていても、計算するための数とは役割が違います。
たとえば商品コードの「00123」と「123」は、別の商品を指すことがあります。
Excelが入力を数値と解釈すると、先頭0を除いた値になります。
番号の並びをそのまま持たせたい列は、入力前に文字列へ設定しましょう。

列をまとめて設定する手順
- 新しいブック、または作業用にコピーしたブックを開きます。
- 電話番号や商品コードを入れる列の見出しをクリックします。
既存の表なら、入力予定のセル範囲だけでも構いません。 - Ctrl+1で「セルの書式設定」を開きます。
- 「表示形式」タブの分類で「文字列」を選び、「OK」を押します。
- 番号を入力し、セルを選んで上部の数式バーでも先頭0が残っているか確かめます。
練習には、架空の商品コード「00123」「00007」を使えます。
電話番号の形を試す場合の「00000000000」も、説明用の架空の番号です。
実際の連絡先として使わないでください。
すでに「123」へ変わったセルを文字列にしても、「00123」が自動で戻るわけではありません。
入力直後に変化へ気づいた場合は、まずCtrl+Zで直前の操作を元に戻し、文字列へ設定して原本の番号を入力し直します。
元に戻す操作が使えない場合は、原本を確認して修正します。
設定を戻すには、同じ「セルの書式設定」で元の分類を選びます。
ただし表示形式を「標準」に戻すだけで、入力済みの文字列がすべて数値になるわけではありません。
数量や金額の列は、番号の列と分けて元の形式を保ちます。
1セルだけなら、先頭に半角のアポストロフィを付ける
単発の入力なら、'00123のように先頭へ半角の'を付ける方法もあります。
これはExcelに文字列として扱わせる入力用の記号で、通常、セルには「00123」と表示されます。
大量の番号は、列を先に文字列へ設定する方が設定箇所を管理しやすくなります。
CSVの各項目へ一律にアポストロフィを足す方法とは異なり、受け渡し先によってはその記号自体がデータになるため、CSV加工の共通ルールとしては使いません。
CSVは原本を残し、番号列をテキストとして取り込む
CSVは、項目をカンマなどで区切ったテキストファイルです。
Excelのセルに設定した「文字列」や「ユーザー定義」といった書式情報は保存されません。
CSVの中に「00123」が残っていても、Excelで直接開く際に数値として解釈されると、数値123として取り込まれます。
まず原本をコピーして残し、作業用のCSVをメモ帳などのテキストエディターで開いて、0がファイル内に残っているか確認します。
確認だけなら上書き保存せず閉じます。
「データ」からPower Queryへ進む
Power Query(パワークエリ)は、データを取り込み、列の型などを整える機能です。
CSVをダブルクリックする代わりに、次の手順で番号の列を指定します。
画面の表記は更新状態などで多少異なります。
- Excelで新しいブックを開き、「データ」タブの「テキストまたはCSVから」(「テキスト/CSVから」)を選びます。
- 作業用CSVを選び、「インポート」を押します。
- プレビューで区切り位置と文字化けの有無を確認し、「データの変換」を選びます。
- Power Queryエディターで電話番号・商品コードの列を選び、列見出し左のデータ型アイコン、または「データ型」のメニューから「テキスト」を選びます。
- 型変更の確認が出た場合は「現在を置換」を選び、既存の型指定を置き換えます。
番号列に先行する数値変換が残っていないか、次の説明に沿って確認します。 - 番号の先頭・桁数・末尾が原本と一致したら、「閉じて読み込む」でシートへ取り込みます。
「数値になった後でテキストへ変更」を避ける
Power QueryはCSVなどの列型を自動判定し、「変更された型」などの手順を追加することがあります。
その手順で先頭0が落ちた後に、テキスト化の手順を追加しても元の0は戻りません。
右側の「クエリの設定」にある「適用したステップ」を見て、型変更の前後を選び、どこで番号が変わったか確かめます。
最初の数値変換をテキスト指定に置き換えるか、作業用クエリの不要な自動型変更を削除してから、番号列をテキストへ指定し直します。
削除する前に手順と列型を控え、数量・金額・日付まで意図せず変えていないかも見ます。
判断できない場合は、原本を残したまま取込をキャンセルし、新しい作業用ブックでやり直せます。
自動型変更を削除すると、ほかの列の型指定も外れる場合があります。
番号はテキスト、数量は整数、金額は用途に合う数値型というように、列ごとの役割を確かめて設定します。
プレビューで0が残っているだけでは、シートまで正しく届いたと判断できません。
読み込み後にも代表行を選び、数式バーで原本の番号と照合します。
元CSVの時点ですでに0がない場合は、さらに前の出力元や台帳が必要です。
すでに0が消えたら、原本と桁数の決まりで直し方を分ける
「123」だけが残ったセルから、元が「0123」「00123」「123」のどれだったかは判別できません。
原本がある場合は、その値を文字列として入力し直すか、CSVから取り込み直すのが基本です。

| 手元にある情報 | 直し方 |
|---|---|
| 元CSV・元の台帳がある | 原本と照合し、番号列を文字列として再入力・再取込する |
| 全件5桁など、正しい固定桁数が確認できる | 表示だけ整えるか、文字列として補完するかを用途で選ぶ |
| 原本がなく、桁数も不明 | 一律に0を足さず、出力元・管理者へ元データを確認する |
| 16桁以上で末尾の数字も変わった | 書式で直そうとせず、原本から文字列で取り込み直す |
ユーザー定義の「00000」は表示を5桁にそろえる
ブックの中で固定桁のコードを見やすくしたいなら、ユーザー定義の表示形式が使えます。
対象セルを選んでCtrl+1を押し、「表示形式」→「ユーザー定義」の「種類」に00000を指定すると、数値123は「00123」と表示されます。
この場合、中の値は数値123のままです。
見た目を5桁に整えても、元の番号が5桁だったという証明にはなりません。
電話番号などを他システムへ渡す用途では、表示だけで判断せず、文字列として番号を保持します。
試す前に元の表示形式を控え、戻すときは同じ画面で元の形式を指定します。
この変更だけなら中の数値は変わりませんが、長い番号ですでに失われた数字を取り戻すことはできません。
TEXT関数は、既知の固定桁数へ文字列で補完する
「この商品コードは必ず5桁で、足りない先頭部分は0」というルールを確認できる場合は、別の列で次の式を使えます。
=TEXT(A2,"00000")
A2が数値123なら、結果は文字列の「00123」です。
これは決められた5桁に補完する処理で、消えた値そのものを復旧する処理ではありません。
桁数の異なるコードが混じる列や、末尾まで変わった番号には一律に使わないでください。
変換結果は元の列と並べて照合します。
別システム用に数式ではなく文字列の値が必要なら、結果列をコピーして別の列へ「値の貼り付け」を行ない、先頭と末尾を再確認します。
元の列は確認が終わるまで残します。
16桁以上の番号は、先頭0と末尾の両方を見る
Excelの数値の有効桁数は最大15桁です。
16桁以上の管理番号などを数値として取り込むと、15桁を超える部分が変わることがあります。
あとから文字列やユーザー定義へ変更しても、失われた桁は戻りません。
一方、セルが「1.23E+…」のような指数表記になっただけでは、どの桁まで変化したかは判断できません。
数式バーの値を原本と比較し、先頭0だけでなく総桁数と末尾も確認します。
異なっていれば原本から番号列を文字列として取り込み直します。
保存はExcel形式を基本にし、CSVは出力内容と再読込を確かめる
作業を続けるファイルは、セルの型や書式を持てるExcelブック(.xlsx)で別名保存すると管理しやすくなります。
CSVが必要なのは、受け渡し先がCSVを指定している場合などです。
Excelブックを残し、CSVは提出用に別名で書き出します。
「CSVで保存したから、その時点で必ず0が消える」とは限りません。
書き出したファイルにどの文字が入ったかと、次にExcelや別システムがどう読み込むかを、それぞれ確かめます。
- 保存前に、先頭0が複数ある行・長い番号・末尾が特徴的な行を選び、数式バーで原本と照合します。
- Excelブックを保存して閉じ、開き直して同じ行を確認します。
- CSVを書き出した場合は、まずテキストエディターで先頭0と末尾が出力されているか確認します。
確認中は上書き保存しません。 - そのCSVを新しいブックへ、番号列をテキストとして取り込み直し、同じ行を比較します。
- 提出先の取込仕様がある場合は、番号列の文字列指定や必要桁数を合わせ、取込後の値も確認します。
代表行の確認は、大きな変化を早く見つけるためのものです。
請求・配送・商品登録など、全件の一致が必要な仕事では、原本と全件を照合してから使用します。
CSVの値をダブルクォーテーションで囲むだけで、すべての読込先が文字列として扱うとは限りません。
提出先の仕様に合わせ、受け取る側の列型まで確認すると再発を防ぎやすくなります。
Microsoft 365・2024なら自動データ変換の設定も使える
Microsoft 365・Excel 2024には、先頭0を除いて数値へ変換する動作などを変更する設定があります。
Excel 2021ではこの設定を前提にせず、入力前の文字列指定やPower Queryの列型指定を使います。
- 「ファイル」→「オプション」→「データ」を開きます。
- 「自動データ変換」の現在のチェック状態を控えます。
- 先頭のゼロを削除して数値に変換する項目のチェックを外し、「OK」を押します。
- 新しい作業用セルで架空の商品コードを入力し、0が残るか確認します。
長い番号も扱う場合は、15桁へ変換する項目についても用途を確認して設定します。
元に戻すときは同じ画面で、控えたチェック状態へ戻します。
設定変更は今後追加するデータの扱いに関わるため、数量・金額などを含む普段の作業にも合うか確かめましょう。
この設定はPower Queryでの取込には直接適用されません。
また、すでに消えた0や変わった末尾を元に戻す機能でもありません。
CSVをPower Queryから取り込むときは、引き続き列のデータ型を指定します。
まとめ
電話番号や商品コードは、入力前・取込時に文字列として保持すると、先頭0を残せます。
すでに消えた場合は原本と照合し、固定桁数の補完と元データの復旧を区別します。
作業用のExcelブックと元CSVを残し、保存後にも先頭・総桁数・末尾を確かめてから使いましょう。
参考資料
- Microsoft Support「先頭のゼロおよび大きい数値の保持」:文字列としての入力・取込、表示形式、15桁の精度。
- Microsoft Support「TEXT 関数」:数値を指定形式の文字列にする関数。
- Microsoft Support「自動データ変換を設定する」:対象版と設定方法、Power Queryへの適用範囲。
- Microsoft Support「テキスト (.txt または .csv) ファイルのインポートまたはエクスポート」:CSVの読込・書出しと形式上の制約。
- Microsoft Learn「Data types in Power Query」:列の型、自動型検出と型変更の手順。
- Microsoft Support「File formats that are supported in Excel」:テキスト形式では書式情報が失われること。
- Microsoft Support「Keyboard shortcuts in Excel」:Ctrl+ZなどのExcelのキー操作。

