あいまい検索を使っての置換で大量データを処理する
今回は、Googleスプレッドシートの機能である「検索と置換」で、あいまい検索を使う方法をご紹介します。
※「検索と置換」の基本的な機能については下記記事をご覧ください。
「検索と置換」といえば、EXCELでもお馴染みの機能ですね(^o^)
ただ、Googleスプレッドシートの「検索と置換」には、EXCELの時に出来たことが出来ません。
それは、「ワイルドカード」を使ったあいまい検索です。
EXCELでは「*」や「?」といったワイルドカードという記号を使って、「愛知県」や「岐阜県」など、「◯◯県」にヒットさせたい場合「*県」と表記すれば検索出来ますが、Googleスプレッドシートでは、使えないんです。。。(;_;)
※EXCELでのワイルドカードを使ったあいまい検索については次の記事を参考にしてください。
どうしよう??と僕も戸惑った記憶があります。
もちろん、Googleスプレッドシートでもワイルドカードは使えませんが、やりたいことが出来ないわけではありません。
Googleスプレッドシートでは、ワイルドカードではなく、正規表現という方法を使って、あいまい検索を行います。
正規表現を使ったあいまい検索
それでは早速ですが、正規表現を使ったあいまい検索のやり方を紹介します。
次の、47都道府県の一覧をサンプルに説明します。
まずは、機能の場所です。
「検索と置換」は、「編集」メニューからか、ショートカットキーで「Ctrl + H」で出せます。
※後でも指定出来ますが、あらかじめ検索と置換をしたい範囲を選択した状態で行うと後が楽です。
※「検索と置換」の基礎が分からない方は次の記事を先に読んでください。
次のような、画面が出ますので、「正規表現を使用した検索」のチェックボックスにチェックを入れます。※「大文字小文字の区別」も自動的にチェックされます。
後は、次の図のように一番上のボックスに正規表現を入れるだけです。
試しに、「^山」と入力して、検索をしてみましょう。
動画で分かるように「山形県」「山梨県」「山口県」にヒットしています。
^山
この正規表現は、先頭が「山」なものという意味なので、その3県がヒットしました。
「県」で終わるというのは次です。
.*県$
これも動画で確認してみましょう。
「県」で終わるものがヒットしていますね。
このように、正規表現を使うことで色々なパターンのあいまい検索を実現出来ます。
EXCELの場合は、ワイルドカードしか使えないので、逆にGoogleスプレッドシートのが複雑なパターンマッチが可能ですね(^o^)
正規表現
正規表現を詳しく説明すると、超長くなってしまうと思いますので、基本的なものだけ紹介しておきます。
とりあえず簡単に正規表現を説明すると
ということです。
次のような記号を組み合わせて、色々なパターンを作って行きます。
記号 | 意味 | 正規表現の例 | マッチする文字列例 |
---|---|---|---|
. | 任意の1文字 | . | a , b, c なんでも |
? | 0回または1回の出現 | ab?cd | acd → 0回 abcd → 1回 |
* | 0回以上の繰り返しの出現 | ab*cd | acd → 0回 abcd → 1回 abbcd → 2回 abbbcd → 3回 abbbb・・・cd → 4回以上何回でも |
+ | 1回以上の繰り返しの出現 | ab+cd | abcd → 1回 abbcd → 2回 abbbcd → 3回 abbbb・・・cd → 4回以上何回でも |
{n} | n回の繰り返しの出現 | ab{3}cd | abbbcd → 3回 |
{n,} | n回以上の繰り返しの出現 | ab{3,}cd | abbbcd → 3回 abbbbcd → 4回 abbbbbcd → 5回 abbbbbb・・・cd → 5回以上何回でも |
{m,n} | n回以上m回以下の繰り返しの出現 | ab{3,4}cd | abbbcd → 3回 abbbbcd → 4回 |
^ | 文字列の先頭 | ^abcd | abcd~ → abcで始まる |
$ | 文字列の末尾 | abcd$ | ~abcd → abcdで終わる |
| | |の左側の文字列もしくは、|の右側の文字列 | a(b|c)d | abd acd |
\w | アルファベット、アンダーバー、数字 | ab\wcd | abgcd ab_cd ab9cd ab[a-zA-Z_0-9]cdと同じ |
\W | アルファベット、アンダーバー、数字以外の文字 | ab\Wcd | abあcd ab青cd ab[^a-zA-Z_0-9]cdと同じ |
\s | 空白文字(半角スペース,タブ,改行,キャリッジリターン) | ab\scd | ab cd ※半角スペース |
\S | 空白文字以外 | ab\Scd | abgcd ab9cd |
\d | 半角数字(0~9) | ab\dcd | ab8cd ab5cd |
\D | 半角数字以外 | ab\Dcd | abmcd abKcd |
[~] | ~のいずれかの1文字 | ab[cde]fg | abcfg abdfg abefg |
[^~] | ~のいずれの1文字にも一致しない | ab[^cde]fg | abafg abbfg abffg ab1fg |
こんな感じです。
過去の別の記事でも触れていますのでこちらも参考にしてください。
おまけ
よく使うかどうかは分かりませんが、「あいうえお【◯◯◯】」みたいなデータの「【◯◯◯】」部分だけ消し去る方法を紹介しときます。
サンプル
使う正規表現
【.*】
【】で囲われていて、中はどんな文字が、何文字あっても良いという意味です。
「すべて置換」を押すと。
【】記号を変えたりすれば応用も効きますね(^o^)
まとめ
正規表現を使った検索と置換について紹介しました!正規表現は奥深いので、まずは簡単なものからやってみてください(^o^)
コメント