Format関数で使う数値の書式指定文字

[Access 2016/2013/2010/2007]

Format関数の第2引数[書式]で「書式指定文字」を使用すると、データを独自の形式で表示できます。ここでは、数値データの表示方法を指定するための書式指定文字とその使い方を紹介します。

Format(データ, 書式, 週の開始曜日, 年の第1週)

スポンサーリンク

数値の書式指定文字

次表は、数値表示の指定に使用できる書式指定文字です。

文字 説明
0 桁のプレースホルダー。桁の位置に数字があれば数字を表示し、なければ「0」を表示する。
# 桁のプレースホルダー。桁の位置に数字があれば数字を表示し、なければ何も表示しない。
. 小数点。
% 数値を 100 倍して、パーセント記号 (%) を表示する。
, 桁区切り記号。小数部の有無にかかわらず、小数点のすぐ左に桁区切り記号がある場合、桁区切り記号1つにつき数値を 1000 で割って丸める。
E- E+ e- e+ 指数形式。いずれも負の指数にはマイナス記号が入るが、正の指数の場合、「E-」「 e-」では記号が入らないのに対して、「E+ 」「 e+」ではプラス記号が入る。
¥ 円記号「¥」の次の文字をそのまま表示。「¥」自体を表示するには、円記号 2 つ 「¥¥」を 使用する。
" " ダブルクォーテーション 「" "」 で囲まれた文字列をそのまま表示する。

書式指定文字の使用例

「0」と「#」

書式指定文字「0」(ゼロ)では、桁の位置に数字がない場合に「0」を表示します。書式指定文字「#」(シャープ)では、桁の位置に数字がない場合に何も表示しません。引数[データ]の小数部の桁が「0」や「#」の数より多い場合、小数部が四捨五入されます。

データ 書式 戻り値
12 0000 0012
#### 12
123456 0000 123456
#### 123456
12.3 0.00 12.30
0.## 12.3
12.3456 0.00 12.35
0.## 12.35
0 0 0
# (何も表示されない)

桁区切り記号「,」

書式指定文字「,」(カンマ)を使うと、1000以上の数値を3桁ずつ区切れます。小数部の有無にかかわらず、小数点のすぐ左に桁区切り記号がある場合、桁区切り記号1つにつき数値を 1000 で割り、その商を四捨五入します。

データ 書式 戻り値
123 #,##0 123
#,##0, 0
#,##0,, 0
12345 #,##0 12,345
#,##0, 12
#,##0,, 0
123456789 #,##0 123,456,789
#,##0, 123,457
#,##0,, 123

パーセント表示と指数表示

数値をパーセント表示にするときは、書式指定文字「%」を使います。また、指数表示にするときは「E-」「e-」「E+」「e+」を使います。「E-」「e-」と「E+」「e+」は、正の指数に「+」を付けないか付けるかで使い分けます。

データ 書式 戻り値
0.7777 0% 78%
0.0% 77.8%
12345678 0.0E- 1.2E7
0.0e- 1.2e7
0.0E+ 1.2E+7
0.0e+ 1.2e+7
0.007777 0.00E- 7.78E-3
0.00e- 7.78e-3
0.00E+ 7.78E-3
0.00e+ 7.78e-3

リテラル文字(そのまま表示する文字)

「¥」(円記号)の直後の文字、および「"」(ダブルクォーテーション)で囲まれた文字列は、戻り値に直接表示されます。例えば、「¥¥」と指定した場合、「¥」と表示されます。

なお、Format関数の引数[書式]は全体を「"」で囲んで指定しますが、「"  "」内で「"」を指定するには二重の「""」を使用する必要があるため、実際には「""リテラル文字列""」のように二重の「""  ""」で囲んでください。

データ 書式 戻り値
12345 ¥¥#,##0 ¥12,345
0¥円 12345円
#,##0,""千円"" 12千円
""請求額は""0""円です。"" 請求額は12345円です。

メモ

ダブルクォーテーションの数に注意
リテラル文字列の指定に二重の「"」を使い、さらに全体を「"」で囲むので、「"」の数が多くなります。数を間違えないように注意してください。
Format([数値],"""請求額は""0""円です。""")

メモ

「¥」や「"」がいらない場合もある
表示したい文字によって、「¥」や「"」が必要な場合と、なくてもよい場合があります。例えば、「+」「-」「(」「)」などは「¥」を付けたり「"」で囲んだりしなくても、そのまま表示されます。必要性がわからない場合は、付けておくのが無難でしょう。
とはいえ入力が面倒ですし、アクションクエリのような元のデータを書き換える処理でない限り、付けないでトライしてみて、思い通りの表示にならなかったら修正するというのも一つの方法です。ちなみに選択クエリの[フィールド]欄にFormat関数を入力した場合、自動で「¥」や「"」が補われることもあります。

書式のセクション

数値の書式を指定する際、「;」(セミコロン)で区切ってセクションを4つまで指定できます。各セクションの意味は、次表のとおりです。例えば、セクションを2つ指定した場合、1つ目のセクションの書式は正の値と0に適用され、2つ目のセクションの書式は負の値に適用されます。

セクション数 説明
1 すべての値
2 正の値と0 ; 負の値
3 正の値 ; 負の値 ; 0
4 正の値 ; 負の値 ; 0 ; Null値

セクションの指定例

次表は、セクションの指定例です。間に何も入れずに複数のセミコロンを入力した場合、欠けているセクションは、正の値の書式が使用されます。

書式 データ 戻り値
0

(1セクション指定)

123 123
-123 -123
0 0
Null値 (何も表示されない)
0;(0)

(2セクション指定)

123 123
-123 (123)
0 0
Null値 (何も表示されない)
▲0;▼0;0

(3セクション指定)

123 ▲123
-123 ▼123
0 0
Null値 (何も表示されない)
+0;-0;±0;""未定""

(4セクション指定)

123 +123
-123 -123
0 ±0
Null値 未定
"00000;;;""未定"""

(第2,3セクション省略)

123 00123
-123 -00123
0 00000
Null値 未定

メモ

Format関数の使いどころ
Format関数の戻り値は文字列なので、Format関数で数値や日付の表示を変えてしまうと、数値や日付として利用しにくくなります。フィールドのデータの見た目を変えたいだけなら、テーブルやクエリの[書式]プロパティを使用するほうがよいでしょう。
日付データの「2017/09/28」と数値データの「123」を組み合わせて「0928-00123」のようなコード番号を作る、日付を「○年○月」表示に変換して年月ごとにグループ集計する、というような少し込み入った処理では、Format関数が威力を発揮します。
スポンサーリンク

関連記事