閉じる

Excelの正規表現とは?Copilotの「[0-9]」や「¥.」の意味と使い方

CopilotがExcelの数式に含めた[0-9]や\.を見て、見慣れない記号に戸惑ったことはありませんか。

これらは「正規表現」で使われる記号で、文字列の中から特定のパターンを見つけたり、抜き出したり、置き換えたりするためのものです。

正規表現の基本を知っておけば、Copilotが提案した数式の意味を読み解きやすくなり、データの整形やチェックにも応用できます。

Excelの正規表現とは

正規表現とは、文字そのものではなく、文字列の「パターン」を指定するための記法です。

たとえば、[0-9]は0から9までの数字を1文字、[0-9]+は1文字以上の連続した数字を表します。

Excelでは、Microsoft 365で利用できる正規表現関数を使うと、セル内の文字列をパターンに基づいて判定、抽出、置換できます。

代表的な関数は、パターンに一致するか調べるREGEXTEST、一致部分を取り出すREGEXEXTRACT、一致部分を置き換えるREGEXREPLACEです。

関数が利用できるかどうかは、Excelのエディションや更新状況によって異なる場合があるため、数式を入力して関数名が認識されるか確認してください。

関数用途例
REGEXTESTパターンに一致するか判定数字を含むか確認
REGEXEXTRACT一致した文字列を抽出文字列から数字を取得
REGEXREPLACE一致した部分を置換記号や余分な文字を削除

Copilotが使う「[0-9]」の意味

角括弧は文字の候補を示す

正規表現の角括弧[ ]は、その中に書かれた候補のうち、いずれか1文字に一致することを示します。

[0-9]は「0から9のどれか1文字」という意味で、[A-Z]なら半角英大文字、[abc]ならa、b、cのいずれかに一致します。

角括弧の中では、ハイフンを使って範囲を指定できますが、範囲の解釈は文字コード順に基づくため、意図しない文字まで含めないよう注意が必要です。

「+」を付けると連続した文字に一致する

[0-9]だけでは数字1文字にしか一致しませんが、直後に+を付けた[0-9]+は数字が1文字以上続く部分に一致します。

たとえば、セルA2に「注文番号AB12345」が入っている場合、=REGEXEXTRACT(A2,"[0-9]+")と入力すると、最初に見つかった数字列の12345を取り出せます。

*は直前の文字が0回以上、?は0回または1回、{3}は直前の文字がちょうど3回続くことを表します。

記号意味例
+1回以上[0-9]+は1桁以上の数字
*0回以上\d*は数字がなくても一致
?0回または1回colou?rはcolorとcolourに一致
{n}直前の要素がn回[0-9]{4}は4桁の数字

「¥.」は何を表しているのか

Copilotの数式に表示される¥.は、多くの場合、正規表現の\.を表しています。

日本語環境では、バックスラッシュ\がフォントや表示設定の影響で円記号¥のように見えることがあります。

正規表現ではピリオド.は「任意の1文字」を意味する特殊記号なので、ピリオドそのものを検索するには、前にバックスラッシュを付けて\.と指定します。

たとえば、example.comのような文字列からドメイン部分を扱うとき、\.は文字としてのドットに一致し、単独の.はドット以外の文字にも一致します。

円記号に見えても、正規表現で必要なのはエスケープ用のバックスラッシュです。

Excelで正規表現を使う実例

数字を含むか判定する

セルA2に数字が含まれているかを調べるには、=REGEXTEST(A2,"[0-9]")を使います。

結果は一致する場合にTRUE、一致しない場合にFALSEとなるため、入力データのチェックや条件付き書式の判定に活用できます。

電話番号から数字以外を取り除く

電話番号に含まれるハイフンや空白を取り除くには、=REGEXREPLACE(A2,"[^0-9]","")のように指定します。

角括弧内の先頭にある^は「含まれない文字」を表すため、[^0-9]は数字以外の文字に一致します。

この数式では、数字以外に一致した部分を空文字列""に置き換えるため、結果には数字だけが残ります。

メールアドレスの形式を簡易チェックする

メールアドレスらしい形式かを簡易判定する場合は、=REGEXTEST(A2,"^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$")のようなパターンを使えます。

^は文字列の先頭、$は末尾を示すため、文字列全体が指定した形式に合うかを確認できます。

ただし、この式は入力ミスの発見を補助するものであり、メールアドレスとして実際に送受信できるかまでは確認できません。

正規表現を使うときの注意点

正規表現は便利ですが、記号の組み合わせが複雑になると、意図しない文字列まで一致することがあります。

まずは短いパターンで動作を確かめ、実データの例と一致するケース、一致してはいけないケースの両方をテストしてください。

また、Excelの数式では正規表現を二重引用符で囲みますが、通常、正規表現内のバックスラッシュをExcel用に二重にする必要はありません。

たとえば、ドットを文字として扱うパターンは"\."と記述しますが、数式をチャットやWebページからコピーした場合は、記号が全角に変わっていないか確認しましょう。

利用できない関数名のエラーが出る場合は、Excelの更新状況や利用環境を確認し、正規表現関数が提供されているか調べてください。

まとめ

Excelの正規表現は、文字列から条件に合うデータを判定、抽出、置換するためのパターン記法です。

[0-9]は数字1文字、[0-9]+は1文字以上の数字列を表し、\.はピリオドそのものに一致します。

Copilotの数式を使うときは、記号の意味と対象データを照らし合わせ、少量のデータで結果を検証してから活用しましょう。

URLをコピーしました!