過去の桐井戸端BBS (桐ver.9)
25671 半角スペースで区切られた住所のデータを別の項目に分割したい 迷える子羊 2004/03/29-17:19
○○市××町1-1-1 △△マンション101
というような住所のデータがあり
番地とビル名の間がスペースが入力されています。
これをビル名以下を別の項目に移したいのですが
いい方法をご存知の方教えてくださいませんm(。_。;))m ペコペコ…
25674 Re:半角スペースで区切られた住所のデータを別の項目に分割したいのですが 今村 誠 2004/03/29-19:26
記事番号25671へのコメント
迷える子羊さんこんにちは
>○○市××町1-1-1 △△マンション101
>というような住所のデータがあり

このデータのある項目名を[住所]として、この住所の建物部分にコンマ「,」や「,」が入っていなければ
[建物]という項目を新設してその項目の計算式或いは置換式で

#COND(#文字位置([住所]," ")>1,
#文字列反転(#対応文字列(#s(#文字列反転(#TRIM([住所],3))," ",","),1)))

の様にすることも出来ます。

25678 Re:半角スペースで区切られた住所のデータを別の項目に分割したいのですが うにん 2004/03/29-20:15
記事番号25671へのコメント

>番地とビル名の間がスペースが入力されています。
>これをビル名以下を別の項目に移したいのですが

半角スペースのある行だけを絞り込んでから置換。
#部分列([住所],#文字位置([住所]," ")+1)

[住所]の方からビル名を取っ払うには
#部分列([住所],1,#文字位置([住所]," ")-1)

25679 住所表記の分割 佐田 守弘 2004/03/29-20:26
記事番号25671へのコメント
迷える子羊さん
いろいろな方法があります。過去ログにもかなりのものが残っていると
思いますが、私からは最も間違いのない方法を説明します。

現在の住所データを[住所]とします。この表に次の3つの項目を追加して下さい。
・整数:[位置]
・文字列:[住所2]、[建物]

これらの項目には以下の項目計算式を設定して下さい。
@ [位置]:#文字位置([住所]," ")
A [住所2]:#部分列([住所],1,[位置]-1)
B [建物]:#部分列([住所],[位置]+1)
項目計算式に設定すれば、表の再定義を終えた段階で自動的に、[住所2]と
[建物]に目的のデータが入っているはずです。

この後、全データをチェックし、きちんと変換されているかどうかを確かめた後、
項目計算式の設定を削除し、不要な項目も削除して下さい。

中には区切りのスペースが入っていないデータも混じっているかも知れません。
項目計算式を設定した場合には、建物名の前にスペースを書き込めば、自動で分割が行われます。

住所の記載は、案外と間違いが多いものです。置換その他の処理で元データに
変更を加えてしまうと、取り返しが付かなくなる場合があります。
面倒でも上記のように、一度別の項目に変換した値を書き込み、誤りがないかを
確認してから、元データ(この場合には元の[住所])を消す様にして下さい。

佐田守弘(KS-00119)
25692 Re:住所表記の分割 迷える子羊 2004/03/30-13:52
記事番号25679へのコメント
佐田 守弘様

ご指南のとおりやってみたのですが
ビル名があるデータはスペースが入っているので
ビル名が抜き出せるのですが
ビル名が無いデータはスペースが入っていないため
町名がそのまま引っ張られてきます
スペースが入ってないデータは引っ張らない方法はありますでしょうか
m(。_。;))m ペコペコ…

25693 今村様、うにん様、佐田様ありがとうございます 迷える子羊 2004/03/30-13:54
記事番号25671へのコメント
いろいろと試行錯誤しているところです
有難うございます。
25696 Re:住所表記の分割 宮城 2004/03/30-16:31
記事番号25692へのコメント
迷える子羊さん、ちょっとちょっとです。

>ビル名があるデータはスペースが入っているので
>ビル名が抜き出せるのですが
>ビル名が無いデータはスペースが入っていないため
>町名がそのまま引っ張られてきます
>スペースが入ってないデータは引っ張らない方法はありますでしょうか

であれば、最初にスペースが入ってないデータ以外に絞り込めばいいだけです。

原始データから一足飛びに目指すデータが得られるということは現実にはめったにありません。
「,」区切りと思っていたら「、」が混じってたり、ゼロの代わりにオーが紛れ込んでたり。

たとえば、です。
住所データ(できるだけ各都道府県万遍にあるほうがよい)から
「市区町村名」だけを取り出すということをやってみて下さい。
(Jisコード使うといかいうのはなしで。)誤字の類のない由緒正しいデータであっても
一筋縄じゃいかないことはすぐわかると思います。

25708 Re:住所表記の分割 佐田 守弘 2004/03/30-21:54
記事番号25692へのコメント
迷える子羊さん
建物表記がない場合を考えてなかったですね。
以下の式の様にしてみましょう。

[住所2]:#条件選択([位置]>0,#部分列([住所],1,[位置]-1),[住所])
[建物]:#TRIM(#文字置換([住所],[住所2],""),3)

住所まではスペースが入っていない場合でもうまくいっている様ですが、
間違い防止のために、#条件選択関数を使いました。
建物の方は、元々の住所から、建物名を除外した住所2の部分を未定義値に
置き換える(つまり削除する)という意味です。

佐田守弘(KS-00119)

25715 Re:住所表記の分割 迷える子羊 2004/03/31-11:46
記事番号25708へのコメント
佐田さま
以下のご指導のようにやってみたのですが
住所2の関数をいれて保存しようとすると

KD1472:関数の引数の個数が不正です
...[住所],1,[位置]-1),[住所])←

というメッセージがでてしまいました...
教えてくださいませんでしょうか。Y(>_<、)Y

25717 Re:#条件選択式 たゆー 2004/03/31-12:23
記事番号25715へのコメント
前後は読んでませんが

>KD1472:関数の引数の個数が不正です
>...[住所],1,[位置]-1),[住所])←

[住所],1,[位置]-1),1,[住所])
のように、途中に「1」を、追加してみてください

25718 Re:住所表記の分割 迷える子羊 2004/03/31-12:50
記事番号25696へのコメント
宮城さま
初心者なのですいません。的外れな質問をしてしまったようです('〇';)
25720 Re:#条件選択式 迷える子羊 2004/03/31-12:57
記事番号25717へのコメント
たゆー様

有難うございました
見事解決いたしました
25728 Re:#条件選択式 佐田 守弘 2004/03/31-22:44
記事番号25717へのコメント
迷える子羊さん
たゆーさんが訂正して下さったように、3番目のパラメータとして
「1」を記述するのを落してました。
結論はたゆーさんが書いて下さったとおりです。

佐田守弘(KS-00119)

戻る