※本記事にはアフィリエイト広告(PR)が含まれます。
顧客名簿や取引先リストの「表記揺れ」を一括で修正するには、Googleスプレッドシートに搭載されている正規表現関数(REGEXREPLACE・REGEXMATCH・REGEXEXTRACT)を使うのが最も効率的です。手作業の「検索と置換」では対応しきれない複雑なパターンも、正規表現なら1つの数式で処理できます。
筆者自身、業務委託先から届いた約8,000件の顧客リストを整形する作業で、手作業なら3時間以上かかっていた工程を、正規表現関数の導入後は15分以内に短縮できました。本記事では、その手順をそのまま再現できる形で、メタ文字の意味から列全体への一括適用、エラー処理まで含めて解説します。
この記事のポイント(先に結論)
- 表記揺れの修正は「①REGEXMATCHで発見 → ②REGEXREPLACEで置換 → ③EXACT/COUNTIFで検証」の3ステップで進めるのが鉄則
- 1セルの数式は
=ARRAYFORMULA(...)で囲めば数千件の列全体に一括適用できる(5,000件でも体感数秒〜十数秒) - GoogleスプレッドシートはRE2エンジンのため、先読み・後読み・後方参照は使えない。代替手法を知っておくと躓かない
- REGEXEXTRACTは不一致で#N/Aを返すため、
IFNAでのエラー処理が実務では必須 - 「田中/タナカ/Tanaka」のような意味的な名寄せは正規表現の限界。件数・パターン数・予算で手法を選び分ける
なぜ顧客データの表記揺れは放置すると危険なのか
「株式会社」と「(株)」、全角と半角の混在、姓と名の間のスペース有無——こうした表記揺れは、一見すると些細な問題に思えます。しかし実務においては、この小さなズレが深刻な業務トラブルの原因になります。
総務省が進める自治体DX・データ標準化の取り組みでも、表記の不統一はシステム間のデータ連携を妨げる課題として位置づけられています(2026年時点)。民間企業でも状況は同様で、特にCRM(顧客関係管理)やMA(マーケティングオートメーション)ツールにデータを取り込む際、表記揺れがあると名寄せ(同一人物・同一企業の統合)の精度が大幅に下がります。
筆者が2026年にBtoB企業のマーケティング支援を行った際の実例を挙げます。約5,000件の展示会名刺データをGoogleスプレッドシートに入力し、HubSpotへインポートしようとしたところ、同一企業が「株式会社ABC」「(株)ABC」「ABC株式会社」の3パターンで登録されており、重複レコードが約340件発生しました。これにより、同じ担当者に同一内容のメールが複数通届くという事故が起きかけたのです。
表記揺れが引き起こす具体的な問題
現場で実際に発生しやすいトラブルを整理すると、以下のパターンに分類できます。
- 重複登録による無駄なコスト増:DM発送費やメール配信数の水増し。1件あたりの単価が小さくても、数千件規模になると年間で数十万円の損失になる
- データ分析の精度低下:売上集計で「東京都」と「東京」が別地域として扱われ、地域別レポートが不正確になる
- 顧客体験の悪化:宛名の表記ミスは相手に「雑な会社」という印象を与える。特にBtoBでは信頼に直結する
- システム連携時のエラー:APIやCSVインポートで文字コードや形式の不一致により取り込み失敗が発生する
こうした問題は、データが蓄積されてから対処しようとすると膨大な工数がかかります。だからこそ、スプレッドシートの段階で正規表現を使って「入口」を整えることが重要なのです。
Googleスプレッドシートで使える3つの正規表現関数
正規表現(regular expression)とは、文字列のパターンを記号で表現する記法のことです。「数字が3桁」「行頭が0で始まる」といった条件を短い数式で指定でき、完全一致しか扱えない通常の検索より柔軟にデータを処理できます。Googleスプレッドシートには、この正規表現を扱うための専用関数が3つ用意されています。
REGEXMATCH — 条件に合致するかを判定する
指定した正規表現パターンにセルの値が一致するかどうかを、TRUE/FALSEで返す関数です。データの「異常検知」に使います。
書式:=REGEXMATCH(テキスト, 正規表現)
実用例として、電話番号のフォーマットが正しいかチェックする場面を考えます。
=REGEXMATCH(A2, "^0\d{1,4}-\d{1,4}-\d{3,4}$")
この数式は「0で始まり、ハイフン区切りの電話番号形式かどうか」を判定します。FALSEが返ったセルには、ハイフン抜けや桁数不正などの問題があると分かります。
REGEXEXTRACT — パターンに合致する部分を抽出する
テキストの中から、正規表現で指定したパターンに一致する部分だけを取り出す関数です。混在データから必要な情報を抜き出すときに威力を発揮します。
書式:=REGEXEXTRACT(テキスト, 正規表現)
たとえば「東京都渋谷区神宮前1-2-3 ABCビル5階」というセルから番地だけを抜き出したい場合に使えます。
=REGEXEXTRACT(A2, "\d{1,4}-\d{1,4}-\d{1,4}")
実務で必ず押さえておきたいのが、REGEXEXTRACTはパターンに一致しなかった行で #N/A エラーを返すという挙動です。実データには必ず「マッチしない行」が混ざるため、エラー処理なしの数式はそのままでは使い物になりません。そこで IFNA または IFERROR で囲みます。
=IFNA(REGEXEXTRACT(A2, "\d{1,4}-\d{1,4}-\d{1,4}"), "")
ここで IFERROR ではなく IFNA を推奨するのには理由があります。IFERRORは #N/A だけでなく、正規表現の書き間違いによる #ERROR! まで丸ごと握りつぶしてしまいます。これだと「数式自体が壊れているのか」「単にマッチしなかっただけなのか」の区別がつかなくなります。IFNAは #N/A だけを捕捉し、数式エラーはそのまま表面化させてくれるため、デバッグ性が高いのです。
さらに、抽出の「マッチ率」を可視化すると作業の精度判断に役立ちます。未マッチを文字列で埋めておけば、COUNTIFで簡単に集計できます。
=IFNA(REGEXEXTRACT(A2, "パターン"), "未マッチ")
=COUNTIF(B2:B1001, "未マッチ")
「未マッチ件数 ÷ 総件数」でマッチ率が出るので、たとえば「マッチ率が80%を切る場合はパターンを見直す」といった判断基準を持てます。
REGEXREPLACE — パターンに合致する部分を置換する
正規表現で一致した部分を、別の文字列に置き換える関数です。データクレンジングで最も使用頻度が高い関数がこれです。
書式:=REGEXREPLACE(テキスト, 正規表現, 置換文字列)
通常の「検索と置換」機能(Ctrl+H)との決定的な違いは、「パターン」で指定できる点です。たとえば「全角数字をすべて半角に変換する」という処理は、検索と置換では0〜9の10回の操作が必要ですが、正規表現なら1つの数式で完結します。
正規表現メタ文字の早見表(顧客データ処理でよく使う12個)
「\d{1,4} や [A-Z]、$1 が何を意味するのか分からない」——正規表現に初めて触れる方の最大のつまずきがここです。以下に、日本語の顧客データ処理で頻出するメタ文字を、具体例つきで一覧化しました。この表だけブックマークしておけば、本記事の数式はすべて読み解けます。
| 記号 | 意味 | 顧客データでの用例 |
|---|---|---|
\d | 数字1文字(0〜9) | \d{3,4} = 3〜4桁の数字(電話番号の局番など) |
\s | 空白文字(半角スペース・タブ等) | \s+ = 連続する半角スペース |
. | 任意の1文字 | .{2,3} = 任意の2〜3文字(都道府県名の長さ) |
^ | 行頭 | ^0 = 0から始まる(電話番号判定) |
$ | 行末 | 様$ = 末尾の「様」(敬称除去) |
[ ] | 文字クラス(いずれか1文字) | [都道府県] = 都/道/府/県のどれか1文字 |
[a-z] | 範囲指定 | [A-Z] = 全角の大文字英字 |
| | OR(または) | (株)|(株)|㈱ = いずれかの略称表記 |
( ) | グループ化・キャプチャ | 置換側で $1 として参照できる |
+ | 直前を1回以上 | \s+ = スペースが1個以上 |
* | 直前を0回以上 | \s*様 = スペース有無を問わず「様」 |
? | 直前を0回または1回/非貪欲化 | 番地? = 「番」または「番地」、.+? = 最短一致 |
覚えておくべき優先順位としては、まず「.(任意の1文字)」「+(1回以上)」「[ ](文字クラス)」の3つです。この3つを理解するだけで、自社データ特有のパターンへの応用力が一気に上がります。
実践:3ステップで顧客名簿の表記揺れを一括修正する
ここからは、筆者が実際の業務で繰り返し使っている手順を、そのまま再現できる形で紹介します。サンプルとして「展示会で集めた名刺データ500件をCRMにインポートする前のクレンジング作業」を想定します。
ステップ1:REGEXMATCHで表記揺れの「発見」をする
まず最初に行うのは、データの中にどんな表記揺れが潜んでいるかを可視化する作業です。いきなり置換するのではなく、まず「現状把握」をすることが、教科書には書いていない実務上の鉄則です。
筆者が必ずチェックするパターンを紹介します。
会社名の表記揺れチェック:
=REGEXMATCH(A2, "(株)|(株)|㈱")
この数式がTRUEを返したセルには、「株式会社」の略称表記が含まれています。正式名称に統一すべきかどうかの判断材料になります。
全角英数字の混在チェック:
=REGEXMATCH(A2, "[A-Za-z0-9]")
全角の英数字が1文字でも含まれていればTRUEを返します。メールアドレスやURLに全角文字が混入していると、リンク切れやメール不達の原因になるため、早期発見が重要です。
スペースの不統一チェック:
=REGEXMATCH(A2, " ")
全角スペースの存在を検出します。姓名の間に全角スペースと半角スペースが混在しているケースは非常に多く、これが名寄せ精度を下げる隠れた原因になります。
実務での意外な発見をひとつ共有します。筆者がある人材紹介会社の顧客データ(約12,000件)を検査した際、全角スペースの混在率は実に23%に達していました。目視では気づきにくいこの問題が、CRMでの重複レコード発生の最大原因だったのです。
ステップ2:REGEXREPLACEで一括置換する(列全体への適用がカギ)
問題箇所を把握したら、REGEXREPLACEを使って一気に修正します。以下は筆者が定型的に使っている置換パターンです。
会社名の統一(略称を正式名称に変換):
=REGEXREPLACE(A2, "(\(株\)|(株)|㈱)", "株式会社")
半角カッコの「(株)」、全角カッコの「(株)」、囲み文字の「㈱」のいずれも「株式会社」に統一します。1つの数式で3パターンを同時に処理できるのが正規表現の強みです。
電話番号のハイフン統一:
=REGEXREPLACE(A2, "[ー−‐‑–—]", "-")
日本語環境では、長音符「ー」、全角ハイフン「−」、各種ダッシュなど、見た目が似ているが文字コードが異なる記号が混在しがちです。この数式で半角ハイフンに統一できます。
そして、ここが多くの人が詰まる最重要ポイントです。上記の数式はすべて「A2の1セル」を対象にしています。500件、5,000件とデータがある場合、これを1行ずつコピーするのは現実的ではありません。そこで ARRAYFORMULA で囲み、列全体(範囲)に一括適用します。
=ARRAYFORMULA(REGEXREPLACE(A2:A1000, "(\(株\)|(株)|㈱)", "株式会社"))
これをB2セルに1つ入力するだけで、A2〜A1000の全行が一度に変換されます。筆者の体感では、5,000件規模でも処理は数秒〜十数秒程度で完了します(PCのスペックやシート内の他の数式量に依存します)。
ただし、範囲内に空白セルが混在する場合は注意が必要です。空セルにも数式が走って想定外の結果や処理遅延を招くことがあるため、IF関数で「空白なら何もしない」を組み合わせるのが安全です。
=ARRAYFORMULA(IF(A2:A1000="", "", REGEXREPLACE(A2:A1000, "(\(株\)|(株)|㈱)", "株式会社")))
全角数字を半角に変換:
Googleスプレッドシートの正規表現では、全角→半角の文字種変換そのものはできません。単純なREGEXREPLACEで実現するには、以下のようにネストして使う必要があります。
=REGEXREPLACE(REGEXREPLACE(REGEXREPLACE(REGEXREPLACE(REGEXREPLACE(REGEXREPLACE(REGEXREPLACE(REGEXREPLACE(REGEXREPLACE(REGEXREPLACE(A2,"0","0"),"1","1"),"2","2"),"3","3"),"4","4"),"5","5"),"6","6"),"7","7"),"8","8"),"9","9")
正直なところ、この数式は見た目が煩雑です。頻繁に使う場合は、Google Apps Script(GAS)でカスタム関数を作成する方が実用的です。筆者は以下のような関数を作成して使い回しています。
function toHalfWidth(str) {
return str.replace(/[0-9A-Za-z]/g, function(s) {
return String.fromCharCode(s.charCodeAt(0) - 0xFEE0);
});
}
GASに登録すれば、=toHalfWidth(A2) と書くだけで全角英数字を半角に変換できます。なお、スプレッドシートのデータを起点にGASでまとめて処理する具体的な実装例は、GASでGoogleドライブ権限を一括変更する手順でも詳しく解説しているので、GASによるバッチ処理の考え方を掴む参考になります。
ステップ3:修正結果を検証して「値のみ貼り付け」で確定する
置換後のデータをそのまま使うのではなく、必ず検証を挟むのが失敗しないコツです。筆者が行っている検証手順は以下の通りです。
- 元データの列は絶対に残す:変換後の列を隣に作成し、元データと比較できる状態にしておく
- EXACT関数で差分チェック:
=EXACT(A2, B2)でFALSEが返った行だけを確認し、意図しない変換がないか目視確認する - COUNTIFで重複チェック:統一後に同一企業名が増えたかを
=COUNTIF(B:B, B2)で確認し、名寄せ候補を洗い出す - 確定したら「値のみ貼り付け」:数式のままだと元データを消した際に参照エラーになるため、Ctrl+Shift+Vで値として確定させる
このステップを飛ばして痛い目に遭った経験があります。以前、REGEXREPLACEで「(有)」を「有限会社」に変換した際、会社名に「(有機栽培)」という文字列が含まれる商品カテゴリ列まで巻き込んでしまい、「有限会社機栽培)」という意味不明なデータが生成されました。正規表現は強力な分、適用範囲を慎重に確認する必要があります。
注意:Googleスプレッドシートで「動かない正規表現」とその理由
ネット上で見つけた正規表現をコピペしたのに動かない——その原因の多くは、Googleスプレッドシートが採用している正規表現エンジン「RE2」の仕様にあります。RE2はGoogleが開発した高速・安全なエンジンですが、PerlやPHP(PCRE)系で使える一部の高度な構文に対応していません。他ツール向けのパターンがそのまま動かないのはこのためです。
| 構文 | 例 | RE2での可否 | 代替手法 |
|---|---|---|---|
| 先読み(肯定/否定) | (?=...) (?!...) | 非対応 | 作業列を分けて段階処理、またはネストREGEXREPLACE |
| 後読み(肯定/否定) | (?=...) (? | 非対応 | グループ () でキャプチャし置換側 $1 で再構成 |
| 後方参照(パターン内) | (\w+)\1 | 非対応 ※ | 処理を分割し、ネストしたREGEXREPLACEで対応 |
| 条件分岐 | (?(1)yes|no) | 非対応 | IF関数とREGEXMATCHを組み合わせる |
| 非貪欲(最短)マッチ | .+? | 対応 | —(そのまま使える) |
※後方参照について補足すると、「パターン内」での参照(\1)は不可ですが、「置換文字列側」でのグループ参照($1、$2)は問題なく使えます。本記事の住所変換 "$1-$2-$3" はこの仕組みを利用しています。
つまり、「後読みで特定文字の後ろだけ置換したい」といったケースは、対象部分を () でグループ化し、置換側で $1 を使って組み立て直すのが定石です。それでも表現しきれない複雑な処理は、JavaScriptの正規表現(PCRE互換)がフルに使えるGASに移すのが確実です。
正規表現 vs 手作業 vs 有料ツール:どれを選ぶべきか
| 比較項目 | 正規表現関数(Googleスプレッドシート) | 手作業(検索と置換) | 有料クレンジングツール |
|---|---|---|---|
| コスト | 無料 | 無料 | 月額5,000〜50,000円程度 |
| 処理速度(5,000件) | 15〜30分 | 3〜5時間 | 5〜10分 |
| パターン対応力 | 高い(正規表現で柔軟に対応) | 低い(完全一致のみ) | 非常に高い(AI名寄せ対応あり) |
| 学習コスト | 中程度(正規表現の基礎知識が必要) | ほぼなし | 低〜中(ツールによる) |
| 再現性 | 高い(数式を保存すれば再利用可能) | 低い(毎回手作業) | 高い(設定を保存可能) |
| おすすめの場面 | 月1〜2回、数千件規模のクレンジング | 数十件以下の軽微な修正 | 万件規模を日常的に処理する組織 |
筆者の経験則として、データ件数が100件以下なら手作業、100〜10,000件なら正規表現関数、それ以上の件数を定期的に処理するなら有料ツールの導入を検討するのが妥当なラインです。
Googleスプレッドシートの正規表現関数は「無料でここまでできる」という点で非常にコストパフォーマンスが高く、特に中小企業やスタートアップにとっては最初の選択肢として最適です。なお、Googleスプレッドシートを業務で本格的に活用するなら、独自ドメインのメールや大容量ストレージが使えるGoogle Workspaceの導入を検討する価値があります。導入時はGoogle Workspace プロモーションコードで15%割引を適用できるため、初年度のコストを抑えられます。Business Standard以上のプランでは、Gemini AIがスプレッドシート上で数式の提案や自動生成を行ってくれるため、正規表現に不慣れな方でもクレンジング作業の効率が格段に上がります。
現場で使えるコピペ用・正規表現パターン集
筆者が実務で繰り返し使っているパターンを厳選して掲載します。Googleスプレッドシートにそのまま貼り付けて使えます(REGEXEXTRACT系は前述のとおり IFNA で囲むと安全です)。
住所データのクレンジング
都道府県名の抽出:
=IFNA(REGEXEXTRACT(A2, "^(.{2,3}[都道府県])"), "")
番地表記の統一(「丁目」「番地」「号」をハイフンに変換):
=REGEXREPLACE(A2, "(\d+)丁目(\d+)番地?(\d+)号?", "$1-$2-$3")
氏名データのクレンジング
姓名間のスペースを半角に統一:
=REGEXREPLACE(A2, "[ \s]+", " ")
敬称の除去:
=REGEXREPLACE(A2, "\s*(様|殿|さん|さま|御中)$", "")
メールアドレス・電話番号のクレンジング
メールアドレスの形式チェック:
=REGEXMATCH(A2, "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$")
電話番号の括弧表記をハイフン表記に変換:
=REGEXREPLACE(A2, "^\((\d+)\)", "$1-")
これらのパターンは、そのまま使うだけでなく「テンプレートシート」として保存しておくと、次回のクレンジング時にすぐ呼び出せます。筆者はGoogleドライブ内に「データクレンジング用テンプレート」というスプレッドシートを作り、案件ごとにコピーして運用しています。Google Workspaceを導入していれば、チームの共有ドライブにテンプレートを置くことで、メンバー全員が同じ品質でクレンジング作業を行えます。まだ個人のGmailアカウントで運用している場合は、Google Workspace 割引クーポンの入手方法を確認し、初年度のコストを抑えつつビジネス環境へ移行するのがおすすめです。
よくある失敗と、正規表現では対処しにくいケース
正規表現は万能ではありません。筆者が経験した失敗と、正規表現の限界を正直に共有します。
失敗1:貪欲マッチによる過剰置換
正規表現の .+(任意の1文字以上)はデフォルトで「貪欲マッチ」、つまり可能な限り長い文字列に一致します。「株式会社ABCシステム株式会社」のような誤データに対して =REGEXREPLACE(A2, "株式会社.+", "") を適用すると、「株式会社」以降がすべて消えてしまいます。前述のとおりRE2は非貪欲マッチ(.+?)に対応しているため、"株式会社.+?" のように「?」を付ける習慣をつけることで回避できます。
失敗2:処理順序のミス
複数のREGEXREPLACEを連続適用する場合、処理順序を間違えると意図しない結果になります。たとえば、先にスペースを削除してから姓名を分割しようとすると、分割の手がかりがなくなります。筆者は「抽出 → 置換 → 削除」の順で処理するルールを決めてから、ミスが激減しました。
失敗3:正規表現では対処しにくい「意味的な表記揺れ」
文字列パターンではなく、意味が同じで表現が異なるケースは、正規表現だけでは対応が困難です。具体的には次のようなものです。
- 同音異義・多表記の名寄せ:「田中」「タナカ」「Tanaka」が同一人物だと、パターンだけでは判定できない
- 類義語の統一:「東京本社」と「東京オフィス」、「営業部」と「セールス部」のような言い換え
- 半角カナの混在:検出(
=REGEXMATCH(A2, "[。-゚]"))まではできても、全角への正規化はGAS(normalize("NFKC")等)に任せる方が確実 - 略称パターンが100種類を超える:会社名の略称・通称が膨大で、正規表現の
|で並べきれない
こうしたケースは、件数・パターン数・予算で手法を選び分けるのが現実的です。以下が筆者の判断基準です。
| 状況 | 推奨手法 | 理由 |
|---|---|---|
| 〜数百件/パターンが単純 | REGEXREPLACE+VLOOKUP名寄せ対応表 | 無料・即日。対応表に「表記→正式名」を列挙して照合 |
| 数百〜1万件/パターンが数十種類 | 正規表現関数+対応表の併用 | 関数で機械的な揺れを潰し、残りを対応表で吸収 |
| パターンが数十〜数百種類/半角カナ正規化が必要 | GAS(JavaScript正規表現+NFKC正規化) | 辞書配列で柔軟に処理でき、外部API連携も可能 |
| 万件超/意味的名寄せ/予算あり | 有料名寄せツール・名寄せAPI | AIによる表記ゆらぎ統合の精度が高く、工数を大幅削減 |
ポイントは「正規表現で機械的に統一できる揺れ」と「人の判断や辞書が必要な揺れ」を切り分けることです。前者を関数で一気に潰し、後者だけに人手や有料ツールを投入すると、コストと精度のバランスが最適化されます。
よくある質問
- Googleスプレッドシートの正規表現関数はExcelでも使えますか?
- 関数名と利用条件が異なります。Microsoft 365版のExcelには2024年以降 REGEXTEST・REGEXEXTRACT・REGEXREPLACE が追加され、正規表現が使えるようになりました(2026年時点)。ただしMicrosoft 365サブスクリプションが前提で、買い切り版(Excel 2021など)には搭載されていません。Googleスプレッドシートは無料アカウントでも標準で使える点に手軽さの優位性があります。なお、ExcelはPCRE系、GoogleスプレッドシートはRE2系とエンジンが異なるため、同じパターンが両者で完全互換とは限らない点に注意してください。
- REGEXEXTRACTで「#N/A」エラーが出るのはなぜですか?
- 指定したパターンにセルの値が一致しなかった場合、REGEXEXTRACTは
#N/Aを返す仕様だからです。実データには必ずマッチしない行が含まれるため、=IFNA(REGEXEXTRACT(A2, "パターン"), "")のようにIFNAで囲んで処理してください。IFERRORでも捕捉できますが、数式の書き間違いによるエラーまで隠してしまうため、デバッグしやすいIFNAを推奨します。 - 数式を1セルだけでなく列全体に一括適用するにはどうすればいいですか?
ARRAYFORMULAで囲み、引数のセル参照を範囲指定にします。例:=ARRAYFORMULA(REGEXREPLACE(A2:A1000, "(\(株\)|(株)|㈱)", "株式会社"))をB2に入力すれば、A2〜A1000が一括変換されます。空白セルが混在する場合は=ARRAYFORMULA(IF(A2:A1000="", "", REGEXREPLACE(...)))のようにIFを挟むと、無駄な処理やエラーを防げます。- 正規表現の知識がなくても使えますか?
- 本記事のコピペ用パターンと「メタ文字早見表」をそのまま使えば、詳しい知識がなくても基本的なクレンジングは可能です。応用するなら、最低限「
.(任意の1文字)」「+(1回以上)」「[](文字クラス)」の3つを理解しておくと便利です。Google WorkspaceのBusiness Standard以上であれば、Gemini AIに「この列の表記を統一する数式を作って」と依頼することもできます。 - 大量のデータ(数万件以上)でも正規表現関数は動きますか?
- Googleスプレッドシートのセル数上限は1,000万セルですが、ARRAYFORMULAで数万行に一括適用すると処理が重くなり、タイムアウトする場合があります。目安として1万件を超える場合は、Google Apps Script(GAS)でバッチ処理するか、BigQueryへデータを移して
REGEXP_REPLACE関数を使う方が安定します。 - 「検索と置換」の正規表現オプションとの違いは何ですか?
- 「検索と置換」の正規表現オプションは元データを直接書き換えるため、ミスした場合にCtrl+Zで戻すしかなく復元リスクがあります。一方、REGEXREPLACE関数は別のセルに結果を出力するため、元データを保持したまま安全にクレンジングできます。業務データの修正では、元データを残せる関数方式を強く推奨します。
- 正規表現関数で対応しきれない場合、次に検討すべきツールは何ですか?
- まずはGoogle Apps Script(GAS)によるカスタム関数を検討してください。GASならJavaScriptの正規表現(先読み・後方参照を含む)がフルに使え、NFKC正規化や外部API連携も可能です。それでも難しい大規模な意味的名寄せには、OpenRefine(無料)や有料の名寄せツールが選択肢になります。
まとめ:正規表現は「覚える」より「使い回す」が正解
Googleスプレッドシートの正規表現関数を使えば、顧客名簿や取引先リストの表記揺れを、手作業の何分の一かの時間で修正できます。重要なのは、正規表現をゼロから書ける必要はないということです。本記事で紹介したパターンとメタ文字早見表をテンプレートとして保存し、ARRAYFORMULAで列全体に適用、IFNAでエラーを処理する——この型を押さえれば、案件ごとに少しカスタマイズするだけで使い回せます。
一方で、「田中/タナカ/Tanaka」のような意味的な名寄せや、RE2で動かない先読み・後読みは正規表現の限界です。件数・パターン数・予算に応じて、関数・GAS・有料ツールを冷静に選び分けてください。
まずは自社の顧客リストに対してREGEXMATCHを実行し、どれだけの表記揺れが潜んでいるか「現状把握」をしてみましょう。その数字を見れば、クレンジング作業の優先度と投資対効果を具体的に判断できるはずです。
なお、チームでGoogleスプレッドシートを本格運用するなら、個人アカウントではなくGoogle Workspaceの導入がデータ管理・セキュリティの両面で安心です。導入コストを抑えたい場合は、Google Workspace 15%割引クーポンを活用する方法を確認し、まずはBusiness Starterプラン(月額800円/ユーザー)から始めてみることをおすすめします。
