Googleスプレッドシートでデータを整理するとき、特定のパターンに一致するセルを検索したり、一括で置換したい場面は多いです。通常の検索では文字列を完全一致で探すしかありませんが、正規表現を使えば複雑なパターンマッチが可能になります。この記事では、スプレッドシートの検索と置換機能で正規表現を活用する方法を、具体例を交えて詳しく解説します。
正規表現は一見難しそうに思えますが、基本パターンを覚えれば日々のデータ処理が格段に効率化します。メールアドレスだけを抜き出したい、電話番号の形式を統一したい、重複データを特定したい――そんな作業を数秒で完了できるようになります。
【要点】正規表現を使った検索と置換でパターンマッチを活用する
- 「編集」→「検索と置換」で正規表現を有効化: 検索ダイアログの「正規表現を使用する」にチェックを入れるだけで、高度なパターン検索が可能になります。
- メタ文字で柔軟なパターンを指定: 「.」「*」「+」「[]」などのメタ文字を使って、任意の文字や繰り返し、文字クラスを指定します。
- 置換時にグループ参照が使える: 検索パターンで括弧でグループ化した部分を、置換文字列で「$1」「$2」などとして参照できます。
ADVERTISEMENT
目次
正規表現がスプレッドシートでできること
正規表現は、文字列のパターンを記述するための記法です。スプレッドシートの「検索と置換」で正規表現を使うと、単純な文字列一致では難しい高度な検索や置換が実現します。例えば、数字だけのセルを探す、特定の書式のメールアドレスを抽出する、空白や改行を除去するといった処理を、一つのパターンで指定できます。
スプレッドシートで利用できる正規表現のエンジンは、RE2というライブラリに基づいています。そのため、一部の高度な機能(後方参照や先読み・後読みなど)は使えませんが、日常的なデータ整形には十分な機能が揃っています。
検索と置換で正規表現を使う手順
以下では、実際の操作手順をステップごとに説明します。例として、電話番号の形式を「090-xxxx-xxxx」から「090xxxxxxxx」に変換するケースを使います。
- 検索と置換ダイアログを開く
メニューバーから「編集」をクリックし、「検索と置換」を選択します。ショートカットキーは「Ctrl+H」(Windows)または「Command+Shift+H」(Mac)です。 - 正規表現を使用するにチェックを入れる
ダイアログ下部にある「正規表現を使用する」のチェックボックスをオンにします。これで検索文字列が正規表現として解釈されるようになります。 - 検索パターンを入力する
「検索」フィールドに正規表現パターンを入力します。電話番号の例では、「(\d{3})-(\d{4})-(\d{4})」と入力します。これは3桁-4桁-4桁の数字にマッチします。 - 置換後の文字列を入力する
「置換後の文字列」フィールドに、変換後の形式を指定します。グループ参照を使い、「$1$2$3」と入力します。これでハイフンが除去され、数字だけが連結されます。 - 実行する
「すべて置換」ボタンをクリックすると、シート内の該当するすべてのセルが一括で置換されます。範囲を限定したい場合は、事前にセル範囲を選択しておきます。
よく使う正規表現パターンと実例
ここでは、スプレッドシートの検索置換で特に便利なパターンをいくつか紹介します。パターンはすべてRE2準拠です。
数字のみを検索する
「\d+」と入力すると、1つ以上の連続した数字にマッチします。例えば、セル内の数字部分だけを抽出したい場合に使います。置換時に空文字にすれば数字だけ削除できます。
メールアドレスを抽出する
「[\w.-]+@[\w.-]+\.\w+」というパターンで、一般的なメールアドレス形式にマッチします。検索して該当セルを確認したり、置換で別の文字列に変更できます。
空白や改行を除去する
「\s」は空白文字(半角スペース、タブ、改行など)にマッチします。「\s+」とすれば連続する空白を1つにまとめられます。置換文字列を空にすればすべての空白を削除できます。
特定の文字で始まる行を検索する
「^京都」と入力すると、セルの先頭が「京都」で始まるものにマッチします。同様に「終わり$」で末尾が「終わり」のセルを検索できます。
ADVERTISEMENT
正規表現を使う際の注意点と失敗例
エスケープが必要な文字がある
正規表現では「.」「*」「+」「?」「[」「]」「(」「)」「{」「}」「^」「$」「|」「\」などが特別な意味を持ちます。これらの文字をそのまま検索したい場合は、前にバックスラッシュを付けてエスケープします。例えば、ピリオドを検索するには「\.」と入力します。
先読み・後読みは使えない
スプレッドシートの正規表現エンジンRE2では、先読み((?=…))や後読み((?<=...))はサポートされていません。複雑な条件で位置を指定したい場合は、複数の置換を組み合わせる必要があります。
大文字小文字の区別
デフォルトでは大文字小文字を区別しません。区別したい場合は、パターン内で「(?-i)」を指定するか、あるいは正規表現のモード切替を使います。ただし、RE2では大文字小文字を区別する方法が限られるため、必要に応じて事前にデータを統一しておくとよいでしょう。
パターンが重くなりすぎないようにする
複雑なパターンや大量のデータに対して正規表現を使うと、処理が遅くなることがあります。特に「.*」のような貪欲なマッチや、バックトラックの多いパターンは避けたほうが無難です。可能なら、具体的な文字クラスや量指定子を使うことで高速化できます。
正規表現検索と通常の検索の比較
| 比較項目 | 通常の検索 | 正規表現検索 |
|---|---|---|
| 検索の柔軟性 | 固定文字列のみ一致 | パターン指定で複数パターンに一致可能 |
| ワイルドカード | 「?」と「*」のみ使用可能 | 豊富なメタ文字で細かく指定可能 |
| 置換の機能 | 単純な文字列置換のみ | グループ参照で柔軟な置換が可能 |
| 大文字小文字の区別 | 設定で切替可能 | デフォルトで区別なし、一部制限あり |
| 処理速度 | 非常に高速 | パターンによっては遅くなる場合あり |
まとめ
この記事では、Googleスプレッドシートの検索と置換で正規表現を使う方法を解説しました。正規表現を有効にすることで、数字だけの検索やメールアドレスの抽出、電話番号の整形など、これまで手作業で行っていた処理を一瞬で完了できます。基本パターンは「.」「*」「+」「[]」「()」など数えるほどで、まずは「\d」「\s」「^」「$」から試してみるとよいでしょう。また、置換時に「$1」などのグループ参照を使えば、抽出と加工を同時に行えます。ぜひ実際のデータでパターンマッチを活用し、スプレッドシート作業の効率を大幅に向上させてください。
さらに高度な処理が必要な場合は、REGEXEXTRACT関数やREGEXREPLACE関数を併用する方法もあります。これらについては別の記事で詳しく紹介します。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
