住所の表記ゆれを一括で統一する方法 — Excelでの限界と、現実的な解決策
「同じ会社なのに、リストの中に3回出てくる」。顧客リストやアンケート結果を集計しようとして、こんな経験はありませんか。
| 行 | 住所の書かれ方 |
|---|---|
| 1 | 東京都中央区銀座1-2-3 |
| 2 | 東京都中央区銀座1丁目2-3 |
| 3 | 東京都中央区銀座一丁目2番3号 銀座ビル4F |
人間の目には全部同じ場所です。でもExcelにとってはまったく別の文字列。重複除去(名寄せ)もピボット集計も、このままでは正しく動きません。この記事では、Excelでできる範囲を正直に示したうえで、一括で終わらせる現実的な方法を紹介します。
なぜ住所はこんなに揺れるのか
住所の表記ゆれには、実は決まったパターンがあります。
| パターン | 例 |
|---|---|
| 全角・半角 | 1−2−3 ↔ 1-2-3 |
| 漢数字 | 一丁目 ↔ 1丁目 |
| 丁目・番・号の省略 | 1丁目2番3号 ↔ 1-2-3 |
| ハイフンの種類 | 1‐2(マイナス、長音、ダッシュ…実は7種類以上) |
| 「字(あざ)」の有無 | 大字松山千石字舛形 ↔ 松山千石舛形 |
| 旧字体 | 髙・﨑・濱 ↔ 高・崎・浜 |
| 建物名の混入 | …2-3 銀座ビル4F |
入力した人が悪いわけではありません。役所の正式表記・郵便の慣習・営業担当のメモ書きが混ざれば、必ずこうなります。
Excelでできる範囲(まずは無料で)
数十行で、ゆれ方が単純なら、Excelだけでもある程度は戦えます。
① 全角→半角: ASC関数
=ASC(A2) で全角英数字を半角にできます(漢数字には効きません)。
② 決まった置換: SUBSTITUTE関数
=SUBSTITUTE(SUBSTITUTE(A2,"丁目","-"),"番地","-") のように重ねます。パターンが増えるほどネストが深くなります。
③ 重複チェック: COUNTIF
整えた列に対して =COUNTIF(範囲,セル)>1 で重複を炙り出します。
ここまでが現実的な限界です。漢数字の位取り(「二十三番地」)、7種類のハイフン、「字」の省略、旧字体…これらを関数で全部潰そうとすると、式が誰にも読めなくなり、メンテ不能になります。実際、この作業で丸一日溶けた、という話はよく聞きます。
発想の転換: 文字を揃えるのではなく「場所」で照合する
ここが本質です。表記ゆれ問題のゴールは文字列を美しくすることではなく、「同じ場所を指しているか」を判定することのはずです。
だったら、住所を文字のまま比べるのをやめて、緯度経度(座標)に変換してから比べればいい。「銀座1-2-3」も「銀座一丁目2番3号 銀座ビル4F」も、変換すれば同じ座標になります。ビル名が付いていても、書き方が違っても、座標は嘘をつきません。
手順は3ステップです。
- 住所リストに緯度・経度の列を追加する(下のツールで一括変換)
- Excelで「緯度&経度」を連結した作業列を作る(
=C2&","&D2) - その列でCOUNTIF・重複の削除を実行する
住所→緯度経度の一括変換は、登録不要で30行まで無料で試せます。
表記ゆれ(全角半角・漢数字・字・旧字体など)はツール側が自動で吸収します。
変換の「精度」も確認できます
タスデータの変換結果には「位置精度」という列が付きます。番地(ピンポイント)・町丁目(町の代表地点)・市区町村(参考値)の3段階で、どこまで正確に特定できたかが行ごとにわかります。特定できなかった行は「要確認」列に理由が入るので、ダメだった行を隠されて集計がズレる、ということがありません。
まとめ
- 住所の表記ゆれはパターンが多く、Excel関数での完全統一は現実的でない
- ゴールは文字の統一ではなく「同じ場所か」の判定 → 座標に変換して照合が確実
- 30行まで登録不要で無料。うまくいったら本番リストで(無料アカウントで月100行)