Excel(エクセル)で管理番号やコードを扱っているとき、「123」を「00123」のように、桁数をそろえて0を入れたいと思ったことはありませんか?
これを**0埋め(ゼロパディング)**と呼びます。商品コードや会員番号、伝票番号など、ビジネスの現場でよく使われる大切な技術です。
この記事では、Excelで0埋めをするための代表的な方法を初心者にもわかるように解説します。それぞれの方法の特徴や使い分けも紹介するので、あなたの作業に最適な方法が見つかるはずです。
0埋めとは何か

0埋めの基本
**0埋め(ゼロパディング)**とは、数値の桁数をそろえるために、足りない部分に0を追加することです。
例
- 1 → 001
- 23 → 023
- 456 → 456
0埋めが必要な場面
ビジネスでの活用例
- 商品コードの管理(P001、P002、P003…)
- 会員番号の統一(M0001、M0002、M0003…)
- 伝票番号の採番(INV-00001、INV-00002…)
- 日付の表示(20250714、20250715…)
メリット
- 見た目が整って読みやすい
- 並び順が正しくなる
- システム間でのデータ交換がスムーズ
TEXT関数で0埋めする方法
基本的な書き方
もっともよく使われるのがTEXT
関数です。
=TEXT(数値, "00000")
この例では、5桁で0埋めします。
具体的な例
A列 | B列の数式 | 結果 |
---|---|---|
123 | =TEXT(A1,”00000″) | 00123 |
45 | =TEXT(A2,”00000″) | 00045 |
6789 | =TEXT(A3,”00000″) | 06789 |
桁数を変える方法
3桁で0埋め
=TEXT(A1,"000")
8桁で0埋め
=TEXT(A1,"00000000")
日付を8桁で0埋め
=TEXT(TODAY(),"yyyymmdd")
結果:20250714
TEXT関数の特徴
メリット
- シンプル:覚えやすく、使いやすい
- 安定性:先頭の0が確実に保持される
- CSV出力:テキストファイルに出力しても0が消えない
デメリット
- 文字列化:結果が文字列になるため、数値計算ができない
- 固定桁数:桁数を後から変更するには数式を修正する必要がある
実用的な応用例
商品コードの生成
="P" & TEXT(A1,"000")
結果:P001、P002、P003…
時刻の0埋め
=TEXT(NOW(),"hhmm")
結果:1430(14時30分の場合)
表示形式(カスタム)で0埋めする方法
設定手順
セルに入力した数値を「見た目だけ」0埋めする方法です。
手順
- 対象のセル範囲を選択
- 右クリック →「セルの書式設定」
- 「表示形式」タブ →「ユーザー定義」
- 種類に
00000
と入力(5桁なら) - 「OK」をクリック
表示形式の例
種類 | 入力値 | 表示 | 用途 |
---|---|---|---|
000 | 5 | 005 | 3桁コード |
00000 | 123 | 00123 | 5桁番号 |
0000000 | 456 | 0000456 | 7桁管理番号 |
表示形式の特徴
メリット
- 計算可能:実際の値は数値のままなので、計算に使える
- 一括設定:複数のセルに一度に適用できる
- 軽量:関数を使わないので処理が軽い
デメリット
- 見た目だけ:CSV出力時に0が消える場合がある
- 範囲指定:セル範囲を指定して設定する必要がある
実際の使用例
管理番号の表示
- A列に連番(1、2、3…)を入力
- A列を選択して表示形式を「00000」に設定
- 結果:00001、00002、00003…
複数列への適用
- A1:C10の範囲を選択
- 表示形式を「000」に設定
- すべての数値が3桁で表示される
REPT関数とLEN関数を組み合わせる方法

