VBAの勉強を始めてみた

色々試しています。

暗号のような書式記号を使いこなす(数値用/文字用)

Excelの書式設定から、表示形式-ユーザー定義の順に辿ると
_ * #,##0.00_ ;_ * -#,##0.00_ ;_ * "-"??_ ;_ @_
このような、暗号のようなものを見かけることがあると思います。普段、何となくExcelを使っている人にとっては、
は?(@_@;)
っていう感じだと思いますが、これは書式を設定するための書式記号が連なっているだけに過ぎません。
今回は、そんな書式記号の中から、数値用/文字用に使用するものをピックアップしてみようと思います。

目次

 

数値を表示する書式記号

#
数値の1桁を表す。整数部は指定した桁数よりも実際の桁数が少ない場合または実際の桁数が多い場合でも、そのまま数値が表示されます。
小数部は指定した桁数よりも実際の桁数が多い場合は、四捨五入されます。

f:id:kouten0430:20180208080120j:plain

 

0
数値の1桁を表す。#と違う点は、指定した桁数よりも実際の桁数が少ない場合、0埋めされます。

f:id:kouten0430:20180208080218j:plain

 

?
数値の1桁を表す。前項の、0が半角スペースに変わったと思えば分かりやすいと思います。小数点位置を揃えるために使用します。

f:id:kouten0430:20180208080240j:plain

 

,
3桁ごとの桁区切りを表す

f:id:kouten0430:20180208080327j:plain

 

.
小数点を表す

 

 

文字を表示する書式記号

!
!の後に指定した文字列を表示します(半角のみ)。後述する""でも代用できます。

f:id:kouten0430:20180208080347j:plain

 

*
*の後に指定した文字列をセルが満たされるまで表示します(半角のみ)。

f:id:kouten0430:20180208080410j:plain

 

"
""で囲まれた文字を表示します(半角/全角)。

f:id:kouten0430:20180208080427j:plain

 

@
セルに入力された文字を任意の位置に表示します(半角/全角)。

f:id:kouten0430:20180208080444j:plain

 

_
_の後に指定した文字幅分のスペースを空けます(半角/全角)。指定した文字が透明な状態で入っていると思えば分かりやすいと思います。

f:id:kouten0430:20180208080511j:plain

 

 

;(セミコロン)の使い方

書式を;(セミコロン)で区切ることで、一つのセルに4つまで書式を設定することができ、その中からデータに対応した書式が適用されます。

4つ指定した場合

  • 正の数の書式;負の数の書式;数値が0の時の書式;文字列の時の書式

3つ指定した場合

  • 正の数の書式;負の数の書式;数値が0の時の書式

2つ指定した場合

  • 正の数の書式(ゼロの場合含む);負の数の書式
  • 数値全般の書式;文字列の書式
  • 日時の書式;文字列の書式

1つ指定した場合

  • 指定した書式のみ



書式を解読


ここまでを踏まえた上で、冒頭の

_ * #,##0.00_ ;_ * -#,##0.00_ ;_ * "-"??_ ;_ @_

を分解してみたいと思います。

f:id:kouten0430:20180208081125j:plain

この書式での表示結果は以下のようになります。

f:id:kouten0430:20180208081222j:plain

この書式の正体は、表示形式「会計」の小数点以下2桁・記号なしのものでした。デフォルトで用意されている書式を参考にしつつ、自分の用途に合ったオリジナル書式を作って、同僚にドヤ顔をするのも一興かなと思います←(ぇ)