AccessのBetween・Like・Inでクエリ条件を高度化する|日付範囲・あいまい検索・リスト絞り込みの実践手順とMOS試験対策

「売上テーブルから先月1か月分だけを抽出したい」「顧客名に”田”が含まれるレコードを探したい」「担当者が”鈴木””佐藤””高橋”のいずれかのデータをまとめて表示したい」――Accessクエリでこうした条件絞り込みを実現するのが、Between・Like・Inの3演算子です。

これら3つはクエリデザインビューの「抽出条件」行に入力するだけで使えますが、構文の細部やワイルドカードの種類・Not演算子との組み合わせを正しく理解しないと意図しない結果が返ります。本記事では各演算子の構文・実務シナリオ別の書き方・複数条件との組み合わせ・MOS Access試験での出題ポイントを体系的に解説します。

目次

Accessクエリ抽出条件の基本

クエリデザインビューを開くと、フィールド名の下に「抽出条件」と「または」の行が並んでいます。ここに条件式を入力することで、テーブルから特定のレコードだけを取り出せます。

基本演算子意味記述例
=等しい(省略可)“東京” または 東京
<>等しくない<>”東京”
> / <より大きい / より小さい>100
>= / <=以上 / 以下>=#2026/1/1#
Between…And範囲内(両端を含む)Between 100 And 500
Likeパターン一致Like “田*”
Inリストの値のいずれかに一致In(“東京”,”大阪”,”名古屋”)
Is Null / Is Not Null空(Null)/ 空でないIs Null

文字列値はダブルクォーテーション(”)で囲み、日付値は#(シャープ)で囲むのがAccessの基本ルールです。数値はそのまま入力します。クエリを保存・実行するとAccessが自動的に書式を整えることもありますが、手入力時は上記の形式に従ってください。

Between…And演算子で範囲を指定する

Between…Andは、ある値が指定した範囲内(両端の値を含む)にあるかどうかを評価します。日付の期間絞り込みと数値の範囲絞り込みが主な用途です。

構文

Between 下限値 And 上限値

「以上・以下」の両端を含む点が特徴で、>=下限値 And <=上限値 と同じ意味です。Betweenの方が読みやすく打ちやすいため、範囲条件はBetweenを優先して使います。

日付範囲の絞り込み

受注テーブルの「受注日」フィールドから2026年第1四半期(1月~3月)のレコードを取り出す場合は、「受注日」の抽出条件行に次のように入力します。

Between #2026/1/1# And #2026/3/31#

Accessは日付を#で囲んで扱います。クエリを保存すると自動的にBetween #2026/01/01# And #2026/03/31#のように整形されることがありますが、動作は同じです。期間の終端日は「2026/3/31」(3月31日)のように月の最終日を正確に指定してください。「3/30」にすると31日のデータが漏れます。

数値範囲の絞り込み

商品テーブルの「単価」フィールドから1,000円以上5,000円以下を抽出する例です。

Between 1000 And 5000

1,000と5,000のレコードも結果に含まれます。この点は「>1000 And <5000」(両端を除く)とは異なりますので、業務要件に合わせて選択してください。

Not Betweenで範囲外を抽出

Not Between #2026/1/1# And #2026/3/31#

Not Between…Andで「範囲外」のレコードを取り出せます。第1四半期を除いたデータを分析したいときなどに使います。

Like演算子とワイルドカードであいまい検索

Likeは文字列がパターンに一致するかを評価します。ワイルドカード(任意の文字を代替する特殊文字)と組み合わせてあいまい検索を実現します。AccessのLikeで使えるワイルドカードは5種類あります。

ワイルドカード意味記述例一致する例
*(アスタリスク)0文字以上の任意の文字列Like “田*”田中、田村、田口一郎
?(クエスチョン)任意の1文字Like “田?”田中、田村(3文字以上は不一致)
#(シャープ)任意の1桁の数字Like “A##”A01、A99(A100は不一致)
[ ](角かっこ)指定した文字のいずれか1文字Like “[ABC]*”A部、B係、C課
[! ](角かっこ+!)指定した文字以外の1文字Like “[!ABC]*”D、E、Z(A・B・Cで始まるものを除く)

ExcelのCOUNTIFやVLOOKUPでも「*」「?」ワイルドカードが使えますが、Accessでは「#」「[ ]」「[! ]」も使える点が異なります。特に[ ]による文字クラス指定はAccessクエリ独自の強力な機能です。

前方一致・後方一致・部分一致

3パターンの書き方を覚えておくと実務のほぼすべてのあいまい検索に対応できます。

' 前方一致:「東京」で始まる
Like "東京*"

' 後方一致:「株式会社」で終わる
Like "*株式会社"

' 部分一致:「田」を含む
Like "*田*"

顧客名に「田」が含まれるレコードを検索するなら「顧客名」フィールドの抽出条件に Like "*田*" と入力するだけです。大文字・小文字、全角・半角の区別はデフォルトでは行われません(大文字小文字を区別したい場合は、Access全体の「既定の比較方法」設定を変更します)。

