Accessでデータを扱うとき、数字や日付を「見やすく」「わかりやすく」表示することはとても大切です。
たとえば、金額を3桁区切りにしたり、日付を「2025年09月18日」のように和暦で見せたり。
こうした「見た目」の整形を簡単にしてくれるのが Format関数です。この記事では、基本的な構文や、具体的な使い方について解説します。
なお、こちらの記事では関数の基礎知識と共に、Accessで使用できる主な関数を紹介していますので、併せて参考にしてください。
Format関数とは
Format関数は、指定した値を任意の書式に従って「文字列」として返す関数です。
数値、日付/時刻、文字列など、あらゆるデータ型に対して使え、データそのものは変わらず、「見た目」だけを整えることができるのがポイントです。
構文
Format(式,[書式],[週の開始曜日],[年の第1週の定義])
各引数の内容は次のとおりです。
| 引数 | 必須/省略 | 内容 |
|---|---|---|
| 式 | 必須 | 書式を適用する対象の値(数値/日付/文字列など) |
| 書式 | 省略可 | 表示形式を指定する文字列。設定値は【表1】を参照 |
| 週の開始曜日 | 省略可 | 週の開始曜日。設定値は【表2】を参照 |
| 年の第1週の定義 | 省略可 | 年の第1週の定義。設定値は【表3】を参照 |

