Excelで固定桁で表示したいのですが0が消えてうまくできません
Excelで0埋めして表示する方法を説明します
Excelで数値を固定桁数で表示したい
Excelのセルに数字だけを入力すると、数値として扱われて先頭のゼロは消えてしまいます。
このままだと、数字を固定桁数で表示したい場合に上手く表示できません。
この記事では、先頭の0が消さずに表示する方法について説明します。
先頭に0を表示すると文字列になり、数値と扱われなくなるので以下のことが起きます。
計算できなくなる
先頭に0を表示したセルの文字は、数値ではないので計算はできなくなります。
エラーメッセージが表示される
数字だけの値を文字列として入力していると、セルの左上隅に緑の三角マークが表示されます。
セルを選択すると表示されるアイコンをクリックすると、エラーの内容が表示されます。
このエラーが出ていても特に問題は無いのですが、目障りであれば以下の操作で消すことができます。
セルごとにエラーを無視する
設定を行う
エラーアイコンをクリックすると表示されるメニューのエラーを無視する
をクリックするとエラーが表示されなくなります。
エラーチェックをOFFにする
エラーアイコンをクリックすると表示されるメニューのエラーチェックオプション
をクリックするとエラーチェック
画面が開きます。
エラーチェック
画面の文字列形式の数値
のチェックをOFFにすると、このエラーは表示されなくなります。
方法1:セルの書式を文字列形式にする
Excelではセルの書式が標準
だと先頭や小数点以下の末尾の0
は消えてしまいます。
セルの書式を文字列
に変えると、入力した文字のまま0
が消えずに表示されるようになります。
入力するセルを選択して右クリックメニューまたはCtrl
+1
キーを押してセルの書式設定
を開きます。
セルの書式設定
の「表示形式」タブの分類:
のリストで文字列
を選択します。
小数点以下の末尾の0を表示したい場合
文字列形式の場合、小数点以下の末尾の0もそのまま表示されます。
方法2:セルの書式をユーザー定義にする
セルの書式をユーザー定義
に変えることでも、固定桁数で先頭に0を表示することができます。
入力するセルを選択して右クリックメニューまたはCtrl
+1
キーを押してセルの書式設定
を開きます。
セルの書式設定
の「表示形式」タブの分類:
のリストでユーザー定義
を選択します。
種類:
の入力欄に0000
と入力します。
小数点以下の末尾の0を表示したい場合
ユーザー定義形式で、小数点以下の末尾の0を表示したい場合は、0000.0000
のように小数点と小数点以下の桁数分の0
も入力します。
方法3:先頭に'
を追加する
セルの文字の先頭に'
を追加すると、その後の文字は文字列として扱われます。
小数点以下の末尾の0を表示したい場合
先頭に'
を追加した場合は、小数点以下の末尾の0も入力したまま表示されます。
関数を使う場合
Excelに用意されている関数を利用して0埋めする方法もあります。
関数で自身のセルの値を参照すると、循環参照のエラーメッセージが出ます。
方法4:TEXT関数を使用する
セルの文字の表示形式を指定するTEXT
関数を使用して、文字列として0
埋めで表示できます。
' セルの値を表示形式コードの文字として取得する
=TEXT(対象セル, "表示形式コード")
TEXT
関数で、2番目の引数を"0000"
とすることで0埋めできます。
' セルの値を4桁の数字の文字列として取得する
=TEXT(対象セル, "0000")
小数点以下の末尾の0を表示したい場合
TEXT
関数で小数点以下の末尾の0を表示したい場合は、ユーザー定義形式の時と同様に"0000.0000"
を指定します。
' セルの値を4桁の数字および小数点と小数点以下の4桁の数字の文字列として取得する
=TEXT(対象セル, "0000.0000")
方法5:REPT関数を使用する
文字列と繰り返し回数を繰り返すREPT
関数を使用して0埋めすることもできます。
REPT関数で0
を繰り返し追加する
REPT関数で、0
を指定した回数追加することで0埋めできます。
ただ、このままだと元の数値によって桁数が変わってしまいます。
' 先頭に0を4個追加する
=REPT("0", 4)&対象セル
方法5-1:REPT関数の0埋め結果から指定した文字数を右始まりで切り取る
RIGHT関数は、右端の文字から指定した文字数を切り取ります。
REPT関数で0埋めした結果から、RIGHT関数で指定した文字数だけ切り取って取得します。
' 0を先頭に4個足した文字列の右端から4文字を切り取る
=RIGHT(REPT("0", 4)&対象セル, 4)
方法5-2:REPT関数の0埋めの0
の数を文字数によって変える
LEN
関数を使うと、指定したセルの文字数を数えることができます。
0埋め前の文字数を数えて、0埋め後の桁数に足りない数だけ0
を足すことで固定桁数で0埋めできます。
' 4桁になるまで0埋めする ※LEN(対象セル)は対象セルの文字数
=REPT("0", 4-LEN(対象セル))&対象セル
方法5-3:REPT関数の0埋め前の文字数の方が大きい場合は何も足さないようにする
IF
関数を使うと、条件を指定して結果の値を変えるtことができます。
' IF関数は条件によって値を切り替える
=IF(条件式, 条件式がTRUEの時の直, 条件式がFALSEの時の直)
IF
関数を使って、0埋め前の文字数が固定桁数の文字数より大きい場合は0
、それ以外の場合は0埋め後の桁数に足りない数
をREPT
関数に渡します。
' 4桁以上の場合は0を追加せず、3桁以下の場合だけ4桁になるまで0埋めする
=REPT("0", IF(LEN(B6)>4, 0, 4-LEN(B6)))&B6
LEN
関数で取得した0埋め前の文字数が0埋めで揃えたい桁数よりも大きい場合、0埋めしないようにREPT
関数に0
を渡します。
' 4桁以上の場合は0を追加せず、3桁以下の場合だけ4桁になるまで0埋めする
=REPT("0", IF(LEN(B6)>4, 0, 4-LEN(B6)))&B6
小数点以下の末尾の0を表示したい場合
REPT
関数で小数点以下の末尾の0を表示するのは、式が無駄にややこしくなり過ぎるのでおすすめしないです。