Office Hack

Excelでの正規表現の使い方

  • Release

この記事では、Excelでの正規表現の使い方についてご説明します。

正規表現を使うことで、文字列を複雑な条件で検索することが出来るようになります。

以下では、正規表現の記号やワイルドカードと正規表現の違いなどについてもご紹介しています。

正規表現とは?

正規表現とは、様々な文字列を「一つの文字列」で表す表記方法で、主にプログラミング言語やテキストエディタなどで利用できます。

例えば、「大文字小文字を問わず、Windowsの文字を検索したい」という場合は、正規表現を使って「W(indows|INDOWS)」と表します。

このように()や|の等の記号を使って文字列を表現することを「正規表現」と言います。

以下は正規表現の一部です。

正規表現の記号意味使い方の例マッチする文字列 
.任意の一文字A.CABC
A1C
AあCなど
+直前の文字パターンを1回以上繰り返すAB+AB
ABBBBなど
*直前の文字パターンを0回以上繰り返すAB*A
AB
ABBBBBBなど
?直前の文字パターンを0~1回繰り返すAB?A
AB
|いずれかの条件を満たすあい|うえ「あい」または「うえ」
[...]いずれか1文字に当てはまる[あいう]あ、い、う
(...)括弧内の文字をグループ化する(ABC)+ABC
ABCABCABCなど
^直前の文字が、行頭にある^あ「あ」から始まる行
あい
あいう
あいうえお
$直前の文字が、行末にある。$「。」で終わる行
~です。
~ます。
{min,max}直前の文字パターンをmin回からmax回繰り返すあいう{2,4}あいうう
あいううう
あいうううう

正規表現とワイルドカードの違い

正規表現と似ている機能を持つものに「ワイルドカード」があります。

正規表現とワイルドカードは、どちらも「様々な文字列を1つの文字列で表現する」ものですが、正規表現はワイルドカードよりもさらに複雑な検索が表現ができます。

以下の表はワイルドカードの一覧です。

ワイルドカード読み方意味使い方の例
*アスタリスク文字列の前後に1つつけるだけで字数に限らず文字列に置き換えることが出来る*県
(最後が"県"で終わる文字列を検索)
?クエスチョンマーク1つが一文字分を表し、何文字の文字列を検索するか指定できる???県
("県"の前が3文字の文字列を検索)
~チルダ*や?を検索する~?
(?を検索する)

上記「正規表現とは?」セクションでご紹介した正規表現の記号には、ワイルドカードと同じものもありますが検索した場合に得られる結果が違います。

例えば、「*」は正規表現にもワイルドカードにもある記号です。

「あいう*」とした場合は、正規表現では「あいうの文字を0回以上繰り返す文字列」を検索するので「あいう」や「あいううう」等がマッチします。

一方ワイルドカードでは「あいう以降に任意の文字が入った文字列」を検索するので「あいうえ」や「あいうお」等がマッチします。

ワイルドカードの種類や使い方については、以下の記事をご参照ください。

エクセルのワイルドカード一覧と使い方

エクセルで文字列の検索(抽出)で正規表現を利用する

正規表現検索アドイン

エクセルの検索やワークシート関数では正規表現を使うことが出来ません。

正規表現での検索ができるようになるアドインをインストールしましょう。

Excel用正規表現検索ダイアログアドインは、エクセルで正規表現による検索ダイアログを表示するアドインです。

今回はこのアドインをインストールして、エクセルで正規表現検索をする方法をご紹介します。

アドインをインストールする方法

アドインをインストールする

Excel用正規表現検索ダイアログアドインにアクセスします。

①【スクロールバー】を下に下げて、②「ダウンロード」にある【正規表現検索6.80】を選択します。

ダブルクリックで開く

ダウンロードが終了したら、自動的にフォルダが開きます。

開かない場合は、任意の場所でフォルダを開きましょう。

「excelre680」を【ダブルクリック】して開きます。

excelreを開く

「excelre」のフォルダが開きます。

【excelre】を開きます。

マクロを有効にする

「Microsoft Excelのセキュリティに関する通知」ダイアログボックスが表示されます。

【マクロを有効にする】ボタンを押します。

いいえを選択する

「Microsoft Excel」ダイアログボックスが表示されます。

言語設定を選択します。

「英語であれば"はい"を、日本語であれば"いいえ"を押して下さい」との案内が出るので、【いいえ】ボタンを押します。

いいえを選択する

「ブックモードで使用しますか?」というメッセージが表示されたら、【いいえ】ボタンを押します。

OKボタンを押す

「正規表現検索をインストールします。」というメッセージが表示されたら、【OK】ボタンを押します。

いいえを選択する

「インストール先をユーザアドインフォルダから変更しますか?」というメッセージが表示された場合は、任意のボタンを押します。

今回は「いいえ」ボタンを押します。

任意のボタンを選択する

「正規表現検索」ダイアログボックスが表示されます。

任意のボタンを押します。

今回は、【はい】ボタンを押します。

任意のボタンを押す

「正規表現について良く知っていますか?」というメッセージが表示されたら、任意のボタンを押します。

今回は【キャンセル】ボタンを押します。

OKボタンを押す

「Microsoft Excel」ダイアログボックスが表示されます。

【OK】ボタンを押します。

これで、正規表現検索アドインをインストールできました。

アドインを使って正規表現で検索する方法

正規表現検索アドインを使って、検索する方法は以下のとおりです。

文字列を入力する

今回は、上の画像の「日本」「アメリカ」「イギリス」「カナダ」「フランス」「イタリア」「ドイツ」の中から、「イタリア」もしくは「ドイツ」を検索します。

まずは、Ctrl+Shift+Rを押して、正規表現検索ダイアログボックスを表示します。

検索する

画面右端に「正規表現検索」ダイアログボックスが表示されました。

①「検索する文字列」に「イタリア|ドイツ」と入力して、②【すべて検索】ボタンを押します。

結果が出力される

自動的に、検索結果が別ファイルとして出力されます。

今回、「イタリア」もしくは「ドイツ」に該当する文字列はA7セルとA8セルにあることが分かりました。

これで正規表現を使って文字列を検索することが出来ました。

[Excel 数式 応用]の関連記事

エクセルでルート(平方根)を表示/計算する方法(関数使用)

エクセルの円周率パイ(π)記号とPI関数について

エクセルの関数で乱数を生成する方法(範囲指定/固定/重複しない)

エクセルで串刺し計算をする方法

ローンの金利計算をエクセルで求める方法(返済シミュレーション)

CAGR(年平均成長率)を求めるエクセルを使った計算式