ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

書式を変換(Format 関数)

      2015/12/30

Format 関数の使い方


【書式】

result = Format ( expression [ , format, firstdayofweek, firstweekofyear ] )


引数・戻り値

  • expression  ・・・  変換元の任意の式を指定します。
  • format  ・・・  引数 expression を変換する書式(定義済み書式または表示書式指定文字)を指定します(省略可 ⇒ Str 関数 の実行結果に準じた値を返します)。
  • firstdayofweek  ・・・  週の始まりの曜日を表す定数を指定します。省略すると日曜日を指定したものとみなされます(「週の始まりの曜日を示す定数」を参照 )。
  • firstweekofyear  ・・・  年度の第 1 週を表す定数を指定します。省略すると、1 月 1 日を含む週が第 1 週とみなされます(「年度の始まりを示す定数」を参照 )。
  • result  ・・・  引数 expressionformat で指定した書式に変換、その文字列を示すバリアント型 (内部処理形式 String) の値。


複数の種類の書式を指定する(数値)
表示書式指定文字を使って数値を文字列に変換する場合は、引数 format には、セミコロン(;)で区切ることにより最大4種類の書式を指定できます。ただし、引数 format に定義済み書式が含まれる場合、指定できる書式は 1 つだけです。
また、複数のセミコロン(;)の間に何も記述しない場合には、その空の書式に対応する数値は、正の数値用の書式を使って変換されます

書式数
1 常にその書式を使用
2 数値 >= 0 ⇒ 1 番目の書式 / 数値 < 0 ⇒ 2 番目の書式
3 数値 > 0 ⇒ 1 番目の書式 / 数値 < 0 ⇒ 2 番目の書式 / 数値 = 0 ⇒ 3 番目の書式
4 数値 > 0 ⇒ 1 番目の書式 / 数値 < 0 ⇒ 2 番目の書式 / 数値 = 0 ⇒ 3 番目の書式 / 数値が Null 値 ⇒ 4 番目の書式


複数の種類の書式を指定する(文字列)
文字列の書式指定でもセミコロン(;)で区切ることにより複数の書式(最大2種類)を引数 format に指定できます。

書式数
1 常にその書式を使用
2 通常 ⇒ 1 番目の書式 / Null 値または長さ 0 の文字列(“”) ⇒ 2 番目の書式


書式を指定する時に使用できる記号等

