[[20030825132505]] 『地域ごとの集計したい』(しましま) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『地域ごとの集計したい』(しましま)

住所が入力されている列があり、
○○町、●●町、□□は北部。
▲▲町、△△町は南部。
と地域わけをし、集計したいと思っています。
住所は ●●市●●区●●町1-1 という風に入っています。
できそうで、うまくいかず困っております。
わかるかたいましたら、教えてください。
よろしくお願いいたします。


 多分もっといい数式があると思いますが考えていたらグチャグチャになってしまいました。
 =IF(ISERROR(MID(A1,FIND("町",A1)-(FIND("町",A1)-FIND("区",A1))+1,FIND("町",A1)-FIND("区",A1)))=FALSE,MID(A1,FIND("町",A1)-(FIND("町",A1)-FIND("区",A1))+1,FIND("町",A1)-FIND("区",A1)),IF(ISERROR(MID(A1,FIND("町",A1)-(FIND("町",A1)-FIND("市",A1))+1,FIND("町",A1)-FIND("市",A1)))=FALSE,MID(A1,FIND("町",A1)-(FIND("町",A1)-FIND("市",A1))+1,FIND("町",A1)-FIND("市",A1)),MID(A1,FIND("町",A1)-(FIND("町",A1)-FIND("郡",A1))+1,FIND("町",A1)-FIND("郡",A1))))
 とすれば町名だけ抽出出来ると思います。(チョット自信がない・・・)
後はVLOOKUP辺りで地区を出せば出来ます。頭がグチャグチャの(ケン)

 ようこないな長い式を....atamaokasii
      頭正常の弥太郎

 わっ!ばれた(T_T)でも、だれにも言わないでくださいね。あっ!でもramrunさんはTENSAIの
間違いですよ。警告!失礼な弥太郎さんへ (ケン)

 え〜っ! 天災やてぇ! ほんな失礼なっ!
 早よこのスレ落とさな覗かれんでえ、わしゃ知〜らん、ト。
         (おいぼれ弥太郎)

 ケンさん凄い式ですネ!単純に条件を満たす町名抽出をしてみました。
 『住所は ●●市●●区●●町1-1 という風に入っています。』の条件のみを満たす町名は
 =IF(ISERR(OR(FIND("区",A1)=0,FIND("町",A1)=0)),"",MID(A1,FIND("区",A1)+1,FIND("町",A1)-FIND("区",A1)))
それ以外は空白で手動操作(手抜き)
 (シニア)

 やっぱりその位の方がいいのですかネ〜。せめて●●市●●町とか●●郡●●町くらいは
と思って考えていたら、ものすご〜くなが〜い式になってしまいました。我が師匠のシニアさん
(勝手に言っているだけ)ならどこまで、もとめますか?(ケン)

 シニアさんの式を見てから自分の式を見たらすごくバカな事してますね。
FIND("町",A1)-(FIND("町",A1)-FIND("区",A1))+1
バカですね。頭グチャグチャの(ケン)
     

 横入りして、すみません。
 "町"がつかないものについても考えてみました。
 そのかわり町名より前もくっついたままです。

 住所がC列にあるとして、D列に(なんだか全然スマートじゃなくて恥ずかしいんですが)

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(C2,1,9),2,9),3,9),4,9),5,9),6,9),7,9),8,9)

 として、番地をすべて9にしてしまいます。さらにE列に、
 =LEFT(E2,FIND(9,E2)-1)

 として番地以前を抽出してみました。このままソートしてデータの集計機能で町ごとの集計は可能です。
 南北の地域分けは、町名一覧でも作成してVLOOKUPでひっぱってくればいいかなぁと。
 これじゃ、だめ、ですか。    (kuro)

 ケンさんの「あなたなら何処まで求めますか?」の返答は過去ログ
[[20030407215436]] 『1セル内に入力された住所を3セルに分割する方法』(ひゆ) 
  市の抽出は以下7市が市の文字が2文字あります。 
千葉県八日市場市、市川市、市原市 栃木県今市市 三重県四日市市 滋賀県八日市市 広島県廿日市市 
 市田町のようにキーになる文字が町名内にあったり、で対応は困難です。
kuroさんの言われるように、区があって町名がない住所が結構ありこれに対応する式を提示していただきました。
このような場合に住所と丁目や番地の前に半角空白文字が入力されていれば
 =IF(ISERR(FIND("区",A1)=0),"",MID(A1,FIND("区",A1)+1,FIND(" ",A1)-FIND("区",A1)))
で対応したいのですが" "がなければ#VALUE!が返されてしまいます。住所と番地の間に半角空白を入れれば表示されます。
 (シニア)

 ありがとうございます。シニアさんにはいろいろ教えて頂いてばかりで、恐縮です。(ケン)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.