AccessのFormat関数についてお探しですね。

広告

Accessで数値をきれいに整える!Format関数の使い方完全ガイド

Accessでデータベースを作っていると、「顧客IDを4桁で揃えたい」「金額にカンマをつけたい」といった場面によく出会いますよね。

こうした数値の見た目を整えるのに便利なのが「Format関数」です。

この記事では、Format関数の基本から実務で使えるテクニック、そして知っておかないと困る注意点まで、わかりやすく解説していきます。

Format関数って何?基本的な使い方を知ろう

AccessのFormat関数は、数値や日付などを「見やすい形」に変換してくれる便利な機能です。

大事なのは、データベースに保存されている元のデータは変えずに、「表示するときの見た目だけ」を変えられるということ。

クエリやフォーム、レポート、VBAコードなど、Accessのいろんな場面で使えます。

Format関数の書き方はとってもシンプルです。

“`

Format(変換したい値, "どんな形にするか")

“`

最初のカッコの中に変換したい数値やフィールド名を書いて、次に「”」で囲んだ書式を指定します。

この書式の書き方を覚えれば、思い通りの表示ができるようになりますよ。

数値を変換するときによく使う記号は2つあります。

* **0(ゼロ)**:足りない桁を「0」で埋めます。

「必ず○桁で表示したい」ときに使います。

* **#(シャープ)**:数字がある桁だけを表示します。

余計な0は表示しません。

例えば、「0000」と指定すれば必ず4桁になりますし、「####」と指定すれば数字の大きさに合わせて桁数が変わります。

まずはこの2つの違いを押さえておきましょう。

数値を0埋めする方法をマスターしよう

Accessで一番よく使われるのが「0埋め(ゼロパディング)」です。

たとえば、社員番号「1」を「0001」という4桁の形で表示したいときに使います。

見た目が揃ってきれいですし、他のシステムとデータをやり取りするときにも必要になることが多いんです。

0埋めするには、表示したい桁数分の「0」を書きます。

4桁にしたいなら:

“`

Format([社員ID], "0000")

“`

これで、元の値が「15」なら「0015」に、「350」なら「0350」になります。

元の値が「12345」のように4桁を超えていても、そのまま「12345」と表示されるので安心してください。

実際の仕事では、もっと複雑な表示が必要なこともあります。

たとえば「EMP-0001」のように、文字と組み合わせたい場合:

“`

"EMP-" & Format([社員ID], "0000")

“`

または

“`

Format([社員ID], "EMP-0000")

“`

どちらでも同じ結果になります。

自社の採番ルールに合わせて、いろんな組み合わせができるので便利ですよ。

カンマ区切りや円マークをつける方法

金額を扱うときは、3桁ごとにカンマが入っていないと読みづらいですよね。

「1500000」より「1,500,000」の方が断然わかりやすいです。

Format関数を使えば、こうした整形も簡単にできます。

カンマ区切りにするには、「#,##0」という書式を使います:

“`

Format([売上金額], "#,##0")

“`

これで「1500000」が「1,500,000」になります。

最後を「0」にしているのは、元の値が「0」のときに空欄にならないようにするためです。

金額に円マークをつけたり、パーセント表示にしたりすることもできます:

* **カンマ区切りのみ**:`Format([金額], “#,##0”)` → 1,234
* **円マーク付き**:`Format([金額], “\¥#,##0”)` → ¥1,234
* **パーセント表示**:`Format([比率], “0.0%”)` → 0.15が15.0%に

ちなみに、テーブルのフィールドを「通貨型」にしておけば、自動的に円マークとカンマがつきます。

でも、他の文字と組み合わせたいときや、独自の形式でエクスポートしたいときは、Format関数を使った方が便利です。

使うときの注意点とよくある失敗

Format関数はとても便利ですが、知っておかないと困ることがあります。

特に初心者の方がつまずきやすいのが「並べ替えがおかしくなる」問題です。

**一番大事な注意点**:Format関数を使うと、結果が「文字列」になってしまいます。

数値を0埋めやカンマ区切りにした瞬間、Accessはそれを「計算できる数値」ではなく「ただの文字」として扱います。

すると、並べ替えをしたときに変な順番になってしまうんです。

例えば、「2」「10」「100」という数値を文字として並べ替えると、「10」「100」「2」という順番になってしまいます。

数字の大きさではなく、辞書の順番で並ぶからです。

**解決方法**は、表示用と並べ替え用のフィールドを分けることです:

* **表示用**:`Format([ID], “0000”)` を使う
* **並べ替え用**:元の数値フィールド `[ID]` を使う

また、Format関数で変換した値を使って計算しようとすると、「型が一致しません」というエラーが出ます。

計算するときは必ず元の数値データを使って、Format関数は「最後に見せるとき」だけに使いましょう。

データの「中身」と「見た目」を分けて考える。

これがAccessを上手に使うコツです。

この考え方を身につければ、もっとスムーズにデータベースを作れるようになりますよ。

広告