見出し画像

#19【ExcelからAccess移行で仕事改革】”<>”使ってNotみたいな語句除外

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

前回までは不等号を使った、~より上・下、以上・以下そして範囲抽出のBetweenの抽出を解説しました。


今回はNot抽出のもうひとつのパターンである<>を使った「~ではない」抽出を解説します。

Not抽出のおさらい↓



サンプルデータは引き続き#1で解説したExcel表のインポートテーブル「Accessクエリサンプル」を利用します。

1.<> 等しくない

<>(ノットイコール)'を使うと、'等しくない'というNotと同じような条件設定ができます。
例えば、'< >20'と'Not 20'は同じ結果を抽出します。

Accessでは、抽出条件にNotを使った場合、自動的に'<>'に変換されることがあります。
'< >'を使うと、大きなデータを処理する場合にクエリの実行が迅速になることがあります。
ですが、普段のデータ処理では、'〜ではない'を抽出する場合はNotを使うだけで十分。
Accessが自動的に<>に変換されたら(保存したクエリを開くとNotで入力したにも関わらず、<>が勝手についていることがあります)、Accessがその辺りを手伝ってくれているんだと思ってくださいね。

例1:<>を利用して、性別が「男でない」を抽出してください。
「氏名」、「性別」、「住所」の3項目を表示します。

結果イメージ

女性だけが表示されました。

それでは実際に抽出してみましょう。
デザインビューで「Accessクエリサンプル」テーブルの氏名、性別、住所の3項目を配置します。

「Not 男」と同じ意味になる「<>男」を入力します。


左上の「表示」または「実行!」クリック


抽出できました!



例2:
<>を利用して、性別が「男でない」かつ、「住所」が"東京"以外を抽出してください。
「氏名」、「性別」、「住所」の3項目を表示します。

上で使った条件を再利用しましょう。
左上「表示」をクリックしてデザインビューに戻ります。

次の構文を利用できると思います。

"東京"を含む住所をあいまい検索します。
*を使うと、「<>東京*」でいいと思います。


しかし、実行してみると…

「表示」または「実行!」をクリック

東京が除外されません!!
住所から"東京"を含む行が除外されませんでした。

Accessでは、あいまい検索を行うために<>演算子は使用できません。
<>演算子は等しくないことを表すためのものであり、ワイルドカード(例えば*)と一緒に使ってあいまい検索を行うことはできません。

東京都を含む住所を除外するためには、別の方法を使用する必要があります。
例えば、Not Like "東京*"といった条件を使って、"東京"で始まる住所を除外することができます。
Not Likeを使うことで、特定のパターンに一致するもの以外を抽出できます。

Notを使って東京を含む住所除外をやり直しましょう。
デザインビューに戻って次の抽出文を入力します。

Notと*であいまい検索を行います

"Not 東京*"を入力します。

左上の「表示」または「実行!」クリック


先頭行に「東京」を含む住所が除外されました。
Notと<>の使い方の違いを理解しましょう。

おさらい。
曖昧抽出の方法↓


2.<>をつかう利点


違いと使い分け

  • Not演算子はより汎用的であり、あらゆる条件式を否定することができます。例えば、Not ([年齢] > 10)のように「10歳以上ではない」など複雑な条件の否定も可能です。

  • <>演算子は、単に「等しくない」ことを示すための専用の比較演算子です。


<>を利用する場合の利点

  1. 明確さ: <>は「等しくない」という意味が直接的に分かりやすいため、読みやすく、コードの可読性が向上します。

    • 例: [年齢] <> 10 は、直感的に「年齢が10ではない」ことを示します。

  2. シンプルさ: <>は単純な不等式を表現するために特化しており、書式が簡潔です。これは、条件が複雑でない場合に特に有用です。

    • 例: Not [年齢] = 10 よりも [年齢] <> 10 の方が短く簡潔です。

  3. パフォーマンス: <>を使用する方がNotよりも効率的に高速に処理される場合があります。これは、Not演算子がより一般的な否定条件を評価するために追加の処理が必要になる可能性があるためです。


結論
Notと<>はどちらも否定を表現するために使いますが、<>は特に「等しくない」ことを表現するために最適化されています。
読みやすさや簡潔さ、パフォーマンスの観点から、単純な「等しくない」条件を記述する場合には<>を使うのが良い選択です。

ですが、「この場合は<>、この場合はNot」など都度考えるのは面倒ですので、常にNotを用いるのがベターだと思います。
PCの速度が遅い場合など、Not抽出にやたら時間がかかる場合に<>を用いることを考慮する、ぐらいで良いと思います。


今回はNotと<>の使い方の違いを解説しました。


今回の説明を含む、現場で使えるAccess基本クエリ22選をまとめました。Excelでは難しいデータ抽出の基本になります。
ぜひともご活用ください。


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