「書式」は省略可能だけど、省略すると、当初指定した値を文字列で返すだけの結果になります。なので通常は「式」と「書式」を指定する使い方が最も多いです。
【表1】主な書式指定文字
| 書式 | 説明 |
|---|---|
| 日付/時刻 | |
yyyy | 西暦4桁 |
yy | 西暦下2桁 |
ggg | 年号(令和・平成など) |
e | 和暦の年 |
mm / m | 月(mmは1桁月の場合に0埋め) |
dd / d | 日(ddは1桁月の場合に0埋め) |
hh / h | 時(24時間制) |
nn / n | 分 |
ss / s | 秒 |
AM/PM | 午前/午後表示 |
| 数値/通貨 | |
0 | 桁数が足りない場合0で埋める |
# | 桁数が足りない場合は空白(先頭を埋めない) |
,(カンマ) | 千の位区切り |
.(ピリオド) | 小数点 |
% | 値を100倍し「%」を付けて表示 |
\ | 記号をそのまま表示(例:\¥で円記号) |
| 文字列 | |
@ | 文字位置を表す(なければ空白) |
& | 文字列を左詰めで表示 |
< | アルファベットを小文字にする |
> | アルファベットを大文字にする |
【表2】「週の開始曜日」の定数一覧(※本引数を省略した場合は、vbSundayが規定値。)
| 定数名 | 値 | 内容 |
|---|---|---|
| vbUseSystem | 0 | Windows設定に従う |
| vbSunday | 1 | 日曜日を週の始まりにする(規定値) |
| vbMonday | 2 | 月曜日を週の始まりにする |
| vbTuesday | 3 | 火曜日を週の始まりにする |
| vbWednesday | 4 | 水曜日を週の始まりにする |
| vbThursday | 5 | 木曜日を週の始まりにする |
| vbFriday | 6 | 金曜日を週の始まりにする |
| vbSaturday | 7 | 土曜日を週の始まりにする |
【表3】「年の第1週の定義」の定数一覧(※本引数を省略した場合は、vbFirstJan1が規定値。)
| 定数名 | 値 | 内容 |
|---|---|---|
| vbUserSystem | 0 | Windows設定に従う |
| vbFirstJan1 | 1 | 1月1日を含む週を第1週とする(規定値) |
| vbFirstFourDays | 2 | 4日以上含む最初の週を第1週とする |
| vbFirstFullWeek | 3 | 新年に完全に含まれる最初の週を第1週とする |
具体例
ここからは具体例として、なるべく多くの種類をご紹介します。
日付/時刻の書式具体例
| 目的 | 構文 | 結果 |
|---|---|---|
| 月日をゼロなしで表示 | Format(#2025/9/5#, "m/d") | 9/5 |
| 月日をゼロありで表示 | Format(#2025/9/5#, "mm/dd") | 09/05 |
| 和暦表示 | Format(#2025/9/5#, "ggge年mm月dd日") | 令和7年09月05日 |
| 完全な日付(短い書式) | Format(#2025/9/5#, "Short Date") | 2024/09/05 |
| 完全な日付(長い書式) | Format(#2024/3/5#, "Long Date") | 2024年9月5日 |
| 曜日(英語)表示 | Format(#2025/9/5#, "dddd") | Friday |
| 曜日(英語)先頭3文字 | Format(#2025/9/5#, "ddd") | Fri |
| 曜日(日本語)表示 | Format(#2025/9/5#, "aaaa") | 金曜日 |
| 曜日(日本語)先頭1文字 | Format(#2025/9/5#, "aaa") | 金 |
| 時刻を表示 | Format(#2025/9/5 15:05:10#, "hh:nn AM/PM") | 03:05 PM |
| 日付と時刻を表示 | Format(#2025/9/5 15:05:10#, "yyyy年m月d日 hh:nn:ss") | 2025年9月5日 15:05:10 |
数値・通貨等の書式指定例
| 目的 | 構文 | 結果 |
|---|---|---|
| 小数点以下2桁固定 | Format(1234.5, "0.00") | 1234.50 |
| 桁区切りで整数表示 | Format(1234.5, "#,##0") | 1,235 |
| 通貨記号を付ける(円) | Format(1234.5, "¥#,##0") | ¥1,235 |
| パーセント表示(小数1桁) | Format(0.256, "0.0%") | 25.6% |
| 数字の後ろに固定文字を付ける | Format(123, "'0000番") | 0123番 |
テキスト・その他の書式指定例
| 目的 | 構文 | 結果 |
|---|---|---|
| 郵便番号の形式に整える | Format(1234567, "000-0000") | 123-4567 |
| 電話番号の形式に整える | Format(09011112345, "000-000-0000") | 090-1111-2345 |
| 文字列の一部を大文字に変換 | Format("abc", ">") | ABC |
| 文字列の一部を小文字に変換 | Format("ABC", "<") | abc |
| 文字位置を整える | Format("ABCD", "@@@-@@@") | _ _A-BCD |
使用例
上記「具体例」では、様々な構文パターンをご紹介しました。次は、これらの構文をどういう場所で使用するかについてご説明します。
フォーム/レポートのテキストボックスで使用
フォームに配置したテキストボックスのコントロールソースに設定した当日日付に対して、体裁を整えることができます。

この事例では、コントロールソースに、Date関数で本日の日付を表示する際、Format関数で※年※月※日の形式に整えています。
クエリで使用
クエリのフィールドや抽出条件としても活用することができます。

この事例では、元の生年月日フィールドから、「月」のみ表示する「生年月日の月」というフィールドを新たに作成し、抽出条件に「05」を指定することで、5月生まれの社員を抽出しています。
生年月日の月のみ: Format([生年月日],"mm")
なお、Month関数でも上記と同様の結果を効果を出すことができます。(※Month関数の場合は0埋めされません。)
生年月日の月のみ: Month([生年月日])
VBA内で使用
Private Sub cmdCountThisMonth_Click()
Dim lngCnt As Long
Dim strCriteria As String
' 「受注日」が今月の件数をカウント
strCriteria = "Format(受注日,'yyyymm')=Format(Date(),'yyyymm')"
lngCnt = DCount("*", "T_受注テーブル", strCriteria)
MsgBox "今月の受注件数:" & lngCnt
End Sub
【解説】
T_受注テーブルに格納されているレコードに対して、「受注日」が今月のものをカウントする例です。
受注日フィールドと本日日付(Data関数)をともに、Format関数で「yyyymm」形式に整形し、それらが合致するう条件をWhere句としてDCount関数に組み込んでいます。
まとめ
本記事の要点をまとめます。
- Format関数はAccessで「見た目」を整えることができる機能。
- 数値・日付・文字列すべてに使え、クエリ・フォーム・VBAなどどこでも活躍できる。
- 書式指定文字を覚えておくと、ユーザーにとって見やすい表示を自在に作成可能。
- 書式を指定しない場合は標準書式で文字列が返る。