Not Likeで除外検索

Not Like "*テスト*"

「テスト」を含まないレコードだけを対象にする場合はNot Likeを使います。テストデータや削除予定レコードを分析対象から外すときに便利です。

In演算子で複数の値リストに一致させる

Inはフィールドの値が、指定したリストのいずれかと一致するかを評価します。複数のOR条件を1行にまとめて書けるのが最大の利点です。

構文

In("値1", "値2", "値3")

文字列はダブルクォーテーションで囲み、カンマで区切ります。数値の場合はクォーテーション不要です。

' 文字列リスト
In("東京", "神奈川", "千葉", "埼玉")

' 数値リスト
In(1, 3, 5, 7)

Orを使った書き方との比較

「都道府県」フィールドが”東京””神奈川””千葉””埼玉”のいずれかというOR条件は、次の2通りの書き方が等価です。

書き方抽出条件欄への入力
Or(複数行)1行目: “東京” 2行目(または): “神奈川” 3行目: “千葉” 4行目: “埼玉”
In(1行)In(“東京”,”神奈川”,”千葉”,”埼玉”)

Inを使うと1行に収まるためデザインビューが読みやすくなります。また、値の数が増えても1行にまとめられるため管理しやすく、クエリ条件の変更時に見落としが起きにくいメリットがあります。

Not Inで除外リスト

Not In("退職", "休職", "育休")

社員テーブルで在籍区分が”退職””休職””育休”以外のレコードを取り出す例です。除外したいカテゴリが複数ある場合は、Not Inが最もシンプルに書けます。

複数演算子の組み合わせ

実務では、Between・Like・InをAndやOrで組み合わせて使うケースが多くあります。クエリデザインビューでの条件の入力位置によってAndとOrが変わるため、ルールを正確に理解してください。

結合方法デザインビューでの記述位置意味
AND条件同じ「抽出条件」行の異なるフィールドに書くすべての条件を同時に満たす
OR条件同一フィールドの「抽出条件」と「または」行に分けて書く / または In( )を使ういずれかの条件を満たす

BetweenとLikeのAND組み合わせ例

「2026年1月以降の受注で、かつ顧客名に”株式会社”が含まれるレコード」を取り出す場合:

  • 「受注日」フィールドの抽出条件行: >=#2026/1/1#
  • 「顧客名」フィールドの抽出条件行(同じ行): Like "*株式会社*"

同一行に書くことで「かつ(AND)」の条件になります。SQLビューに切り替えると WHERE 受注日 >= #2026/01/01# AND 顧客名 Like "*株式会社*" と表示され、ANDで結合されているのが確認できます。

InとBetweenのAND組み合わせ例

「担当者が”鈴木””佐藤”のいずれかで、かつ売上金額が10,000円以上50,000円以下」:

  • 「担当者」フィールドの抽出条件行: In("鈴木","佐藤")
  • 「売上金額」フィールドの抽出条件行(同じ行): Between 10000 And 50000

パラメータとBetween・Likeの組み合わせ

クエリを実行するたびに条件を変えたい場合は、[ ]でくくった文字列を「パラメータ」として使えます。実行時にダイアログボックスが表示され、その入力値が条件に使われます。

' 日付範囲をパラメータで指定
Between [開始日を入力(例: 2026/1/1)] And [終了日を入力(例: 2026/3/31)]

' 部分一致をパラメータで指定
Like "*" & [検索キーワードを入力] & "*"

Likeとパラメータを組み合わせるときは、Like "*" & [パラメータ] & "*" という形式で「*」をパラメータの前後に文字列結合(&演算子)します。Like "*[パラメータ]*" と角かっこを直接パターン内に書くと、パラメータではなく文字リスト指定と解釈されてしまうので注意してください。

Is NullとIs Not Nullとの使い分け

Between・Like・Inは「値が存在するフィールド」に使います。空欄(Null)チェックが必要な場合は、これらとIs Null / Is Not Nullを組み合わせることで堅牢なクエリを設計できます。

' 退会日が未入力(Null)のレコード
Is Null

' 退会日が入力済みで、かつ2026年以降のレコード
Is Not Null AND >=#2026/1/1#

Nullは「=””」(空文字列)と異なります。フィールドが空のように見えても実際には空文字列が入っている場合は = "" を使い、真にNullのフィールドは Is Null を使います。Accessでは入力がなかったフィールドは通常Nullになります。

クエリデザインビューとSQLビューで確認する

クエリデザインビューで条件を設定したあと、リボンの「表示」から「SQLビュー」に切り替えると、AccessがどのようなSQL文を生成しているかを確認できます。Between・Like・Inの条件がWHERE句にどう変換されているかを見ることで、クエリの動作をより深く理解できます。

' デザインビューで設定した条件をSQLビューで確認した例
SELECT 受注番号, 顧客名, 受注日, 金額
FROM 受注テーブル
WHERE 受注日 Between #2026/01/01# And #2026/03/31#
  AND 顧客名 Like "*株式会社*"
  AND 担当者 In("鈴木","佐藤");

