Excelで数値を扱う際に、先頭のゼロが消えてしまう問題に直面したことはありませんか?たとえば、「0005」と入力したいのに「5」と表示されてしまうことがあります。これは、Excelがセルのデータを数値として認識し、不要なゼロを削除してしまうためです。
この問題を解決するために、Excelでは REPT関数 を活用する方法があります。この記事では、式を使って、ゼロ埋めを行う方法を詳しく解説します。さらに、Excelの他の便利な方法についても紹介します。
1. REPT関数を使ってゼロを埋める方法
◇ REPT関数とは?
REPT関数は、指定した文字を繰り返して表示する関数です。
構文:
=REPT(繰り返す文字, 繰り返す回数)
たとえば、=REPT("0",3)
と入力すると、「000」が表示されます。
◇ 具体的なゼロ埋めの方法
「4桁の数値データ」を保持し、先頭のゼロを自動的に補完するには、以下のような式を使います。
=REPT("0",B2-LEN(A2))&A2
この数式の仕組みを解説すると:
- LEN(A2) → B3の文字数を取得
- B2-LEN(A2) → 「8桁」からA2の文字数を引いた値(足りないゼロの個数)を計算
- REPT(“0”, B2-LEN(A2)) → 必要なゼロの数を生成
- REPT(“0”, B2-LEN(A2)) & A2 → ゼロを補い、A2の値と結合

◇ 使用例
B列 (元の数値) | C列 (ゼロ埋め後) |
---|---|
5 | 0005 |
23 | 0023 |
789 | 0789 |
1234 | 1234 |
この方法を使えば、常に4桁の数値を維持 することができます。
2. 文字列としてゼロ埋めをする方法(TEXT関数)
TEXT関数 を使うと、もっと簡単にゼロ埋めをすることができます。
=TEXT(A2, "00000000")
この方法のメリットは: ✅ 数式がシンプル
✅ 4桁より大きな数値でも対応可能
✅ 数値を「文字列」として保持できる
たとえば、B3=5
の場合、TEXT関数を使うと "0005"
という結果が得られます。

3. セルの書式設定でゼロ埋めする方法
Excelの セルの書式設定 を変更するだけでも、ゼロ埋めを適用できます。
◇ 手順:
- ゼロ埋めしたいセルを選択
- 右クリック → [セルの書式設定]
- [表示形式] タブ → [ユーザー定義]
- 種類に「0000」と入力
- [OK] を押す
この方法のメリットは、元のデータが数値のまま保持される ことです。
4. VBAを使って自動化する方法
ExcelのVBAを使えば、大量のデータに対してゼロ埋めを一括適用できます。
Sub ZeroPadding()
Dim c As Range
For Each c In Range("B2:B100") ' 対象の範囲を指定
c.Value = Format(c.Value, "00000000")
Next c
End Sub
このマクロを実行すると、B2~B100のセルに対して「0000」フォーマットが適用されます。
5. まとめ
Excelで数値の先頭のゼロを維持するには、以下の方法が有効です。
方法 | メリット | デメリット |
---|---|---|
REPT関数 | 数式としてゼロ埋め可能 | セルの内容が文字列として扱われる |
TEXT関数 | シンプルな数式 | やはり文字列として扱われる |
セルの書式設定 | 見た目だけゼロ埋めできる | 実際の値は変わらない |
VBAマクロ | 一括処理が可能 | VBAの知識が必要 |
どの方法を選ぶかは、用途に応じて決めると良いでしょう。
👉 おすすめは TEXT関数 (=TEXT(A2, "00000000")
)!
シンプルで使いやすく、初心者でも簡単に適用できます。
これで、Excelでのゼロ埋めに関する悩みは解決できるはずです!ぜひ試してみてください。