こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

住所データから番地のみ取り出し○丁目と表示したい

6,000件ほどの住所データ(エクセル)があります。(一都三県)
そこから番地の「丁」部分の数字のみを取り出して「○丁目」と表示させたいのですが、
例外の表示もあり苦戦しております。
住所データの番地部分(数字とハイフン)は全角です。

     A                      B (表示させたい)
1 神奈川県横浜市旭区善部町3-2     3丁目
2 埼玉県戸田市下前2-8-18        2丁目
3 神奈川県高座郡寒川町宮山928-1    -
4 神奈川県横浜市青葉区みたけ台21     -

いろいろ調べてみてA1やA2の場合は下記の数式で希望の表示ができましたが、
A3やA4の住所もあるため、この場合はハイフン前の「8丁目」と表示されてしまいます。
数式=MID(I4816,FIND("-",I4816)-1,1)&"丁目"

また二桁の丁目もあることにも気づき、混乱しております。
1つの作業数式でなくてもかまいませんのでご教授願います。
(WinXP、office2002)

投稿日時 - 2011-07-19 16:04:15

QNo.6885652

困ってます

質問者が選んだベストアンサー

必ずしもーが付いた番地で最初の数値が丁目になるとは限りませんので完全な答えを得ることは難しいでしょう。
仮にーが付いた番地の初めにある数値を丁目とするならば例えばB1セルには次の式を入力して下方にオートフィルドラッグすればよいでしょう。

=IF(ISNUMBER(MID(A1,FIND("-",ASC(A1))-3,3)*1),MID(A1,FIND("-",ASC(A1))-3,3)&"丁目",IF(ISNUMBER(MID(A1,FIND("-",ASC(A1))-2,2)*1),MID(A1,FIND("-",ASC(A1))-2,2)&"丁目",IF(ISNUMBER(MID(A1,FIND("-",ASC(A1))-1,1)*1),MID(A1,FIND("-",ASC(A1))-1,1)&"丁目","")))

投稿日時 - 2011-07-20 06:47:56

補足

住所データと地図を比較して調べてみると、1-2-3の場合以外は丁でない可能性が高いことが
わかりました。(恐らく例外もあるかと思いますが)
よって、文字列内の"-(ハイフン)"が2つあるとき、"-"の前の1文字を取り出す式にしました。
(これも二桁の丁がないことが前提なので、かなり粗いですが・・・)

数式=IF((LEN(A1)-LEN(SUBSTITUTE(A1,"-","")))=2,MID(A1,FIND("-",A1)-1,1)&"丁目","")

KURUMITOさんの数式がヒントになりました。ありがとうございました。

投稿日時 - 2011-07-20 12:13:14

お礼

ありがとうございます。この数式でふるい分けできそうです。
この結果から明らかに丁ではないもの(300丁目とか)を検索していこうと思います。

投稿日時 - 2011-07-20 09:59:19

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

エクセルの関数の問題、ひいてはVBAなどプログラムを組んでも、事情は同じで、完全には不可能です。
住所表記や実態は多様であることです。
郵便番号辞書に類した、別途(府県)住所データベースを参照できるだけの、コストをかけられて、プログラム技能があれば、相当進みますが話題外でしょう。
ーー
残るは素直に関数ででもできるデータ・行(2,3タイプか?)とそうでないものを切り分けて(ソートを使えばよい)
少数の残った行について、人間の判断を組み込むこと(人間が判断すること)です。
100行ぐらいならすぐできます。
全部を一律の関数やVBAでやることにこだわらないことが肝心で、これしかない。
それぞれのテーマは個別に整理して別質問がよい。

投稿日時 - 2011-07-19 19:59:54

お礼

やはり難しいようですね。
元々は都道府県・市区郡・町村・丁とわけるために関数とソートを組み合わせてやっていて
最後にきて混乱してしまった状態でした(笑)
私の方法でも間違ってないことがわかってよかったです。

投稿日時 - 2011-07-20 09:39:39

ANo.1

「○○町1-2」と有っても、それが「1丁目2番地」とは限りません。
従って単純に住所のテキストデータから「何丁目」を取り出すのは無理です。

どうしてもとなれば膨大な地名データベースを用意するしかないのではないでしょうか。

投稿日時 - 2011-07-19 16:48:20

お礼

そうなんですよね。いろいろなパターンがあって・・
難しいということがわかってよかったです。

投稿日時 - 2011-07-20 09:42:18

あなたにオススメの質問