Accessで使用できる主な関数をご紹介します。そして、記事冒頭では、「そもそも関数とはどういうものか」という解説を行っていますので、併せてご覧いただければと思います。
なお、各関数の詳細解説は、各関数名をクリックしてください。
関数とは
Accessでの「関数」とは、特定の処理や計算を行って結果を返すしくみのことです。
たとえば、数値の合計を求める、文字列を加工する、日付を計算する…など、よく使う処理をまとめて簡単に呼び出せるのが関数です。
Excelの関数に近いイメージですが、Accessではフォーム・レポート・VBAなど、さまざまな場面で利用できます。
基本用語
用語 | 内容 |
---|---|
引数(ひきすう) | 関数に渡す値や条件のこと。関数の動作に必要な情報を入れる「入力」 だと考えるとわかりやすいです。複数ある場合はカンマで区切って指定します。 例: Left("ABCDE", 2) の「”ABCDE”」と「2」が引数です。 |
戻り値(もどりち) | 関数の実行結果として返される値のこと。関数の「出力」にあたります。 例: Left("ABCDE", 2) の戻り値は「”AB”」です。 |
構文 | 関数を正しく使うための書き方(書式)のこと。引数の順番や区切り方が 決まっています。 |
関数名を入力して、必要な引数をカッコ内に指定 → 戻り値が返ってくる、という流れで使います。

ちなみに、あらかじめ用意されている関数のほかに、関数は自由に作ることもできるんだ。これを「ユーザ定義関数」といいます。
ユーザー定義関数については、別記事で詳しく解説します
Accessの主な関数一覧
種類 | 関数名 | 構文 | 内容 |
---|---|---|---|
数値操作関数 | Abs | Abs(数値) | 数値の絶対値を返す |
Fix | Fix(数値) | 小数部分を切り捨てて整数を返す | |
Int | Int(数値) | 数値の整数部分を返す (小数切捨て) | |
Randomize | Randomize | Rnd関数の乱数初期化を行う | |
Rnd | Rnd() | 0以上1未満の乱数を返す | |
Round | Round(数値, 桁数) | 指定桁で四捨五入 | |
Sgn | Sgn(数値) | 数値の符号を返す | |
文字列操作関数 | Format | Format(式, "書式") | 値を指定書式の文字列に変換 |
Instr | Instr(開始位置, 文字列, | 指定文字列の位置を返す | |
InstrRev | InstrRev(文字列, 検索文字列) | 文字列の末尾側から検索位置を返す | |
Join | Join(配列, 区切り文字) | 配列を文字列に結合 | |
LCase | LCase(文字列) | 文字列を小文字に変換 | |
Left | Left(文字列, 文字数) | 文字列の先頭から指定文字数を取得 | |
LTrim | LTrim(文字列) | 文字列の先頭スペースを削除 | |
Mid | Mid(文字列, 開始位置, 文字数) | 指定位置から指定文字数を取得 | |
Replace | Replace(文字列, 検索文字列, | 文字列を置換 | |
Right | Right(文字列, 文字数) | 文字列の末尾から指定文字数を取得 | |
RTrim | RTrim(文字列) | 文字列の末尾スペースを削除 | |
Split | Split(文字列, 区切り文字) | 文字列を配列に分割 | |
StrComp | StrComp(文字列1,文字列2[,比較モード]) | 文字列を比較して、結果を数値で返す | |
Trim | Trim(文字列) | 前後のスペースを削除 | |
UCase | UCase(文字列) | 文字列を大文字に変換 | |
FormatCurrency | FormatCurrency(式 [, 小数点以下桁数 [, 前後の負数書式 [, 0 表示設定 [, 通貨記号設定]]]]) | 数値を通貨書式の文字列に変換する | |
FormatNumber | FormatNumber(式 [, 小数点以下桁数 [, 前後の負数書式 [, 桁区切り設定 [, 0 表示設定]]]]) | 数値を桁区切り・小数点桁数を指定した文字列に変換する | |
FormatPercent | FormatPercent(式 [, 小数点以下桁数 [, 前後の負数書式 [, 0 表示設定]]]) | 数値を百分率(%付き)の文字列に変換する | |
日付操作系関数 | Date | Date() | 現在の日付を返す |
DateAdd | DateAdd("単位", 加算減算する数値, 日付) | 日付に指定単位の値を加算 | |
DateDiff | DateDiff("単位", 日付1, 日付2) | 日付の差を単位で返す | |
DatePart | DatePart("単位", 日付) | 日付から指定単位の部分を抽出 | |
Day | Day(日付) | 日を返す | |
Now | Now() | 現在の日付と時刻を返す | |
Timer | Timer | 起動からの秒数を返す | |
Time | Time() | 現在の時刻を返す | |
Weekday | Weekday(日付) | 曜日を数値で返す(1:日曜〜7:土曜) | |
WeekdayName | WeekdayName(曜日番号) | 曜日名を返す | |
Year | Year(日付) | 年を返す | |
Month | Month(日付) | 月を返す | |
DateSerial | DateSerial(年, 月, 日) | 指定年月日から日付を返す | |
定義域集計関数 | DAvg | DAvg("フィールド", "テーブル/クエリ", "条件") | 条件に合うレコードの平均値を返す |
DCount | DCount("フィールド", "テーブル/クエリ", "条件") | 条件に合うレコード数を返す | |
DFirst | DFirst("フィールド", "テーブル/クエリ", "条件") | 条件に合う最初の値を返す | |
DLast | DLast("フィールド", "テーブル/クエリ", "条件") | 条件に合う最後の値を返す | |
DLookup | DLookup("フィールド", "テーブル/クエリ", "条件") | 条件に合う最初の値を返す | |
DMax | DMax("フィールド", "テーブル/クエリ", "条件") | 条件に合う最大値を返す | |
DMin | DMin("フィールド", "テーブル/クエリ", "条件") | 条件に合う最小値を返す | |
DSum | DSum("フィールド", "テーブル/クエリ", "条件") | 条件に合うレコードの合計を返す | |
変換関数 | CDate | CDate(式) | 値を日付型に変換 |
CInt | CInt(式) | 値を整数型に変換 | |
CLng | CLng(式) | 値を長整数型に変換 | |
CStr | CStr(式) | 値を文字列型に変換 | |
Nz | Nz(値, 代替値) | Nullの場合に代替値を返す | |
StrConv | StrConv(文字列, 変換形式) | 文字列の大文字/小文字や全角/ 半角を変換 | |
StrReverse | StrReverse(文字列) | 文字列の文字順を逆にして返す | |
評価関数 | IsDate | IsDate(値) | 日付として有効か判定 |
IsNull | IsNull(値) | Nullか判定 | |
IsNumeric | IsNumeric(値) | 数値として有効か判定 | |
条件・選択系関数 | IIf | IIf(条件式, 真の場合の値, 偽の場合の値) | 条件式を評価し True なら2番目の引数 Falseなら3番目の 引数を返す。 |
Switch | Switch(条件式1, 値1, 条件式2, 値2, …) | 複数の条件式を順に評価し、最初 にTrueになった条件に対応する値を返す。 | |
Choose | Choose(インデックス, 値1, 値2, 値3, …) | インデックス番号に応じて指定した値リストから1つを返す | |
その他 | Array | Array(値1, 値2, …) | 値の配列を作成 |
InputBox | InputBox("メッセージ") | 入力ボックスを表示して値を取得 | |
LBound | LBound(配列) | 配列の下限を返す | |
MsgBox | MsgBox("メッセージ") | メッセージボックスを表示 | |
UBound | UBound(配列) | 配列の上限を返す |