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