次の方法で共有


FORMAT 関数のカスタム数値書式

ユーザー定義の数値書式には、セミコロンで区切って最大 3 つのセクションを含めることができます。 Format 関数のスタイル引数に定義済み数値書式のいずれかが含まれている場合、使用できるセクションは 1 つだけです。

使用するセクション

結果

1 つのセクションのみ

このフォーマット式は、すべての値に適用されます。

2 つのセクション

最初のセクションは正の値および 0 に適用され、2 番目のセクションは負の値に適用されます。

3 つのセクション

最初のセクションは正の値に、2 番目のセクションは負の値に、3 番目のセクションは 0 に適用されます。

書式指定

次の表は、ユーザー定義の数値書式の作成に使用できる文字を示しています。

書式指定

説明

なし

書式なしで数値を表示します。

0 (数字のゼロ)

数字のプレースホルダー。 数字または 0 が表示されます。 式の中で、書式文字列の 0 に該当する位置に数字がある場合、その数字が表示されます。そうでない場合は、その位置に 0 が表示されます。

小数点の両側について、数字の桁数がフォーマット式の 0 の数より少ない数値の場合は、値の先頭または後ろに 0 が表示されます。 小数点区切り文字の右側の桁数がフォーマット式の小数点区切り文字の右側の 0 の数より多い数値の場合は、小数点以下の桁数が 0 の数と同じになるように丸められます。 小数点区切り文字の左側の桁数が、フォーマット式の小数点区切り文字の左側の 0 の数より多い数値の場合は、小数点以上の桁数がそのまま表示されます。

#

数字のプレースホルダー。 数字が表示されるか、何も表示されません。 式の中で、書式文字列の # 記号に該当する位置に数字がある場合、その数字が表示されます。そうでない場合は、その位置に何も表示されません。

この記号の機能は 0 の数字プレースホルダーとほぼ同じです。ただし、数値の桁数がフォーマット式の小数点区切り文字の左側または右側の # 記号の数と同じか少ない場合、先頭または後ろの 0 は表示されません。

. (ピリオド)

小数点のプレースホルダー。 小数点区切り文字の左右に表示される数字の桁数を決定する、小数点のプレースホルダーです。 フォーマット式の中で、この記号の左側に # 記号だけがある場合、1 より小さい数値は小数点区切り文字から始まります。 小数部の前に 0 を表示するには、小数点区切り文字の左側に使用する最初の数字プレースホルダーとしてゼロ (0) を使用してください。 いくつかのロケールでは、小数点区切り文字としてコンマが使用されます。 書式設定された出力で実際にどの文字が小数点のプレースホルダーとして使用されるかは、使用しているシステムで認識される数値書式によって決まります。 したがって、小数点のプレースホルダーとしてコンマを使用するロケールの場合でも、書式では小数点のプレースホルダーとしてピリオドを使用してください。 書式設定された文字列は、ロケールに適した書式で表示されます。

%

パーセントのプレースホルダー。 式に 100 を乗算します。 書式文字列のパーセントに該当する位置に、パーセント記号 (%) が挿入されます。

, (コンマ)

