Format関数
Format関数は、式を指定した書式に変換し、その文字列を示す値を返します、
バリアント型 (内部処理形式 String の Variant) で返します。
Format関数
任意の式を指定します。
引数 expression に指定したデータは、引数 format の書式に従って変換されます。
定義済み書式または表示書式指定文字を指定します。
週の1日目を指定する定数を指定します。
定数 | 値 | 内容 |
vbUseSystem | 0 | NLS API の設定値を使用します。 |
vbSunday | 1 | (既定値) 日曜 |
vbMonday | 2 | 月曜 |
vbTuesday | 3 | 火曜 |
vbWednesday | 4 | 水曜 |
vbThursday | 5 | 木曜 |
vbFriday | 6 | 金曜 |
vbSaturday | 7 | 土曜 |
年の第 1 週を指定する定数を指定します。
定数 | 値 | 内容 |
vbUseSystem | 0 | NLS API の設定値を使用します。 |
vbFirstJan1 | 1 | (既定値) 1 月 1 日を含む週から始まります。 |
vbFirstFourDays | 2 | 年の 4 日以上が含まれる最初の週から始まります。 |
vbFirstFullWeek | 3 | 年のうち、7 日が含まれる最初の週から始まります。 |
表示書式指定文字
日付/時刻表示書式指定文字 | |
文字 | 内容 |
(:) | 時刻の区切り記号です。 オペレーティング システムの国別情報の設定によっては、時刻の区切り記号として他の記号が使用されることがあります。 時刻を時間、分、および秒で区切ることができます。変換後の時刻の区切り記号は、コントロール パネルの設定によって決まります。 |
(/) | 日付の区切り記号です。 オペレーティング システムの国別情報の設定によっては、他の記号が使用されることがあります。 日付を年、月、および日で区切ることができます。 変換後の区切り記号は、コントロール パネルの設定によって決まります。 |
c | ddddd および t t t t t の書式で表した日付と時刻を、日付、時刻の順序で返します。 指定された値に小数部がない場合は日付のみ、整数部がない場合は時刻のみを表す文字列を返します。 |
d | 日付を返します。 1桁の場合、先頭に 0 が付きません (1 ~ 31)。 |
dd | 日付を返します。 1桁の場合、先頭に 0 が付きます (01 ~ 31)。 |
ddd | 曜日を英語 (省略形) で返します (Sun ~ Sat)。 |
aaa | 曜日を日本語 (省略形) で返します (日~土)。 |
dddd | 曜日を英語で返します (Sunday ~ Saturday)。 |
aaaa | 曜日を日本語で返します (日曜日~土曜日)。 |
ddddd | 年、月、日を含む短い形式 (コントロール パネルで設定) で表した日付を返します。 既定の短い日付形式は、m/d/yy です。 |
dddddd | 年、月、日を含む長い形式 (コントロール パネルで設定) で表した日付を返します。 既定の長い日付形式は mmmm dd, yyyy です。 |
w | 曜日を表す数値を返します (日曜日が 1、土曜日が 7 となります)。 |
ww | その日が一年のうちで何週目に当たるかを表す数値を返します (1 ~ 54)。 |
m | 月を表す数値を返します。 1桁の場合、先頭に 0 が付きません (1 ~ 12)。 ただし、h や hh の直後に m を指定した場合、月ではなく分と解釈されます。 |
mm | 月を表す数値を返します。 1桁の場合、先頭に 0 が付きます (01 ~ 12)。 ただし、h や hh の直後に mm を指定した場合、月ではなく分と解釈されます。 |
mmm | 月の名前を英語 (省略形) の文字列に変換して返します (Jan ~ Dec)。 |
mmmm | 月の名前を英語で返します (January ~ December)。 |
oooo | 月の名前を日本語で返します (1 月 ~ 12 月)。 |
q | 1 年のうちで何番目の四半期に当たるかを表す数値を返します (1 ~ 4)。 |
g | 年号の頭文字を返します (M、T、S、H)。 |
gg | 年号の先頭の 1 文字を漢字で返します (明、大、昭、平)。 |
ggg | 年号を返します (明治、大正、昭和、平成)。 |
e | 年号に基づく和暦の年を返します。1 桁の場合、先頭に 0 が付きません。 |
ee | 年号に基づく和暦の年を 2 桁の数値を使って返します。1 桁の場合、先頭に 0 が付きます。 |
y | 1 年のうちで何日目に当たるかを数値で返します (1 ~ 366)。 |
yy | 西暦の年を下 2 桁の数値で返します (00 ~ 99)。 |
yyyy | 西暦の年を 4 桁の数値で返します (100 ~ 9999)。 |
h | 時間を返します。1 桁の場合、先頭に 0 が付きません (0 ~ 23)。 |
hh | 時間を返します。1 桁の場合、先頭に 0 が付きます (00 ~ 23)。 |
n | 分を返します。1 桁の場合、先頭に 0 が付きません (0 ~ 59)。 |
nn | 分を返します。1 桁の場合、先頭に 0 が付きます (00 ~ 59)。 |
s | 秒を返します。1 桁の場合、先頭に 0 が付きません (0 ~ 59)。 |
ss | 秒を返します。1 桁の場合、先頭に 0 が付きます (00 ~ 59)。 |
t t t t t | コントロール パネルで設定されている形式で時刻を返します。 先頭に 0 を付けるオプションが選択されていて、時刻が午前または午後 10 時以前の場合、先頭に 0 が付きます。既定の形式は、h:mm:ss です。 |
AM/PM | 時刻が正午以前の場合は大文字で AM を返し、正午~午後 11 時 59 分の間は大文字で PM を返します。 |
am/pm | 時刻が正午以前の場合は小文字で am を返し、正午~午後 11 時 59 分の間は小文字で pm を返します。 |
A/P | 時刻が正午以前の場合は大文字で A を返し、正午~午後 11 時 59 分の間は大文字で P を返します。 |
a/p | 時刻が正午以前の場合は小文字で a を返し、正午~午後 11 時 59 分の間は小文字で p を返します。 |
AMPM | 12 時間制 が選択されていて、時刻が正午以前の場合は午前を表すリテラル文字列を、正午~午後 11 時 59 分の間は午後を表すリテラル文字列を返します。 これらの文字列の設定および "12 時間制" の選択は、コントロール パネルで行います。 AMPM は大文字、小文字のどちらでも指定できます。既定の形式は、AM/PM です。 |
数値表示書式指定文字 | |
文字 | 内容 |
なし | 指定した数値をそのまま返します。 |
0 | 桁位置や桁数を指定するときに使います。 引数 format に指定した書式文字列内の表示書式指定文字 "0" 1つで、数値の 1 桁を表します。 変換対象の数値 (式) が、"0" で指定された桁位置を使っている場合は、その桁に該当する値が入ります。 変換対象の数値の桁数が少なく、指定された桁位置に該当する値がない場合は、その桁には 0 が入ります。 引数 expression に指定した数値の整数部または小数部の桁数が、指定書式内の "0" の桁位置に満たない場合は、その桁位置には 0 が付加されます。 また、数値の小数部の桁数が小数部に指定した "0" の桁位置を超える場合には、数値の小数部は指定の桁位置に合わせて四捨五入されます。 逆に、整数部の桁数が整数部に指定した "0" の桁位置を超える場合には、整数部は変更されることなく、すべて表示されます。 |
(#) | 桁位置や桁数を指定するときに使います。 引数 format に指定した書式文字列内の表示書式指定文字 "#" 1 つで、数値の 1 桁を表します。 変換対象の数値 (expression) が "#" で指定された桁位置を使っている場合は、その桁に該当する値が入ります。 変換対象の数値の桁数が少なく、指定された桁位置に該当する値がない場合は、その桁には何も入りません。 この記号は表示書式指定文字の "0" と同じような働きをしますが、数値の小数部や整数部の桁数が "#" で指定された桁位置に満たない場合に 0 は挿入されず、その桁には何も入りません。 |
(.) | 表示書式指定文字 ("0" または "#") と組み合わせて、小数点の位置を指定するときに使います。 表示する桁数を指定するとき、この表示書式指定文字の位置によって、整数部と小数部が区別されます。指定書式内で "." の左側に "#" だけが指定されている場合は、1 未満の数値は小数点記号から始まります。 数値が 1 未満の場合に小数点記号の左側に常に 0 が付くようにするには、指定書式内で " " の左側に "#" ではなく "0" を指定します。 変換後の小数点記号は、オペレーティング システムの国別情報の設定によって決まります。 |
(%) | 数値を 100 倍し、パーセント記号 (%) を付けるときに指定します。 |
(,) | 1000 単位の区切り記号を挿入するときに指定します。 整数部が 4 桁以上ある数値については、1000 単位の区切り記号が付きます。 変換後の 1000 単位の区切り記号は、オペレーティング システムの国別情報の設定によって決まります。 通常、この表示書式指定文字 "," の前後に "0" または "#" を指定して使います。 この表示書式指定文字 "," の右側に "0" も "#" も指定しない場合、つまり、整数部の右端にこの表示書式指定文字 "," を 1 つ、または 2 つ以上続けて指定した場合 (小数部の表示指定の有無は任意)、変換対象の数値は 1000 単位で割った値に変換されます。 このとき、値は桁位置の指定に応じて丸められます。 たとえば、書式指定文字列として "##0,," と指定すると、数値 100000000 (1 億) は、100 に変換されます。 100 万未満の数値は 0 となります。 整数部の右端以外でこの表示書式指定文字 "," を 2 つ以上続けて指定した場合は、"," を 1 つ指定したときと同じになります。 |
(:) | 時刻の区切り記号を挿入するときに指定します。 時刻を時間、分、秒で区切ることができます。変換後の時刻の区切り記号は、オペレーティング システムの国別情報の設定によって決まります。 |
(/) | 日付の区切り記号を挿入するときに指定します。 日付を年、月、日で区切ることができます。変換後の区切り記号は、オペレーティング システムの国別情報の設定によって決まります。 |
(E- E+ e- e+) | 指数表記で表すときに指定します。 "E-"、"E+"、"e-"、"e+" のいずれかの右側に "0" または "#" を 1 つ以上指定すると、数値は指数表記で表され、整数部と指数部の間に e または E が挿入されます。 これらの表示書式指定文字の右側に指定する "0" または "#" の数は、指数部の桁数を示します。 "E-" や "e-" を使うと、指数が負の場合にはマイナス記号が付きます。 "E+" や "e+" の場合は、指数の正負に合わせてプラス記号かマイナス記号が付きます。 |
- + $ ( ) スペース | 指定する文字をそのまま挿入します。 これら以外の表示書式指定文字を挿入するには、その前に円記号 (\) を付けるか、ダブル クォーテーション (" ") で囲みます。 |
(\) | すぐ後に続く 1 文字をそのまま表示します。書式指定の中で、特別な意味を持っている "#" または "E" などの文字を文字としてそのまま表示するには、その文字の前に円記号 (\) を付けます。 この場合、前に付けた円記号 (\) は表示されません。文字をダブル クォーテーション (" ") で囲んでも、同じです。円記号 (\) を挿入するには、円記号 (\) を 2 つ続けて記述します (\\)。 そのままでは挿入できない文字としては、日付や時刻の表示書式指定文字 (a、c、d、h、m、n、p、q、s、t、w、y、/、:)、数値の表示書式指定文字 (#、0、%、E、e、カンマ、ピリオド)、文字列の表示書式指定文字 (@、&、<、>、!) などがあります。 |
("ABC") | ダブル クォーテーション (" ") で囲まれた文字列は、そのまま挿入されます。 書式指定の引数 format に文字列を含めるには、Chr(34) を使って文字列を囲みます。 文字コードではダブル クォーテーション (" ") は 34 になります。 |
文字列表示書式指定文字 | |
文字 | 内容 |
@ | 1 つの文字またはスペースを表します。 変換対象 expression の中で @ (アット マーク) に対応する位置に文字が存在する場合は、その文字が表示されます。文字がなければスペースが表示されます。 @ は、引数 format に指定した書式の中に表示書式指定文字の ! (感嘆符) がない限り、右から左の順に埋められます。 |
& | 1 つの文字を表します。 変換対象 expression の中で & (アンパサンド) に対応する位置に文字が存在する場合は、その文字が表示されます。 文字がなければ何も表示せず、詰められて表示されます。 & は、引数 format に指定した書式の中に表示書式指定文字の ! (感嘆符) がない限り、右から左の順に埋められます。 |
< | 小文字にします。 すべての文字は小文字に変換されます。 |
> | 大文字にします。 すべての文字は大文字に変換されます。 |
! | 文字を右から左ではなく、左から右の順に埋めていくように指定します。 この文字を指定しない場合は、右から左の順に埋められます。 |
Format$関数
Format関数とは戻り値のデータ型の違いです。
使用例
変数aの内容 | Format関数 | 結果 |
12 | Format(a,"000") | 012 |
12345 | Format(a,"#,###") | 12,345 |
0.123 | Format(a,"0.0%") | 12.3% |
2013/5/8 | Format(a,"yyyy年mm月dd日") | 2013年05月08日 |
2013/5/8 | Format(a,"aaa") | 水 |
10:20:30 | Format(a,"hh時mm分ss秒") | 10時20分30秒 |
abc | Format(a,">") | ABC |
同じテーマ「VBA関数」の記事
Asc関数,AscB関数,AscW関数
Chr関数,ChrB関数,ChrW関数
Format関数
FormatCurrency関数,FormatDateTime関数,FormatNumber関数,FormatPercent関数
InStr関数
InStrRev関数
LCase関数
UCase関数
Replace関数
Left関数,LeftB関数
Right関数,RightB関数
新着記事NEW ・・・新着記事一覧を見る
TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)
エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.RangeとCellsの使い方|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.セルのクリア(Clear,ClearContents)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.条件分岐(Select Case)|VBA入門
10.マクロとは?VBAとは?VBAでできること|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。