こんにちは。ひとりで.comです。
今日はGoogleスプレッドシートの検索と置換機能について紹介したいと思います。Googleスプレッドシート内のデータが増えてくると、自分の探したい文字列がそのスプレッドシート内に入っているか否かがだんだんわからなくなってきます。そういった際は、スプレッドシートの機能のひとつである、「検索と置換」の機能を使って、文字列を検索することができます。
スプレッドシートの検索と置換
スプレッドシートの検索と置換は非常に簡単です。ただし、どの範囲を検索(置換)するのか、を間違えると本当はスプレッドシート内に対象とする文字列があるにも関わらず、検索にひっかからない事もあります。使い方を正しく理解した上で活用するようにしてください。
なお、数式内の置換について、以下の記事にて詳細を説明しています。
【目次】
基本的な検索と置換のやり方
まず、メニューバーから[編集]を選び、その中にある[検索と置換]を選びます。
すると、以下のような画面が表示されます。こちらに検索したい文字列を入力していきます。
[検索]の部分に調べたい用語を入れ、左下の検索ボタンを押すことによって、該当の文字列を含むセルにジャンプすることができます。
また、検索にあたって、いくつか条件設定することができますので、そちらも紹介します。
検索(置換)の範囲を指定
どの範囲を検索するの、の検索する範囲を指定することができます。
・全てのシート
・このシート
・特定の範囲
の3つの分類にて可能です。対象とする範囲が決まっている場合は。こちらを選択した上で検索(置換)を行ってください。
検索(置換)のパターンを指定
検索(置換)のパターンを指定することができます。該当するものがある場合はチェックボックスにチェックを入れる必要があります。
・大文字と小文字の区別
∟特にアルファベットで記載されているシートなどは大文字小文字の区別をした上で検索(置換)したい場合、こちらにチェックを入れます。
・完全に一致するセルを検索
∟例えば「犬」と検索した場合、「子犬」と入っているセルについては検索(置換)対象とはなりません。
・正規表現を使用した検索*
∟難しいので後ほど詳しく説明します。
・数式内も検索
∟デフォルトの検索(置換)では数式内は検索されず、数式の結果が表示されます。従って、数式内にあるものも検索対象にしたい場合はこちらにチェックを入れる必要があります。
*正規表現を使用した検索
正規表現を使用してスプレッドシート内のデータを検索する
正規表現を使用すると、特定の文字、数字、語句、文字のパターンといった文字列を検索できます。正規表現は、特定の検索キーワードに限定せずに検索できるので、パターンを検索する際に特に便利で、指定した正規表現に一致するパターンが返されます。
検索と置換機能で正規表現を使用するには、[検索] ボックスに正規表現を入力し、[正規表現を使用した検索] をオンにします。
正規表現で使用する語句
注: Google のサービスでは RE2 の正規表現を使用しており、下記にその一部を紹介します。RE2 の全リストと詳しい使い方については、RE2 正規表現のページをご覧ください。また、下記の例は、検索と置換の検索条件により異なる場合があります。たとえば、[大文字と小文字の区別] のボックスをオフにした場合は異なる例が返されます。下記の例では、[大文字と小文字の区別] のチェックボックスをオンにし、[完全に一致するセルを検索] のチェックボックスをオフにした場合の結果を示しています。
正規表現 | 説明 | 例 | 一致する | 一致しない |
---|---|---|---|---|
. | ピリオドは、この位置にある任意の文字を表します。 | d. | do、dog、dg、ads | fog、jog |
* | 文字の後のアスタリスクは、直前の文字を 0 回以上繰り返す文字列の検索を意味します。 | do*g | dog、dg、dooog | dOg、doug |
+ | 文字の後のプラス記号は、直前の文字を 1 回以上繰り返す文字列の検索を意味します。 | do+g | dog, dooog | dg、dOg、doug |
? | 直前の文字を含まない文字列も返されます。 | do?g | dg、dog | dOg、doug |
^ | キャレットは、正規表現の先頭に挿入して使用し、文字列がキャレットの直後の文字またはシーケンスで始まることを表します。 | ^[dh]og | dog, hog | A dog、his hog |
$ | ドル記号は、正規表現の末尾に配置して使用し、文字列が直前の文字またはシーケンスで終わることを表します。 | [dh]og$ | dog、hog、hot dog | dogs、hogs、doggy |
{A, B} | 直前の語句を A~B 回繰り返します(A、B は数値)。 | d(o{1,2})g | dog、doog | dg, dooog, dOg |
[x]、[xa]、[xa5] | 文字セットの中の 1 つの文字のみがその位置で使用されることを示します。通常、角括弧の中には、上記の正規表現で使用している文字など、どのような文字でも使用できます(例: [xa,$5Gg.]) | d[ou]g | dog、dug | dg、dOg、dooog |
[a-z] | 指定の範囲内の文字をその位置で使用した語句を検索します。一般的な範囲として、a~z、A~Z、0~9 などがあり、複数の範囲を組み合わせて 1 つの範囲とすることもできます(例: [a-zA-Z0-9])。また、上記の文字セットと組み合わせることもできます(例: [a-zA-Z,&*])。 | d[o-u]g | dog、dug、dpg、drg | dg, dOg, dag |
[^a-fDEF] | ^ で始まる文字セットは、指定の文字セットにない文字の検索を意味します。 | d[^aeu]g | dog、dOg、dig、d$g | dg、dag、deg、dug |
\s | 空白文字を表します。 | d\sg | d g、d[TAB]g | dg、dog、doug |
注: 正規表現で特定の意味を持つ文字(「^」や「$」など)の実際のインスタンスを検索する場合は、検索クエリでその文字の前にバックスラッシュを付けて「エスケープ」させる必要があります。たとえば、「$」の文字のインスタンスを検索する場合は「\$」と入力します。
スプレッドシートの検索で正規表現を使用する方法の例を下記にいくつか示します。
ドルの金額を含むセルを検索する
検索バーに次のように入力します: ^\$([0-9,]+)?[.][0-9]+
この正規表現では、最初の数は 0~9 またはカンマが 0 回以上繰り返される数で、続いてピリオド(.)、次に 0~9 の数が 0 回以上繰り返されます。この検索では、次のような文字列が返されます: $4.666、$17.86、$7.76、$.54、$900,001.00、$523,877、231.56
米国の郵便番号を含むセルを検索する
検索バーに次のように入力します: [0-9]{5}(-[0-9]{4})?
5 つの数字を持つか、それに続くハイフンと 4 つの数字を持つ米国の郵便番号が返されます。
小文字で始まる名前を含むセルを検索する
検索バーに次のように入力します: ^[a-z].*
この正規表現は、小文字とそれに続く 0 個以上の文字を含む文字列を表します。この検索では、bob、jim、gEORGE、marTin のような文字列が返されます。
検索(置換)はもちろん関数を使って表現することも可能ですが、スプレッドシート内の文字列を検索(置換)する場合は上記の方法が1番便利です。