
#11 Excelより簡単なAccessのあいまい条件で抽出する方法
Excelユーザー必見!Accessクエリで業務効率を飛躍的に向上させる方法を、図解入りでわかりやすく解説中。
必ずチェックして、業務を効率化しよう!
前回の語句の完全一致抽出につづき、あいまい語句の抽出について説明します。
サンプルデータは今回も#1で解説したExcel表をインポートしたテーブル「Accessクエリサンプル」を用います。
1.一部の文字が含まれるワードを抽出(曖昧抽出)
例題1:
住所に「文京区」が含まれるものを抽出してください。
抽出項目は「氏名」、「郵便番号」、「文京区」の3列を表示します。
抽出イメージ

それでは抽出作業にはいりましょう。

氏名、郵便番号、住所をフィールドにドラッグします。

住所の抽出条件を「*文京区*」と、アスタリスク(*)で抽出語句を囲います。

文中に「文京区」を含むレコードが抽出されました!
抽出するワードを*(アスタリスク)で囲むと、データ内に含まれる特定のワードを検索し、抽出することができます。
たとえば、「株式会社サンプル」、「サンプル株式会社」、あるいは「サンプル有限会社」といったバリエーションを考えると、正確な記憶がない場合でも「サンプルという名前の会社」のデータを見つけ出せます。
また、長大な名前を正確に入力するのが難しい場合には、あいまいな検索が大いに役立ちます。
あいまい検索は、ワイルドカードとしても知られています。
ワイルドカードは「*(アスタリスク)」以外にもさまざまな記号を使えるオプションがありますが、実際にはアスタリスクが最も一般的に使用されます。
ですので、アスタリスクさえ覚えておけばほとんどのあいまい抽出は大丈夫です。
2.先頭文字が分かっている場合のあいまい検索
例題2:
山本さんが勤務している会社名を抽出してください。
抽出項目は「氏名」、「会社名」の2列です。
完成イメージ

それでは抽出してみましょう。
デザインビュー画面でさきほどの抽出条件をリセットしておいてください。

氏名の「山本*」を抽出条件に指定します。
さきほどの抽出方法と違うのは検索文字の右側にしか*が存在しないことです。

カーソルを移動すると自動的にLikeが付与されます

画面左上の表示または実行をクリック

「山本」から始まる2レコードが抽出されました。
最初の抽出は「*文京区*」、こんどは「山本*」を抽出条件にしました。
先ほどのワイルドカードと異なる点は、アスタリスクが1つだけ使用されていることです。
文章の冒頭が「山本」さんであることはわかっているので、未知の部分、つまり「山本」の右側をワイルドカードで指定しています。
抽出セルの先頭がわかっている場合は「検索ワード*」で検索、文中のどこかに検索対象の文字がある場合は「*検索ワード*」で抽出します。
例題3:
氏名が「由佳」さんを抽出してください。
「氏名」、「氏名(ひらがな)」、「性別」の3項目を表示します。
文字にワイルドカード「*花子」を使うことで、苗字の部分が分からなくても「田中花子」さんなどを簡単に抽出できます。
では正解イメージ↓

抽出をしてみましょう。

表示項目3列をフィールドにドラッグします。

氏名の抽出条件に「*由佳」を指定します。

表示または実行をクリック

由佳さんのレコードが抽出されました。
例えば、製品番号の記号配列が特定の意味を持つ場合、ワイルドカードの「片側ワイルドカード」が大いに役立ちます。
製品番号「AA1111_a」の場合、AAを含むすべての製品群を抽出するには「AA*」、1111を含むすべての製品モデルを抽出するには「*1111*」、末尾aを含むすべての型式を抽出するには「*a」という具体例があります。
今回はワード抽出の4方法を解説しました。
おさらいしましょう。
・「*検索ワード*」→セルの中に「検索ワード」を含むもの
・「検索ワード*」→先頭文字が「検索ワード」で始まるもの
・「*検索ワード」→末尾文字が「検索ワード」で終わるもの
・*(アスタリスク)なし→完全一致する語句
次回はもうちょっと語句抽出について深堀解説してみますね。
特定位置の文字検索はこちらを参照ください。
今回の説明を含む、現場で使えるAccess基本クエリ22選をまとめました。Excelでは難しいデータ抽出の基本になります。
ぜひともご活用ください。