SQL文をそのまま編集してデザインビューに戻すことも可能です。複雑な条件はSQLビューで直接記述した方が確実な場合もあります。

MOS Access試験でのBetween・Like・In出題ポイント

MOS Access 365試験では「クエリの作成と変更」スキル項目の中で、抽出条件の正確な設定が問われます。特に以下のポイントが頻出です。

  • Betweenの両端を含む:「Between 1 And 10」には1と10が含まれることを理解し、>1 And <10(両端を含まない)との違いを区別できる
  • 日付のシャープ囲み:日付値を#で囲む書式を正確に入力できる(#2026/1/1#など)
  • Likeのワイルドカード種別:*(複数文字)と?(1文字)の違いを使い分けられる。試験問題で「ちょうど1文字の任意の文字」と指定されたら?を選択する
  • Inの記法:In(“値1″,”値2”)と括弧・カンマ・クォーテーションを正確に記述できる
  • NOT演算子の組み合わせ:Not Between・Not Like・Not Inの位置と構文を正確に書ける
  • パラメータ構文:[メッセージ]の角かっこ記法でパラメータを設定できる。Likeとの組み合わせでは&演算子による文字列連結が必要
  • ANDとORの配置ルール:デザインビューで同一行がAND、異なる行がORになることを理解している

MOS試験 抽出条件チェックリスト

確認ポイント操作内容難易度
Between日付範囲の入力Between #2026/1/1# And #2026/3/31# を正しく入力できる★★☆
Between数値範囲の入力Between 1000 And 5000 を正しく入力できる★☆☆
Not Betweenで範囲外抽出Not Between…And を正しく組み立てられる★★☆
Like前方一致・部分一致Like “東京*” と Like “*田*” を使い分けられる★★☆
Like ?の1文字一致“田?”で田中・田村(2文字)のみ、田口一郎(4文字)は除外されることを理解する★★☆
Inリスト条件の入力In(“東京”,”大阪”,”名古屋”) を括弧・カンマ・クォーテーション込みで正確に入力できる★★☆
Not Inで除外リストNot In(“値1″,”値2”) を正しく入力できる★★☆
AND条件の行配置複数フィールドに同一抽出条件行で条件を設定するとAND結合になることを把握している★☆☆
OR条件の行配置「または」行を使うとOR結合になることを把握している★☆☆
パラメータとLikeの組み合わせLike “*” & [パラメータ] & “*” の& 演算子連結構文を正確に書ける★★★

まとめ:Between・Like・Inで「欲しいデータだけ」を取り出す

本記事のポイントをまとめます。

  • Between…And:日付・数値の範囲絞り込みに使う。両端の値を含む(以上・以下)。Between #2026/1/1# And #2026/3/31# のように日付は#で囲む。Not Betweenで範囲外を抽出できる
  • Like:文字列のパターン一致に使う。ワイルドカードは5種類(*・?・#・[ ]・[! ])。前方一致はLike "東京*"、部分一致はLike "*田*"。Not Likeで除外検索
  • In:複数値のリスト一致に使う。In("値1","値2","値3")で複数のOrをまとめて記述できる。Not Inで除外リストを指定
  • パラメータとの組み合わせ:[角かっこのメッセージ]でパラメータを設定。Likeとの組み合わせはLike "*" & [パラメータ] & "*"の形式で&演算子を使う
  • AND/ORの配置ルール:デザインビューで同一行の異フィールドがAND、同一フィールドの「または」行がOR。この配置ルールがクエリ動作の核心
  • Null処理:未入力フィールドはIs Null / Is Not NullでチェックしてからBetween・Like・Inと組み合わせる。Nullは=””と異なる
  • MOS試験の核心:各演算子の構文の細部(#の有無・クォーテーションの要否・&演算子の位置)と、ANDとOR条件の行配置ルールの理解が得点のカギ

Between・Like・Inを使いこなすと、「絞り込みのたびにデータシートを手動でスクロールして確認する」「条件が変わるたびにクエリを作り直す」手間がなくなります。パラメータと組み合わせれば同じクエリを流用しながら条件だけを変えられるため、月次レポートや定期集計の効率が大幅に上がります。MOS試験に向けては各演算子の細かな構文差異(特にLikeの&連結とInの括弧)を実際に手を動かして確認することが近道です。

PR

Microsoft Copilot for Microsoft 365活用大全

Accessを含むMicrosoft 365全体のアプリ活用を解説する実践書。Copilotによる自然言語でのデータ操作やクエリ生成の使い方も収録しており、本記事で学んだ抽出条件の考え方をAI活用で発展させたい方に最適です。

PR

MOS Excel 365 対策テキスト&問題集

Microsoft Office Specialist試験の出題パターンと実技演習を収録した定番問題集。本記事のようなAccessクエリ条件式の論理を応用しながら、Excel関数・ピボットテーブル・グラフなどMOS試験全域の対策が体系的に進められます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次