構文
構文は以下の通りです。
解説
Format関数は、指定した値を指定した書式に変換するために使用されます。数値や日付、文字列などさまざまなデータ型を指定した書式に変換することができます。
引数 | 指定 | 内容 |
値 | 必須 | 書式に変換したい値や式を指定します。 |
書式記号 | 省略可 | 変換する書式を指定します。省略すると値はデフォルトの書式で変換されます。設定値を以下で紹介します。 |
書式記号には以下の設定値が指定できます。
【数値の書式記号】
書式記号 | 内容 | 数値例 | 変換後 |
##.## | 桁があれば表示します。 無い時は表示しません。 |
123.456 | 123.46 |
0000.00 | 桁があれば表示します。 無い時は0を表示します。 |
123.456 | 0123.46 |
#,##0 | 3桁ごとの区切りで表示します。 | 123456789 | 123,456,789 |
0.0 | 小数点で表示します。 | 12.34 | 12.3 |
0.0% | 数値を100倍して%記号で表示します。 | 0.12345 | 12.3% |
【日付の書式記号】
書式記号 | 内容 | 日付例 | 変換後 |
yyyy | 年を表示します。 | 2020/05/02 | 2020 |
yy | 20 | ||
mm | 月を表示します。 | 05 | |
m | 5 | ||
dd | 日を表示します。 | 02 | |
d | 2 | ||
aaa | 曜日を漢字1文字で表示 | 土 | |
aaaa | 曜日を漢字3文字で表示 | 土曜日 | |
hh | 時を表示します。 | 09:07:03 | 09 |
h | 9 | ||
nn | 分を表示します。 | 07 | |
n | 7 | ||
ss | 秒を表示します。 | 03 | |
s | 3 | ||
yyyy/mm/dd | 年月日を表示します。 | 2020/05/29 | 2020/05/29 |
yy/mm/dd | 20/05/29 | ||
yyyymmdd | 20200529 | ||
yymmdd | 200529 |
【文字列の書式記号】
書式記号 | 内容 |
@ | 1つの文字またはスペースを表します。変換対象文字列の中で@(アットマーク)に対応する位置に文字が存在する場合は、その文字が表示されます。文字がなければスペースが表示されます。 |
& | 1つの文字を表します。変換対象文字列の中で&(アンパサンド)に対応する位置に文字が存在する場合は、その文字が表示されます。文字がなければ何も表示せず、詰められて表示されます。 |
使用例
Format(123.456, "##.##")
Format(123.456, "0000.00")
Format(123456789, "#,##0")
Format(12.34, "0.0")
Format(0.12345, "0.0%")
Format(Now, "yyyy")
Format(Now, "yy")
Format(Now, "mm")
Format(Now, "m")
Format(Now, "dd")
Format(Now, "d")
Format(Now, "yyyy/mm/dd")
Format(Now, "yy/mm/dd")
Format(Now, "yyyymmdd")
Format(Now, "yymmdd")
使い方
具体的な使い方を紹介します。
1.数値の整形
数値を通貨形式やパーセンテージ形式に整形することができます。
パーセンテージ形式:Format(0.25, "0%") -> 25%
2.日付の整形
曜日(日本語表記)を含む日付形式:Format(Date, "yyyy/mm/dd(aaa)") -> 2023/06/19(月)
3.文字列の整形
文字列を特定の形式に整形することもできます。
文字列の右詰め:Format("World", "@@@@@-") -> World-
プログラミング例
以下に、プログラミング例を紹介します。
Dim amount As Double
amount = 12345.67
' 通貨形式に整形して表示
MsgBox Format(amount, "¥#,##0")
Dim percentage As Double
percentage = 0.25
' パーセンテージ形式に整形して表示
MsgBox Format(percentage, "0%")
Dim currentDate As Date
currentDate = Date
' 日付形式(yyyy/mm/dd)に整形して表示
MsgBox Format(currentDate, "yyyy/mm/dd")
Dim greeting As String
greeting = "Hello"
' 文字列の左詰めに整形して表示
MsgBox Format(greeting, "-@@@@@")
Dim message As String
message = "World"
' 文字列の右詰めに整形して表示
MsgBox Format(message, "@@@@@-")
End Sub
上記のコードは、数値や日付、文字列をそれぞれ指定した形式に整形して表示する例です。各変数に適切な値を代入し、Format関数を使用してデータを整形します。その後、MsgBox関数を使用して整形結果をダイアログボックスに表示します。
まとめ
Format関数は、数値や日付、文字列などのデータを特定の形式に整形する際に役立ちます。数値の通貨形式やパーセンテージ形式への変換、日付の特定のフォーマットへの整形、文字列の左詰めや右詰めなど、さまざまな整形操作が可能です。是非活用してください。