記号 内容 使用例 表示書式
入力値 書式 結果
なし 指定した数値をそのままで返す(文字列) 125.25 125.25 数値
0 数値1桁「0」表示 125.25 “0000.0” 0125.3
“0.000” 125.250
# 数値1桁「0」非表示 125.25 “####.# 125.3
“#.### 125.25
% 数値を100倍して「%」をつける 0.365 “#.#0%” 36.50%
, 1000単位の区切り記号挿入 1259900 “#,#” 1,259,900
#,#,千円 1,260千円
0,0 1,259,900
E+ e+ 指数表記(指数の正負にあわせて + – の記号が付く 100000000 “0.00e+” 1.00e+8
-100000000 “0.00e+” -1.00e+8
0.5 “0.00e+” 5.00e-1
E- e- 指数表記(指数が負の時、- の記号が付く 2500 “0.00e-“ 2.50e3
-100000000 “0.00e-“ -1.00e8
0.5 “0.00e-“ 5.00e-1
\ \,#,E 等の特別な意味をもつ文字を表示するには、その前に「\」を付ける 1000 “\\#,#” \1,000
@ 1文字またはスペース(@ の位置に対応する文字がない場合) 1 “@@月”  1月 文字列
& 1文字 1 “&&月” 1月
< 小文字に変換 ABCDE “<" abcde
> 大文字に変換 abcde “>” ABCDE
! 文字を左から取得 abcde “@@!” de
y 元旦から数えて何日目か #1/1/2015# “y” 1 日付時刻
西暦(下2桁のみ表示) “yy” 15
西暦(下4桁表示) “yyyy” 2015
m #1/1/2015# “m” 1
月(1 ~ 9 月は前に「0」を付ける) “mm” 01
月(英語)短縮形 “mmm” Jan
月(英語)完全形 “mmmm” January
o 月(日本語) #1/1/2015# “oooo” 1月
d #1/1/2015# “d” 1
日(1 ~ 9 日は前に「0」を付ける) “dd” 01
曜日(英語)省略形 “ddd” Thu
曜日(英語)完全形 “dddd” Thursday
年月日を含む短い形式(コントロールパネルで設定)で表した日付 “ddddd” 2015/01/01
年月日を含む長い形式(コントロールパネルで設定)で表した日付 “dddddd” 2015年1月1日
a 曜日(日本語)短縮形 #1/1/2015# “aaa”
曜日(日本語)完全形 “aaaa” 木曜日
w 曜日を示す定数(週の1日目は引数 firstdayofweek で指定可) #1/1/2015# “w” 5
週初めから数えて何番目か(年の第1週目は引数 firstweekofyear で指定可) “ww” 1
g 年号( 頭文字:M, T, S, H ) #1/1/2015# “g” H
年号( 先頭の漢字1文字:明, 大, 昭, 平 ) “gg”
年号(明治, 大正, 昭和, 平成) “ggg” 平成
e 和暦の年 #1/1/2015# “e” 27
和暦の年(1桁の場合、先頭に「0」が付く) “ee” 27
h 時間 #1:11:00 AM# “h” 1
時間(1桁の場合、先頭に「0」が付く) “hh” 01
n #1:11:00 AM# “n” 11
分(1桁の場合、先頭に「0」が付く) “nn” 11
s #2:18:07 AM# “s” 7
秒(1桁の場合、先頭に「0」が付く) “ss” 07
t 時刻(コントロールパネルで設定) #1/1/2015 12:11:00 PM# “ttttt” 12:11:00
c 日付時刻(日付の部分は、「ddddd」と同じ、時刻の部分は「ttttt」と同じ) #3/3/2015 12:11:00 PM# “c” 2015/03/03 12:11:00


定義済み書式

数値書式

書式 内容
General Number 数値を 1000 単位の区切り記号は付けない。
Currency 通貨記号、小数点以下の桁数、1000 単位の区切り記号を付ける。
Fixed 整数部を最低 1 桁、小数部を最低 2 桁表示。1000 単位の区切り記号は付けない。
Standard 整数部を最低 1 桁、小数部を最低 2 桁表示。1000 単位の区切り記号を付ける。
Percent 指定した数値を 100 倍して、小数部を常に 2 桁表示。パーセント記号(%)が右側に付く。
Scientific 標準的な科学表記法で表した文字列を返す。
Yes/No 数値が 0 の場合には No、それ以外は Yes を返す。
True/False 数値が 0 の場合には偽 (False)、それ以外は真 (True) を返す。
On/Off 数値が 0 の場合には Off、それ以外は On を返す。



日付・時刻書式

書式 内容
General Date 日付または時刻、あるいはその両方を返す。日付と時刻の表示形式はコントロール パネルの設定。
Long Date 年月日を含む長い形式(コントロールパネルで設定)で表した日付。
Medium Date 簡略形式で表した日付。
Short Date 年月日を含む短い形式(コントロールパネルで設定)で表した日付。
Long Time 時刻、分、秒を含む形式で表した時刻。
Medium Time 時間と分を 12 時間制で表した時刻。午前は「AM」、午後は「PM」を付ける。
Short Time 時間と分を 24 時間制で表した時刻。


週の始まりの曜日を示す定数(firstdayofweek に指定する値)

定数 内容
0 vbUseSystem NLS(システムの各国対応)APIの設定値を使用
1 vbSunday 日曜日(規定値)
2 vbMonday 月曜日
3 vbTuesday 火曜日
4 vbWednesday 水曜日
5 vbThursday 木曜日
6 vbFriday 金曜日
7 vbSaturday 土曜日


年度の始まりを示す定数(firstweekofyear に指定する値)

定数 内容
0 vbUseSystem NLS(システムの各国対応)APIの設定値を使用
1 vbFirstJan1 1月1日を含む週を年度の第1週とする(規定値)
2 vbFirstFourDays 7日のうち少なくとも4日が新年度に含まれる週を年度の第1週とする
3 vbFirstFullWeek 全体が新年度に含まれる最初の週を年度の第1週とする



Format 関数の使用例(1)

数値・文字列 表示書式指定文字


実行結果

Format 関数 例1




Format 関数の使用例(2)

日付・時刻 表示書式指定文字


実行結果

Format 関数 例2




Format 関数の使用例(3)

定義済み書式


実行結果

Format 関数 例3




Format 関数の使用例(4)

複数の書式を設定


実行結果

Format 関数 例4




 - VBA基本 , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

データ型変換関数

データ型変換関数の使い方 【書式】 function ( expression …

オブジェクトの書式をクリアする(ClearFormats メソッド)

ClearFormats メソッド 対象となるオブジェクトの書式(スタイル)を初 …

ThisCell プロパティ
ユーザー定義関数:セルを取得する(ThisCell プロパティ)

入力されたセルを取得する ワークシート上で使用する Function プロシージ …

VBA の演算子(論理演算子:And、Eqv、Imp、Not、Or、Xor)

論理演算子 論理演算を行うときに使用する演算子で、以下の 6 種類があります。 …

画面の更新を停止(ScreenUpdating プロパティ)

画面の更新を停止 マクロを実行すると、画面が更新されます。これにより、実行速度が …

日付時刻:日付時刻データを計算( DateAdd 関数 )

DateAdd 関数(日付・時刻の値を加算・減算結果を取得) 【書式】 resu …

日付時刻:文字列から日付・時刻データを取得( DateValue 関数、TimeValue 関数 )

DateValue 関数(文字列から日付データを取得) 【書式】 date_va …

変数が日付型かどうかをチェックする( IsDate 関数 )

IsDate 関数の使い方 【書式】 result = IsDate( expr …

文字列:2つの文字列を比較する(StrComp 関数)

StrComp 関数の使い方 【書式】 result = StrComp ( s …

Dictionary オブジェクト 使用例1
連想配列(Dictionary オブジェクト)

連想配列 連想配列とは、添字(キー)に文字列を使用することができる配列です。 V …