Format【フォーマット】関数
データの書式を変更するには、Format【フォーマット】関数を使用します。
引数Expression【エクスプレッション】に指定された、数値・文字列・日付や時刻を表す文字列を引数Format【フォーマット】に指定された表示形式に変換して、バリアント型(内部処理形式StringのVariant)の値で返します。
Format 【フォーマット】関数の書式と引数の説明
[]内は省略可
Format(Expression[,Format][,firstdayofweek][,firstweekofyear])
【戻り値】バリアント型(内部処理形式StringのVariant)
- Expression【エクスプレッション】(必須)
表示書式を変換したい数値や文字列、日付や時刻を表す文字列、関数を指定します。 - Format【フォーマット】(省略可)
変換後の表示書式を「定義済み書式」または、「ユーザー定義書式」を使用して指定します。省略した場合は、引数Expression【エクスプレッション】に指定した文字列をそのまま返しますが、数値は文字列に変換されます。 - FirstDayOfWeek【ファーストデイオフウィーク】(省略可)
週の始まりの曜日を表す定数を指定します。省略の場合は、日曜日。引数 FirstDayOfWeek に指定可能な定数一覧表 定数 値 内容 vbUseSystem 0 各国語対応APIの設定値を使用 vbSunday 1 日曜日(既定値) vbMonday 2 月曜日 vbTuesday 3 火曜日 vbWednesday 4 水曜日 vbThursday 5 木曜日 vbFriday 6 金曜日 vbSaturday 7 土曜日 - FirstWeekOfYear【ファーストウィークオフイヤー】(省略可)
年度の第 1 週を表す定数を指定します。省略の場合は、1 月 1 日を含む週が第 1 週。引数 FirstWeekOfYear に指定可能な定数一覧表 定数 値 内容 vbUseSystem 0 各国語対応APIの設定値を使用 vbFirstJan1 1 1 月 1 日を含む週を第1週とします。(既定値) vbFirstFourDays 2 週の 4 日以上が含まれる最初の週を第1週とします。 vbFirstFullWeek 3 週の7 日が含まれる最初の週を第一週とします。
引数Format【フォーマット】に指定する変更後の表示書式一覧と使用例
書式 | 内容 | 使用例 |
---|---|---|
General Number 【ゼネラルナンバー】 | 桁区切り記号を付けずに数を表示 | Format(10000,”General Number”) →10000 |
Currency 【カレンシー】 | 桁区切り記号を付けて数を表示 小数点記号の右 2 桁を表示 | Format(10000,”Currency”) →¥10,000 |
Fixed 【フィックスド】 | 最低整数部 1 桁、小数部 2 桁を表示 桁区切り記号は付きません。 | Format(1235.678,”Fixed”) →1235.67 |
Standard 【スタンダード】 | 最低整数部 1 桁、小数部 2 桁を表示 桁区切り記号が付きます。 | Format(1235.678,”Standard”) →1,235.67 |
Percent 【パーセント】 | 数値を 100 倍して パーセント記号 (%)を付けて表示 小数部は常に 2 桁です。 | Format(0.123456,”Percent”) →12.35% |
Scientific 【サイエンティフック】 | 標準の指数表記を使用します。 | Format(0.000123,”Scientific”) →12.3E-04 |
Yes/No 【イエス/ノー】 | 数値が 0 の場合はNo それ以外の場合はYes を表示 | Format(1,”Yes/No”)→Yes Format(0,”Yes/No”)→No |
True/False 【トゥルー/フォルス】 | 数値が 0 の場合は False それ以外の場合は True を表示 | Format(1,”True/False”)→True Format(0,”True/False”)→False |
On/Off 【オン/オフ】 | 数値が 0 の場合は Off それ以外の場合は On を表示 | Format(1,”On/Off”)→On Format(0,”On/Off”)→Off |
文字 | 内容 | 使用例 |
---|---|---|
0 | 「0」1つで、数値の1桁を表します。 指定された桁位置に値がない場合 その桁には0が入いります。 数値が0の場合は、0を表示します。 桁が指定した「0」の数より 多い場合はすべて表示されます。 | Format(123,”0000″)→0123 Format(123,”00″)→123 Format(0,”0″)→0 |
# | 「#」1つで、数値の1桁を表します。 指定された桁位置に値がない場合 その桁にはなにも入りません。 数値が0の場合は、なにも表示されませんが 1桁目に「0」を指定することで 数値が0の場合に0を表示させることができます。 桁が指定した「#」より多い場合は すべて表示されます。 | Format(123,”####”)→123 Format(123,”##”)→123 Format(0,”###”)→ Format(0,”##0″)→0 |
. | 「0」や「#」と組み合わせて、 小数点の位置を指定します。 小数部の桁数が指定した桁位置を 超える場合は指定の桁位置に合わせて 四捨五入されます。 「.」の左側に「#」だけが指定されている場合は 1未満の数値は小数点記号から始まります。 0が付くようにするには、「0」を指定します。 | Format(0.123,”0.0000″) →0.1230 Format(0.456,”0.00″)→0.46 Format(0.456,”#.##”)→46 |
% | 数値を100倍にして「%」が付きます。 | Format(0.4567,”0.#%”)→45.7% |
, | 1000単位の区切り記号を挿入するときに 指定します。整数部の右端に「,」だけを 続けて指定した場合は一つの「,」につき 1000単位で割った値に変換されます。 このとき値は 桁位置の指定に応じて丸められます。 | Format(1000000,”#,##0″) →1,000,000 Format(123456789,”##0,,”) →123 |
– + $ ( ) スペース | これからの文字はそのまま表示される。 これらの文字以外の文字を表示するには その前に「¥」を付けます。 | Format(123,”(-$0)”)→(‐$123) |
¥ | すぐあとに続く1文字をそのまま表示する。 「¥」を表示するには「¥¥」と続けて記述。 | Format(1234,”#,##0¥k¥g”) →1,234kg Format(1234,”¥¥#,##0″) →¥1,234 |
E- E+ e- e+ | 指数表記で表示するときに指定します。 「E-」「E+」「e-」「e+」の右側に 「0」や「#」で指数部の桁数を指定します。 「E-」や「e-」を使うと指数が負の場合に マイナス記号が付きます。 「E+」や「e-」の場合は指数の正負に合わせて プラスやマイナス記号が付きます。 | Format(123456,”0.00E+00″) →1.23E+05 Format(0.0004567,”0.00e+##”) →4.57e-4 |
書式 | 内容 | 使用例 |
---|---|---|
General Date 【ゼネラルデイト】 | 「地域」ダイヤログボックスの 「形式」タイプに設定されている 形式で日付/時刻を返します。 整数と小数の両方を含むシリアル値を 指定した場合は日付と時刻の両方を 表す文字列に変換します。 整数のみの場合は日付 小数のみの場合は時刻を 表す文字列に変換します。 | Format(24856.5,”General Date”) →2017/05/01 12:00 Format(24856,”General Date”) →2017/05/01 Format(0.5,”General Date”) → 12:00 |
Long Date 【ロングデイト】 | 「地域」ダイヤログボックスの「形式」 タイプの「時刻(長い形式)」に 指定された表示形式で日付を返します。 | Format(24856,”Long Date”) →2017年5月1日 |
Medium Date 【ミディアムデイト】 | 簡略形式で表した日付を返します。 | Format(24856,”Medium Date”) →17-05-01 |
Short Date 【ショートデイト】 | 「地域」ダイヤログボックスの「形式」 タイプの「時刻(短い形式)」に 指定された表示形式で日付を返します。 | Format(24856,”Short Date”) →2017/05/01 |
Long Time 【ロングタイム】 | 「地域」ダイヤログボックスの「形式」 タイプの「時刻(長い形式)」に 指定された表示形式で時刻を返します。 | Format(0.5,”Long Time”) →12:00:00 |
Medium Time 【ミディアムタイム】 | 時間と分を12時間制で表した 時刻を返します。 同時に「形式のカスタマイズ」 ダイヤログボックスの 「時刻」タブで設定されている形式で 「午前 午後」を表示します。 | Format(0.5,”MediumTime”) →12:00午後 |
Short Time 【ショートタイム】 | 「地域」ダイヤログボックスの「形式」 タイプの「時刻(短い形式)」に 指定された表示形式で時刻を返します。 | Format(0.5,”Short Time”) →12:00 |
文字 | 内容 | 使用例 |
---|---|---|
: | 時刻の区切り記号「:(コロン)」を 挿入するときに指定します。 | Format(120000,”##:##:##) →12:00:00 |
/ | 日付の区切り記号「/(スラッシュ)」を 挿入するときに指定します。 | Format(201705,”####/##) →2017/05 |
c | 「地域」ダイアログボックスの 「日付(短い形式)」と「時刻(長い形式)」 の表示書式で、日付、時刻の順で返します。 小数がない場合は日付のみ 整数部がない場合は時刻のみ返します。 | Format(24856.5,”c”) →2017/05/01 12:00:00 |
d | 日付(1~31)を返します。 一桁の日付は一桁で返します | Format(“2017/05/01″,d”) →1 |
dd | 日付(1~31)を返します。 一桁の日付は二桁で返します | Format(“2017/05/01″,d”) →01 |
ddd | 曜日を英語の省略形で返します。 | Format(“2017/05/01″,ddd”) →Mon |
dddd | 曜日を英語で返します。 | Format(“2017/05/01″,dddd”) →Monday |
dddddd | 年、月、日を「地域」ダイアログボックスの 「形式」タブの「時刻(長い形式)」に 指定した長い形式で返します。 | Format(“2017/05/01″,dddddd”) →2017年05月1日 (yyyy”年”MM”月”dd”日”の場合) |
aaa | 曜日を日本語で返します。 「曜日」を含まない省略形で返します。 | Format(“2017/05/01″,aaa”) →月 |
aaaa | 曜日を日本語で返します。 | Format(“2017/05/01″,aaaa”) →月曜日 |
w | 日曜日を1、土曜日を7とした 曜日を表す数値を返します。 | Format(“2017/05/01″,w”) →2 |
ww | 1年の内で何週目に当たるかを 1~54の数値で返します。 | Format(“2017/05/01″,ww”) →6 |
m | 月を表す数値を返します。 一桁の場合は一桁で返します | Format(“2017/05/01″,m”) →5 |
mm | 月を表す数値を返します。 一桁の場合は二桁で返します | Format(“2017/05/01″,mm”) →05 |
mmm | 月の名前を英語の 省略形で返します。 | Format(“2017/02/01″,mmm”) →Feb |
mmmm | 月の名前を英語で返します。 | Format(“2017/02/01″,mmmm”) →February |
oooo | 月の名前を日本語 (1月~12月)で返します。 | Format(“2017/05/01″,oooo”) →5月 |
q | 1年の内で何番目の四半期に 当たるかを表す1~4の数値を返します。 | Format(“2017/05/01″,q”) →2 |
y | 1年の内で何日目に当たるかを 1~366の数値で返します。 | Format(“2017/05/01″,y”) →121 |
yy | 西暦の年を下二桁の数値で返します。 | Format(“2017/05/01″,yy”) →17 |
yyyy | 西暦の年を四桁の数値で返します。 | Format(“2017/05/01″,yyyy”) →2017 |
h | 時刻の時を0~23の数値で返します。 一桁の数値は一桁で返します。 | Format(“1:05:06″,”h”) →1 |
hh | 時刻の時を0~23の数値で返します。 一桁の数値は二桁で返します。 | Format(“1:05:06″,”h”) →01 |
n | 時刻の分を0~59の数値で返します。 一桁の数値は一桁で返します。 | Format(“1:05:06″,”h”) →5 |
nn | 時刻の分を0~59の数値で返します。 一桁の数値は二桁で返します。 | Format(“1:05:06″,”h”) →05 |
s | 時刻の秒を0~59の数値で返します。 一桁の数値は一桁で返します。 | Format(“1:05:06″,”h”) →6 |
ss | 時刻の秒を0~59の数値で返します。 一桁の数値は二桁で返します。 | Format(“1:05:06″,”h”) →06 |
tttt | 「地域」ダイアログボックスの 「時刻(長い形式)」で 設定されている形式で時刻を返します。 | Format(“1:05:06″,”ttttt”) →1:05:06 [H:mm:ss]設定の場合 |
AM/PM | 時刻が午前の場合は「AM」 午後の場合は「PM」が返されます。 | Format(“1:05:06″,”AM/PM”) →AM |
am/pm | 時刻が午前の場合は「am」 午後の場合は「pm」が返されます。 | Format(“1:05:06″,”am/pm”) →am |
A/P | 時刻が午前の場合は「A」 午後の場合は「P」が返されます | Format(“1:05:06″,”A/P”) →A |
a/p | 時刻が午前の場合は「a」 午後の場合は「p」が返されます | Format(“1:05:06″,”a/p”) →a |
AMPM | 「形式のカスタマイズ」ダイアログで 指定されている表示形式で 「午前・午後」を表す文字列を返します。 | Format(“1:05:06″,”AMPM”) →午前 |
文字 | 内容 | 使用例 |
---|---|---|
@ | 一つの文字またはスペースを表します。 @(アットマーク)に対応する位置に 文字が存在する場合はその文字が表示されます。 文字がなければスペースが表示されます。 文字は右から左の順にうめられます。 | Format(“VBA”,”@@@@@”) → VBA |
! | 文字を左から右の順にうめるように指定します。 | Format(“VBA”,”!@@@@@”) →VBA |
& | 一つの文字を表す 「&(アンパサンド)」に対応する位置に 文字が存在する場合はその文字が表示されます。 文字がなければ何も表示されず詰められます。 文字は右から左の順にうめられます。 | Format(“VBA”,”&&&&&”) →VBA |
< | すべての大文字を小文字に変換します。 | Format(“VBA”,”<&&&”) →vba |
> | すべての小文字を大文字に変換します。 | Format(“vba”,”>&&&”) →VBA |
以上で、Format【フォーマット】関数の解説を終了します。ありがとうございました。
文字列関数一覧表
文字列関数の一覧表です。関数名のリンクで詳細ページが開きます。
関数 | 内容 |
---|---|
Format | データの表示書式を変換 |
Left | 文字列の左端から文字列の一部分を取り出す |
Right | 文字列の右端から文字列の一部分を取り出す |
Mid | 文字列の指定した一部分を取り出す |
LeftB | 文字列の左端からバイト数で文字列の一部分を取り出す |
RightB | 文字列の右端からバイト数で文字列の一部分を取り出す |
MidB | 文字列の指定位置からバイト数で文字列の一部分を取り出す |
Len | 文字列の長さを取得する |
LenB | 文字列のバイト数を取得する |
Chr | ASCIIコードに対応する文字を取得する |
Asc | 文字に対応するASCIIコードを取得する |
StrConv | 文字の種類を変換する |
LCase | アルファベットの大文字を小文字に変換 |
UCase | アルファベットの小文字を大文字に変換 |
LTrim | 文字列の先頭にあるスペースを削除する |
RTrim | 文字列の末尾にあるスペースを削除する |
Trim | 文字列の先頭と末尾のスペースを削除する |
Replace | 文字列を置換えする |
Space | スペースを追加する |
String | 文字を指定した数表示する |
StrComp | 2つの文字を比較する |
InStr | 文字を文字列の先頭から検索する |
InStrRev | 文字を文字列の末尾から検索する |