0Pricing
Excel Formulas Academy · レッスン

REGEXMATCHでパターンを検証する

テキストがパターンに一致するかを確認し、TRUEまたはFALSEを返します。

「REGEXMATCHでパターンを検証する」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。

単純な検索よりパターンが優れている理由

特定の単語が1つあるかどうかだけを確認したいとは限りません。たとえば、このセルには数字が含まれているか、有効なメールアドレスの形式かといった、より柔軟な問いを調べたい場合があります。

正規表現(regex)は、テキストの形式を表す小さなパターン言語です。Google Sheetsでは、REGEXMATCH、REGEXEXTRACT、REGEXREPLACEという3つの関数を使って正規表現を利用できます。

このレッスンでは最初の関数に焦点を当てます。REGEXMATCHは、テキストがパターンに一致するかどうかを、単純に「はい」または「いいえ」で返します。

REGEXMATCHの構文

REGEXMATCHは、確認するテキストと、検索するパターンという2つの引数を受け取ります。テキスト内のどこかにパターンが見つかるとTRUEを、見つからない場合はFALSEを返します。

注:この関数はGoogle Sheetsに用意されています。Excelでは別のツールを使うため、ここではGoogle Sheetsを前提に説明します。

最も単純なパターンは、リテラルテキストの一部分です。次の数式は、セルA2にcatという単語が含まれているかを確認します。

=REGEXMATCH(A2, "cat")

大文字と小文字を区別して一致する

正規表現による一致では、デフォルトで大文字と小文字が区別されます。パターンcatは、テキストCATには一致しません。

どちらの大文字・小文字にも一致させるには、角括弧内に選択肢を並べます。[Cc]atはCatとcatの両方に一致します。

次の数式は、A2に最初の文字がどちらの大文字・小文字でもよいcatが含まれている場合にTRUEを返します。

=REGEXMATCH(A2, "[Cc]at")

アンカー:先頭と末尾

正規表現では、パターンがテキストのどこに位置する必要があるかを指定するアンカーを使えます。

  • ^はテキストの先頭を意味します
  • $はテキストの末尾を意味します

アンカーがなければ、どこか1か所で一致すれば該当します。アンカーを使うと位置を制御できます。次の数式は、A2がINVで始まる場合だけTRUEを返します。請求書コードの検出に便利です。

=REGEXMATCH(A2, "^INV")

数字用の文字クラス

文字クラスは、使用できる文字のグループを表します。最も一般的なショートカットは\dで、0から9までの任意の1桁の数字を意味します。

次のパターンは、A2のどこかに数字が少なくとも1つ含まれているかを確認します。+は1つ以上を意味するため、order7ではTRUE、helloではFALSEになります。

=REGEXMATCH(A2, "\d+")

実例:数字を含むセルを見つける

A列に商品名が入っているとします。Shirt 12のようにサイズを含むものもあれば、含まないものもあります。どのセルに数字が含まれているかを、TRUE/FALSEのフラグで示したいとします。

次の数式をB列に下方向へコピーしてください。数字を1つでも含む行にはTRUEが表示され、テキストだけの行にはFALSEが表示されます。その列を基準にフィルタリングできます。

=REGEXMATCH(A2, "\d")

繰り返し使える代表的なクラス

いくつかのショートカットで、ほとんどの用途に対応できます。

  • \d任意の数字
  • \w任意の英字、数字、またはアンダースコア
  • \sスペースやタブなど、任意の空白文字
  • .任意の1文字

独自の文字クラスを作ることもできます。[A-Z]は任意の大文字、[a-z]は任意の小文字を意味します。次の数式は、A2に大文字が含まれているかを確認します。

=REGEXMATCH(A2, "[A-Z]")

量指定子で個数を制御する

量指定子は、その直前の要素が何回繰り返されるかを指定します。

  • +1つ以上
  • *0個以上
  • ?0個または1個(省略可能)
  • {3}ちょうど3個

A2が先頭から末尾まで5桁のZIPコードかどうかを確認するには、次のようにアンカーと、個数を正確に指定する量指定子を組み合わせます。

=REGEXMATCH(A2, "^\d{5}$")

実例:メールアドレスの形式を検証する

メールアドレスのように見えるセルにフラグを付けることができます。大まかですが実用的なパターンは、いくつかの文字、@、さらにいくつかの文字、ドット、そして2文字ほどの英字という構成です。

次の数式は、sam@site.comではTRUEを、not-an-emailではFALSEを返します。完全な検証ではありませんが、連絡先リストにある明らかな誤りを見つけられます。

=REGEXMATCH(A2, "^[\w.]+@[\w.]+\.\w{2,}$")

REGEXMATCHとIFを組み合わせる

REGEXMATCHはTRUEまたはFALSEを返すため、そのままIFに組み込めます。これにより、単なる真偽値ではなく、わかりやすいメッセージを表示できます。

次の数式は、数字を含むかどうかに応じて、各セルにHas numberまたはText onlyというラベルを付けます。

=IF(REGEXMATCH(A2, "\d"), "Has number", "Text only")

特殊文字をエスケープする

正規表現では、いくつかの文字が特殊な意味を持ちます。. + * ? ( ) [ ] ^ $ \などです。これらの文字そのものに一致させたい場合は、前にバックスラッシュを置きます。

ドットそのものを確認するには、単なる.ではなく\.と記述します。単なる.は任意の文字に一致するためです。次の数式は、A2に実際にピリオドが含まれている場合だけTRUEを返します。

=REGEXMATCH(A2, "\.")

理解度チェック

REGEXMATCHとパターンの理解度を確認しましょう。

振り返り:パターンで「はい」または「いいえ」

REGEXMATCH(text, pattern)は、Google SheetsでTRUEまたはFALSEを返すことを学びました。重要なポイントは次のとおりです。

  • パターンは、単なる完全一致の単語ではなく、テキストの形式を表します
  • \d \w \s .は便利な文字のショートカットです
  • ^と$は先頭と末尾を指定します
  • + * ? {n}は要素の繰り返し回数を制御します
  • \.のように特殊文字をエスケープすると、その文字そのものに一致させられます

次は、パターンを検証する段階から、一致したテキストをREGEXEXTRACTで取り出す段階へ進みます。

よくある質問

「REGEXMATCHでパターンを検証する」レッスンは無料ですか?

はい。「REGEXMATCHでパターンを検証する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。

「REGEXMATCHでパターンを検証する」で何を学びますか?

テキストがパターンに一致するかを確認し、TRUEまたはFALSEを返します。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Excel Formulas Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「REGEXMATCHでパターンを検証する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このExcel Formulas Academyレッスンでコードを書いて実行できますか?

はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. REGEXMATCHでパターンを検証する
  2. REGEXEXTRACTでパターンを取り出す
  3. REGEXREPLACEでパターンを置換する
  4. 乱雑なデータを分割して整える
← Excel Formulas Academyに戻る