桁区切り記号。 桁区切り記号は、小数点区切り文字の左側が 4 桁以上である数値の中で、百の位と千の位を区切ります。 書式に含まれる数字のプレースホルダー (0 または #) の間に桁区切り記号が含まれている場合、標準的な桁区切り記号の使用が指定されます。

小数が指定されているかどうかに関係なく、小数点区切り文字のすぐ左側または文字列の右端の文字として桁区切り記号を使用すると、「数値を 1000 で除算して、必要に応じて丸める」という意味になります。1,000 未満 500 以上の数値は 1 として表示され、500 未満の数値は 0 として表示されます。 この位置で 2 つの連続する桁区切り記号を使用すると、100 万分の 1 の数値になり、区切り記号を 1 つ追加するごとに値が 1,000 分の 1 になります。

小数点区切り文字のすぐ左側または文字列の右端の位置以外の位置に複数の桁区切り記号を使用すると、1 つの桁区切り記号を指定しているものとして扱われます。 ロケールによっては、桁区切り記号としてピリオドが使用されます。 書式設定された出力で実際にどの文字が桁区切り記号として使用されるかは、使用しているシステムで認識される数値書式によって決まります。 したがって、桁区切り記号としてピリオドを使用するロケールの場合でも、書式では桁区切り記号としてコンマを使用してください。 書式設定された文字列は、ロケールに適した書式で表示されます。

例として、以下に 3 つの書式設定文字列を挙げます。

"#,0." の場合は、桁区切り記号が使用され、数値の 1 億は文字列として "100,000,000" と表示されます。

"#0,." の場合は、1000 分の 1 の値が使用され、数値の 1 億は文字列として "100000" と表示されます。

"#,0,." の場合は、桁区切り記号と 1000 分の 1 の値が使用され、数値の 1 億は文字列として "100,000" と表示されます。

: (コロン)

時刻の区切り記号。 ロケールによっては、実際の時刻の区切り記号としては他の文字が使用されます。 時刻の区切り記号は、時刻値の書式設定時に、時、分、および秒を区切ります。 書式設定された出力で実際にどの文字が時刻区切り記号として使用されるかは、使用しているシステム設定によって決まります。

/ (スラッシュ)

日付の区切り記号。 ロケールによっては、実際の日付の区切り記号としては他の文字が使用されます。 日付の区切り記号は、日付値の書式設定時に、日、月、および年を区切ります。 書式設定された出力で実際にどの文字が日付の区切り記号として使用されるかは、使用しているシステム設定によって決まります。

E-E+e-e+

指数書式。 フォーマット式の中で、E-、E+、e-、e+ の左側に少なくとも 1 つの数字のプレースホルダー (0 または #) が含まれる場合、数値は指数書式で表示され、数値と指数部の間に E または e が挿入されます。 左側にある数字のプレースホルダーの数によって指数部の桁数が決まります。 負の指数の横にマイナス記号を付けるには、E- または e- を使用します。 負の指数の横にマイナス記号を付け、正の指数の横にプラス記号を付けるには、E+ または e+ を使用します。 正しく書式設定するには、この記号の右側にも数字のプレースホルダーを挿入する必要があります。

- + $ ( )

リテラル文字。 リテラル文字は、書式設定文字列に入力されたとおりに表示されます。 この一覧に含まれていない文字を表示するには、文字の前に円記号 (\) を付けるか、文字を二重引用符 ("") で囲みます。

\ (円記号)

書式文字列の次の文字を表示します。 リテラル文字として特別な意味を持つ文字を表示するには、その文字の前に円記号 (\) を付けます。 円記号自体は表示されません。 円記号の使用は、次の文字を二重引用符で囲むことと同じです。 円記号を表示するには、円記号を 2 つ続けて (\\) 使用します。

リテラル文字として表示できない文字の例としては、日付の書式設定文字と時刻の書式設定文字 (a、c、d、h、m、n、p、q、s、t、w、y、/、:)、数値の書式設定文字 (#、0、%、E、e、コンマ、ピリオド)、文字列の書式設定文字 (@、&、<、>、!) があります。

"ABC"

二重引用符 ("") 内の文字列を表示します。 コード内からスタイル引数に文字列を含めるには、Chr(34) を使用してテキストを囲みます (34 は引用符 (") の文字コードです)。

次の表に、数値のフォーマット式のサンプルをいくつか示します (これらの例はすべて、使用しているシステムのロケール設定が英語 (米国) であることを前提としています)。最初の列は、Format 関数の書式設定文字列を示し、残りの列は、書式設定されるデータの値として列見出しの値が指定されている場合に生成される出力を示しています。

Format (スタイル)

"5" を書式設定

"-5" を書式設定

"0.5" を書式設定

"0" を書式設定

長さゼロの文字列 ("")

5

-5

0.5

0

0

5

-5

1

0

0.00

5.00

-5.00

0.50

0.00

#,##0

5

-5

1

0

$#,##0;($#,##0)

$5

($5)

$1

$0

$#,##0.00;($#,##0.00)

$5.00

($5.00)

$0.50

$0.00

0%

500%

-500%

50%

0%

0.00%

500.00%

-500.00%

50.00%

0.00%

0.00E+00

5.00E+00

-5.00E+00

5.00E-01

0.00E+00

0.00E-00

5.00E00

-5.00E00

5.00E-01

0.00E00

"$#,##0;;\Z\e\r\o"

$5

$-5

$1

Zero

説明

連続したセミコロンを含めた場合、欠落したセクションは正の値の書式を使用して出力されます。

関連項目

参照

FORMAT 関数

FORMAT 関数の定義済み数値書式

FORMAT 関数のカスタム日付/時刻書式