見出し画像

#15 Excel脱却!AccessのNot演算子で「○○以外」の複雑な条件抽出にチャレンジ!

Excelユーザー必見!Accessクエリで業務効率を飛躍的に向上させる方法を、図解入りでわかりやすく解説中。
必ずチェックして、業務を効率化しよう!

今回も"Not"を抽出条件に加えて、指定したワード”以外”を抽出します。
前回よりももっと複雑な例題を解いていきましょう!

前回説明のNot演算子の基礎


サンプルは#1でインポートしたテーブル「Accessクエリサンプル」を引き続き用います。


1.複合的な抽出条件にチャレンジ

例題:
男性で東京・神奈川・埼玉以外の住所、かつ、メールアドレスの末尾が"@example.co.jp"でない、を抽出してください。
表示する列は、「氏名」、「性別」、「住所」、「年齢」、「メールアドレス」の4つです。
なお、年齢の若い順に表示してください。

完成イメージ

デザインビューにして抽出をしてみましょう。


「Accessクエリサンプル」をデザインビューで開きます。
作成タブ、クエリデザインから表示されるウィンドウから「Accessクエリサンプル」を選択します(または上図のとおり、クエリデザインウィンドウで左のテーブル「Accessクエリサンプル」を右のフィールドへドラッグ。


テープルから表示する5項目「氏名」、「性別」、「住所」、「年齢」、「メールアドレス」をフィールドにドラッグします。

抽出にとりかかりますが、抽出条件がいちばん簡単そうな性別からやってみましょう。

「性別」の抽出条件に"男"を指定します。
表示して確認してみます

画面左上の表示または、実行アイコンをクリック

男だけが抽出されていますね。

左上の表示をクリックしてデザインビューに戻ります。

表示アイコンクリック

次にメールアドレスが"@example.co.jp"以外を抽出します。
"co.jp"は個人利用中心のドメイン名の一部になります。
出題意図は、個人利用以外の、法人や公益法人などのメールアドレスを抽出することです。


「メールアドレス」の抽出条件に「not *@example.co.jp」を入力します。

「@example.co.jp"以外を抽出する」は次の考え方になります。

1. まずは"@example.co.jp"で終わるアドレスを考えます。
@以降の末尾文字は決定していますので、@より前の部分をあいまいにすればいいのですね。
"*@example.co.jp"と@の前にアスタリスク(*)を加えることで@より前がどんな名前でも抽出されます。

2."*@example.co.jp"以外,つまり「*@example.co.jp」でない、を抽出すればいいので、Notを一番先頭に加えます。
Not *@example.co.jp」
Notの後には半角スペースを置きます。


つぎに東京・神奈川・埼玉以外を抽出します。
せっかくなのでNot()の構文を使います。

「住所」の抽出条件「not(東京* or 神奈川* or 埼玉*」を入力します。

1.「東京・神奈川・埼玉」どれかを含むものを考えます
「東京 or 神奈川 or 埼玉」で1都2県を全て抽出対象にすることができます。

2.次にNot()構文を加えます
Not()は、括弧の中の条件を反転させる、でしたね。
つまり、「東京 or 神奈川 or 埼玉」をすべて含まない、と考えればいいので抽出条件は、
not(東京* or 神奈川* or 埼玉) になります。

いったん「表示」または「実行」をクリックしてうまく抽出されているかチェックしてみますね

東京・神奈川・埼玉は除外されました。大丈夫ですね。

デザインビューに戻ります。
最後に年齢の若い順に整列します。
若い順なので「昇順」ですね。

「並び替え」をプルダウンから「昇順」にします。


はい、完成しました!

性別は男性のみ、
メールアドレスは@example.co.jp"以外
住所が東京・埼玉・神奈川以外
年齢は昇順表示となりました。

◆Tips
抽出条件が複数の項目になると、思っていた条件とは違うデータが抽出されてしまうことがよくあります。
そうなると間違った抽出条件を見つけるのにたいへんな時間と労力がかかってしまいます。

これを防ぐため、1つの抽出条件を入力したら表示または実行で抽出結果を確認し、2つ目の条件を入力したら再度確認する、というステップを意識すると良いですね。
Accessに慣れてきても、ミスを完全になくすことは難しいですが、抽出条件を入力するたびに結果を「表示」してチェックすることで、最小限の労力でミスを見つけられるようになります。

この記事が気に入ったらサポートをしてみませんか?