データ分析の豆知識を簡潔説明 -ワイルドカードの基本と曖昧検索-
初心者の皆さんに向けて、知っておくと便利な豆知識をシンプルにお届けします。
細かい話をするとどうしても文章が長くなったり、焦点がずれてしまうことがあるため、
ここではできるだけ簡略化して簡潔解説します。
ただし、厳密には異なる点があるかもしれませんが、その点はどうかご容赦ください。
もっと身近に感じてもらえたら幸いです。
ワイルドカードに焦点を当てます。
ワイルドカードとは
ワイルドカードは、正規表現の一種であり、文字列のパターンマッチングに使用されます。
ワイルドカードを使用することで、曖昧な文字列の検索も可能になります
正規表現とは
正規表現 (Regular Expression) は、文字列にマッチするパターンを表現するために使われる言語のことです。
正規表現を使うことで、文字列内に特定のパターンが含まれているかどうかを確認したり、文字列の抽出、置換、分割などを行うことができます。
正規表現は、プログラミング言語やテキストエディタなど多くのソフトウェアに組み込まれています。
正規表現とワイルドカードの関係
ワイルドカードには、「*」や「?」などの記法がある
- 「?」は、任意の一文字に一致することを示す
- 「*」は、「任意の文字列」を示す。「?」が任意の一文字であるのに対して、「*」は文字数制限がない
- 意訳すれば「0文字」から「任意の文字数」まで一致することができる
では、ワイルドカードの検索とは
- ワイルドカードを使用しない場合は、完全一致検索
- ワイルドカードを使用した場合は、曖昧検索
ワイルドカードの記法
「部分一致」「前方一致」「後方一致」の各ワイルドカード検索パターンにおいて、
ワイルドカード「*」が任意の文字数に、「?」が任意の1文字にマッチする場合について説明します。
ワイルドカードには主に以下の2つの記号が使われます。
- 「*」は任意の文字列を表します。つまり、0文字から任意の長さの文字列に一致します。
- 「?」は任意の1文字を表します。ちょうど1文字分の文字にのみ一致します。
それでは、具体例を挙げながら両者の違いを確認していきましょう。
- 【部分一致の例】
- 「東京」:「東京駅」「東京タワー」のように、「東京」を含む文字列全てにマッチ
- 「?東京」:「1東京」「A東京」のように、「東京」の前が1文字の文字列にマッチ
- 【前方一致の例】
- 「東京*」:「東京都」「東京家族」のように、「東京」で始まる文字列全てにマッチ
- 「東京?」:「東京A」「東京1」のように、「東京」の後が1文字の文字列にマッチ
- 【後方一致の例】
- 「*東京」:「新東京」「首都東京」のように、「東京」で終わる文字列全てにマッチ
- 「??東京」:「AB東京」「12東京」のように、「東京」の前が2文字の文字列にマッチ
このように、「*」と「?」を使い分けることで、検索パターンをより詳細に指定できます。
これらのワイルドカードは、データの検索・置換やフィルタリングに非常に便利です。
さらに、関数の引数に使うことで、特定の条件に一致するデータの集計や抽出などもできます。
例えば、ExcelのSUMIF関数やCOUNTIF関数にワイルドカードを組み合わせ、特定の条件を満たすセルの合計や個数を計算できます。
最後に
このように、ワイルドカードを使用することで、曖昧な文字列の検索も可能になります。
MATCH関数を使用することで、データの抽出や検索を効率的に行うことができます。
この記事では、ワイルドカードを使用したMATCH関数の例を紹介しましたが、
ワイルドカードを使用した例は、MATCH関数だけでなく、いくつも存在します。
基本は上記の考えを応用すればいいだけです。追々、取り上げていきたいと考えています。
- VLOOKUP関数:値を検索するために列内の検索を行います。
- INDEX関数:指定された位置にある値を返します。
- HLOOKUP関数:行内の検索を行い、値を検索します。
- IF関数:特定の条件に基づいて値を返すために使用されます。
- SUMIF関数:特定の条件に一致する値の合計を返すために使用されます。
これらの関数は、いずれもExcel関数の中でも使用頻度が高い関数の一つですので、是非使用してみてください。
解答付きサンプルデータ
解答付きサンプルデータが欲しい方は、下記からダウンロードしてください。
なお、オリジナルデータから一部改変しています。
参考記事:
Excel関数を操作するための基本概念です。基本概念を理解すると、各関数の理解がより深まります。
構文に関する記事
Excel関数の引数と戻り値は何だっけ?という時に、役立つ記事です。
ダイアログボックスの使い方に関する記事
Excel関数名は何だっけ?VLOOKUP関数の使い方は何だっけ?という時に、ダイアログボックスを使うと便利です。
下記はそのダイアログボックスに関する記事です。
参照形式に関する記事
関数式をコピーする時はどうしたらいい? $マークは、どう付けたらいいだろう?
といった悩みをお持ちの方は以下をご覧ください。