エクセルで住所リストの番地をそろえる

PC/IT

取引先の管理や年賀状の作成のために、エクセルで住所のリストを管理することがあります。

その際に複数の人で1つのリストを手分けしてチェックし、加筆修正した場合には、漢数字と数字の混在、半角数字と全角数字の表記の混在が起こります。

これは人によっては「そこまで気にすることか」と思うかもしれません。
しかし、データとして扱う場合は、必ずそろえておくことが管理の点では重要となります。

エクセルのデータを他の管理ソフトに取り込む場合は、同じ「1」という数字でも半角と全角が違っていたら取り込めずにエラーということもあります。

また、住所リストのエクセルを用いてワードで年賀状を作る場合には、表記をそろえておくことで、レイアウト修正が楽になります。

今回は、エクセルの住所リストで番地表記の数字をそろえる方法を書いています。

半角数字と全角数字をそろえる

1つ違うだけなら手修正で問題ないでしょう。
しかし、数百のリストの場合は、修正が必要な場所を探すことも、修正することも、どちらも大変になってしまいます。

方法としては、キーボードの「CTRL」と「H」を押して出てくる「検索と置換」で置き換えたい文字を上に、変えた後の文字を下に入力します。
たとえば、下の図だと、全角数字の「1」を半角数字の「1」に置き換えています。

これを「0」から「9」まで繰り返せば、全角数字を半角数字に変えることができます。
ただし、10回同じ繰り返しを毎回行うのは手間になります。

こういうときは、関数を使うと便利です。

たとえば、A1セルに「山川県谷中市花木町竹台10丁目20番地30号」という、1と2と3が全角、0が半角で入っている住所があったとします。

その場合に、数字をすべて半角にしたいときは、「ASC」という関数を使います。
空白セルに「=ASC(A1)」と入力して「Enter」を押します。
「山川県谷中市花木町竹台10丁目20番地30号」のように半角数字になります。

反対に、数字をすべて全角にしたいときは、「JIS」という関数を使います。
空白セルに「=JIS(A1)」と入力して「Enter」を押します。
「山川県谷中市花木町竹台10丁目20番地30号」のように全角数字になります。

上の図では説明の都合で縦に並べています。
実際には、住所が縦に並んでいるリストのため、横のセルに「ASC」や「JIS」でそろえた列を作ることになります。

なお、エクセル関数は最初の行だけ入れると、あとはセルの右下隅をマウスでドラッグ(左クリックしたまま下にひっぱる)と自動で関数が入ります。

このままだと、文字列ではなく計算結果の関数になっているため、右クリックで「コピー」→「値の貼り付け」をすることで文字列として、自由に編集することができます。

数字を漢字にそろえる

普段の住所管理では必要ないかと思います。
年賀状など、はがきで縦書きで住所を書いて送る場合、数字を漢字にすることがあるかと思います。

先に出てきた「検索と置換」を繰り返して、数字を漢数字にするのも1つの方法かと思います。

実は、置換ができる関数があります。
「substitute」という関数を使うと、関数で置換することができます。
「substitute(変えたいセル、”変えたい文字”,”変えた後の文字”」のように入力します。

A1セルにある文字の数字「1」を漢数字の「一」に変えたいときは、
空白セルに「=substitute(A1,”1″,”一”)」と入力して「Enter」を押すと変えることができます。

これを0から9まですべて変換する関数をあらかじめ作っておけば、あとはコピペするだけで変換できます。

たとえば、A1セルに「山川県谷中市花木町竹台17丁目29番地30号」とあり、住所の数字を漢数字にしたい場合は、次のようにします。

まず、右のB1セルに次の式をコピペします。

=substitute(substitute(substitute(substitute(substitute(A1,”1″,”一”),”2″,”二”),”3″,”三”),”4″,”四”),”5″,”五”)

カッコや同じ文字の連続などで意味が分からないかもしれません。
A1セルの内容を拾って、1,2,3,4,5を順番に漢数字に変えていく、という意味の算式です。

これで、数字の1から5が漢数字に代わります。
「山川県谷中市花木町竹台一7丁目二9番地三0号」という表示で、6から0は変わりません。

そのため、さらにその右のC1セルに次の式をコピペします。

=substitute(substitute(substitute(substitute(substitute(B1,”6″,”六”),”7″,”七”),”8″,”八”),”9″,”九”),”0″,”〇”)

これで、数字6から0が漢数字に代わります。
(「ゼロ」は漢数字のかわりに「〇(まる)」を使用しています)
「山川県谷中市花木町竹台一七丁目二九番地三〇号」と、すべて漢数字になりました。

このままだと、文字列ではなく計算結果の関数になっているため、右クリックで「コピー」→「値の貼り付け」をすることで文字列として、自由に編集することができます。

substitute関数での変換を2回に分けたことに疑問を持つ人がいるかもしれません。
0から9まで一気にやってみたところ、エラーになってできなかったからです。
長いのが原因かなと思うのですが、2つに分けたらうまくできたので2つに分けて使っています。

これは、あらかじめメモ帳などに算式を保管しておき、必要に応じてエクセルにコピペするといった使い方をしています。

少ない数の修正ならこの関数使うより手修正のほうが早いため、住所リストの数が多いときに使うと良いでしょう。

まとめ

エクセルの住所リストで番地表記の数字をそろえる方法のまとめです。

  • 「CTRL」と「H」の置換機能を使って変換する
  • ASC関数を使ってすべて半角にする
  • JIS関数を使ってすべて全角にする
  • substitute関数を使って変換する

複数人で管理する場合、あらかじめルールを決めるべきだと思います。
それでも表示の混在が起こる場合は、上記の方法で必要に応じて表示をそろえることで対応できるかと思います。

タイトルとURLをコピーしました