基本的な考え方
REPT
(繰り返し)関数とLEN
(文字数)関数を組み合わせて、柔軟な0埋めを実現できます。
基本的な書き方
=REPT("0",目標桁数-LEN(A1)) & A1
具体的な例
5桁で0埋め
=REPT("0",5-LEN(A1)) & A1
A列 | 計算過程 | 結果 |
---|---|---|
123 | REPT(“0”,5-3) & “123” | 00123 |
45 | REPT(“0”,5-2) & “45” | 00045 |
6789 | REPT(“0”,5-4) & “6789” | 06789 |
高度な活用例
動的な桁数調整
=REPT("0",MAX(LEN(A:A))-LEN(A1)) & A1
この数式は、A列の最大桁数に合わせて自動的に0埋めします。
条件付き0埋め
=IF(LEN(A1)<5, REPT("0",5-LEN(A1)) & A1, A1)
5桁未満の場合のみ0埋めを行います。
REPT関数の特徴
メリット
- 柔軟性:桁数を動的に調整できる
- 条件設定:IF文と組み合わせて条件付き処理が可能
- カスタマイズ:複雑な要件にも対応可能
デメリット
- 複雑性:数式が複雑になりがち
- 処理速度:大量のデータでは処理が重くなる場合がある
方法の使い分け
場面別の選択指針
目的 | 推奨方法 | 理由 |
---|---|---|
CSV出力が必要 | TEXT関数 | 文字列として確実に0が保持される |
計算も必要 | 表示形式 | 数値として計算に使える |
動的な桁数調整 | REPT+LEN | 柔軟に桁数を調整できる |
大量データ処理 | 表示形式 | 処理が軽い |
判断フローチャート
- CSV出力は必要?
- YES → TEXT関数
- NO → 次へ
- 計算に使う?
- YES → 表示形式
- NO → 次へ
- 桁数は固定?
- YES → TEXT関数または表示形式
- NO → REPT+LEN
実際の業務での活用例
商品管理システム
商品コードの生成
="SKU" & TEXT(ROW()-1,"0000")
結果:SKU0001、SKU0002、SKU0003…
カテゴリー別コード
=LEFT(B1,1) & TEXT(A1,"000")
B1にカテゴリー名、A1に番号が入っている場合
会員管理システム
会員番号の生成
="M" & TEXT(YEAR(TODAY()),"0000") & TEXT(A1,"000")
結果:M2025001、M2025002…(年度+連番)
地域別会員番号
=C1 & TEXT(A1,"0000")
C1に地域コード、A1に会員番号
伝票管理システム
請求書番号
="INV-" & TEXT(YEAR(TODAY()),"0000") & TEXT(MONTH(TODAY()),"00") & TEXT(A1,"000")
結果:INV-20250700001(年月+連番)
トラブルシューティング

よくある問題と解決方法
先頭の0が消えてしまう
原因
- セルの書式が「標準」になっている
- 数値として認識されている
解決方法
- TEXT関数を使用する
- セルの書式を「文字列」に設定する
計算ができない
原因
- TEXT関数で文字列になっている
- 表示形式と実際の値の違いを理解していない
解決方法
- 表示形式を使用する
- VALUE関数で数値に変換する
CSV出力で0が消える
原因
- 表示形式は見た目だけの変更
- CSVでは実際の値が出力される
解決方法
- TEXT関数を使用する
- 出力前にコピー→値の貼り付けを行う
エラーの対処法
#VALUE!エラー
原因
- 空のセルを参照している
- 数値でないデータを処理している
解決方法
=IF(A1="","",TEXT(A1,"00000"))
桁数が足りない
原因
- 指定した桁数より大きな数値が入力されている
解決方法
=TEXT(A1,REPT("0",MAX(5,LEN(A1))))
応用テクニック
複数条件での0埋め
桁数に応じた処理
=IF(LEN(A1)<=3,TEXT(A1,"000"),IF(LEN(A1)<=5,TEXT(A1,"00000"),A1))
部分的な0埋め
特定の桁のみ0埋め
=LEFT(A1,2) & TEXT(MID(A1,3,100),"000")
配列数式での一括処理
範囲全体の0埋め
=TEXT(A1:A10,"00000")
Excel 365では配列数式として機能します。
まとめ
Excelで0埋めする方法は、大きく分けると3つあります。
方法別の特徴
方法 | 特徴 | 適用場面 |
---|---|---|
TEXT関数 | 文字列として0埋め。見た目も値も固定 | CSV出力、確実な0保持 |
表示形式 | 見た目だけ0埋め。数値として計算OK | 計算が必要、大量データ |
REPT+LEN | 柔軟に桁を計算して0埋めできる | 動的な桁数調整 |
選択の指針
TEXT関数がおすすめの場合
- CSVなど文字列として出力する
- 確実に0を保持したい
- シンプルな処理で済む
表示形式がおすすめの場合
- 数値として計算に使いたい
- 大量のデータを処理する
- 見た目だけ整えたい
REPT+LEN がおすすめの場合
- 桁数を自動で調整したい
- 複雑な条件で処理したい
- 柔軟性を重視する
実用的なポイント
- 目的を明確に:出力先や用途を考えて方法を選ぶ
- データの特性を理解:数値か文字列かを意識する
- エラー対策:空のセルや異常値への対処を準備する
- 効率性を考慮:処理速度とメンテナンス性のバランス
コメント