見出し画像

#12 Excelよりラク楽 Accessの OR(または)抽出 

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

前回は、1つのワードと一致する語句の抽出方法を説明しました。
今回は複数の条件で検索する方法を説明します。

Excelのフィルタ機能は、複数条件でのデータの絞り込みを行う際、操作のちょっとした間違いで意図しない絞り込みミスを招くことがあります。
しかし、Accessでは条件が明確に示されるため、直感的に複数条件でのデータ抽出が可能です。
そのため、誤った絞り込みを心配することなく、スムーズに作業を進められるのが魅力ですね。

#1でインポートしたExcel表テーブルを今回も利用します。

1.OR条件 文京区または中央区だけを抽出

例題1:
「住所」が"文京区"または"中央区"の人だけを抽出してください。
抽出項目は、「氏名」、「電話番号」、「住所」の3項目です。

文京区または中央区の人を抽出します。
まずは、結果イメージ

住所が"文京区"または"中央区"の7レコードが抽出されました

これは"AまたはB"の、抽出方法です。

いつものように新規にクエリデザイン画面を作成します。

「作成」タブから「クエリデザイン」をクリック


「追加」クリック。「閉じる」でウィンドウクローズ


「氏名」、「電話番号」、「住所」をテーブルからドラッグします。


「抽出条件」行にあいまい検索「*文京区*」を入力

カーソルを「* 文京区*」 のセルから別の場所に移動すると、自動的に「Like "文京区"」に変換されます。
1行下の「または」行に「*中央区*」を入力します

カーソルを「* 中央区*」 のセルから別の場所に移動すると、自動的に「Like "中央区"」に変換されます。特に気にすることはありません。

抽出条件に2つの条件を指定しました。
「または」の抽出指定となります。

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


文京区と中央区を含む2つの地区が抽出されました。


例題2:
上の抽出条件に住所が 「港区」 または 「葛飾区」を追加抽出してください。

"AまたはBまたはCまたはD"のように、"または"の条件を複数続けることも出来ます。

回答イメージ

「葛飾区」と「港区」が追加抽出されました

それでは抽出してみましょう。
デザインビューでまずは港区を抽出します

抽出条件の3行目に「*港区*」を追記します

抽出条件の4行目に「*葛飾区*」を追記します。
1行上の「*港区*」の抽出構文が自動的に「Like "*港区*"」に変換されました。

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


2つの区が追加抽出されました

「または」は、2つの条件以上を指定可能です。
今回のように、「港区」と「葛飾区」を条件追加したい場合は、「*中央区*」の下の行に「*港区*」、さらにその下の行に「*葛飾区*」を追加します。


例題3:
住所が「文京区 または 中央区 または 港区 または 葛飾区」を"OR"を使って抽出してください。

例題2と同じ抽出を別のやり方でやってみましょう。
たくさんの抽出ワードを抽出条件で書くとたくさんの抽出行を下に下にと続けて記述しないといけません。
抽出セル1つに複数のワードをORで繋げることで簡潔な抽出文が作成できます。

抽出文字を"or"でつなげて1つの抽出条件としました

抽出条件に「*文京区* or *中央区* or *港区* or *葛飾区*」と入力します。

条件を指定する際に、orを使用する抽出条件では、orの前後には半角スペースを置いてください。
全角のスペースを使用すると、Accessが判断を誤ってしまい、正しく抽出されないので、ご注意ください。
orは、OR でも orでも半角文字であれば大文字・小文字どちらを使ってもOKです。全角のORはNGですよ。


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

例題2と同じ結果が出ました。

複数の抽出ワードを「または」でスッキリと検索したい場合、ORを使うことでわかりやすく便利です。


2.やってしまいがちなミス

ORの前後に半角スペースではなく全角スペースを誤って入力してしまうと、ミスが起こる可能性もありますのでご注意ください。
たとえばこんな例です。

この例では*文京区*の次のスペースが全角になっています。

カーソルを置くと、Likeに自動変換されます。

Likeを""で囲んでいる文字が *文京区* or *中央区*"となっています。文京区*の次の文字が全角スペースですね。
""で文が囲われていますので、文京区または中央区を抽出する、ではなく「*文京区* or *中央区*」という語句を1つの文字としてAccessが認識してしまっているのです。
ちなみに続く港区と葛飾区はそれぞれLikeが先頭にあるので正しい検索対象となります。

"文京区と中央区"を1つの検索文字として扱ってしまったのは、半角スペースを使わなかったために起きたものです。
このため、Likeの範囲を誤って認識してしまったのです。
これでは「*文京区 or 中央区*」という文字のかたまり
と完全一致するものを抽出してください、とAccessに問い合わせしていることになります。

◆Tips
抽出構文を長く入力すると、どこにミスがあるのかわかりにくくなることがあります。
ミスを防ぐためには、最初にテキストエディター(たとえばメモ帳)で構文を書いてから、それをコピーしてAccessの抽出条件欄に貼り付けることがおすすめです。

最初にメモ帳に構文を書いて、コピーしてAccessにペーストすると間違いが少ないです

次回はAND条件について解説します。
お楽しみに!







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