• 締切済み

excel2016でマクロを使用して住所並び替え方

excel2016でマクロを使用して住所並び替えしたいです やりたいことは以下になります 以下のようにバラバラの住所録を町名ごとに 出来れば50音順で、ふりがなをふったりセルに何か入力しなければ出来ない場合は町名毎に並べ替え、町名以降の番地順のみで並べ替えしたいです 東京都杉並区阿佐ヶ谷北1-1-1 東京都杉並区阿佐ヶ谷北1-1-2 東京都杉並区阿佐ヶ谷北1-1-3 東京都杉並区井草1-20-1 東京都杉並区井草1-25-4 東京都台東区谷中1-2-1 東京都台東区谷中1-28-3 のように順番ごとに並べ替えたいです 例; 東京都杉並区井草4-22 東京都杉並区阿佐谷北6-12-7 東京都台東区池之端1-3-45 東京都台東区池之端1-4-22 東京都杉並区阿佐谷北6-12-10 東京都台東区谷中3-4-12 東京都台東区谷中3-4-5 東京都杉並区阿佐谷北6-12-5 東京都杉並区今川1-19-21 東京都台東区浅草1-12-4 東京都杉並区今川1-13-16 東京都中央区入船1-1-17 東京都中央区勝どき5-12-9 東京都中央区入船1-4-3 東京都台東区谷中3-4-8 東京都杉並区今川1-13-6 東京都杉並区今川1-13-4 東京都中央区勝どき5-3-10 東京都台東区池之端1-4-21 東京都中央区入船3-5-8 よろしくお願い致します

みんなの回答

回答No.9

【補足】郵便番号ウイザードを利用しなくても 1、郵便番号を付与する。 2、東京都、市区、町村に分割する。 3、それぞれに正規の読みを付与する。 は、式一発で出来るようですよ。で、質問者、これをやったらどうですか?

回答No.8

面目ない!あいうえお順+番地順は、こっちかも知れない。訂正しておきます。 東京都台東区谷中3-4-12 東京都台東区谷中3-4-5  ↓ 東京都台東区谷中3-4-05 だろうから・・・ なお、フリガナ変換は、以下の関数でOK! Public Function Furigana(ByVal strText As String) As String   Furigana = Application.GetPhonetic(strText) End Function 取り敢えず!

回答No.7

【何度もスマン】あいうえお順もいけたかもです。 ちょっと、面倒臭いが、やって見る気があれば連絡を!ただし、明日は手術。退院は明後日。で、手順の詳細は、明後日の夕方頃になります。

回答No.6

【お詫び】番地を求める関数は、本当は次のよう。 Public Function FindChar(ByVal strText As String, ByVal strCharList As String) As Integer   Dim I As Integer   Dim L As Integer   Dim P As Integer   Dim C As String      L = Len(strText & "")   For I = 1 To L     C = Mid(strText, I, 1)     If InStr(1, strCharList, C) Then       P = I       Exit For     End If   Next I   FindChar = P End Function  まあ、エクセルで可能なようだから無用の長物ですが、一応、訂正しておきます。

回答No.5

【補足】番地の始まる位置を取得する関数。 Public Function CharFind(ByVal strText As String, ByVal strCharList As String) As Integer   Dim I As Integer   Dim J As Integer   Dim L As Integer   Dim N As Integer   Dim P As Integer   Dim C() As String      C() = Split(strCharList & ",", ",")   N = UBound(C())   L = Len(strText & "2")   For I = 0 To N     For J = 1 To L       If Mid(strText, J, 1) = Trim(C(I)) Then        P = J        Exit For       End If     Next J     If P > 0 Then       Exit For     End If   Next I   CharFind = P End Function  これで、先の要領で並び替えられる筈です。

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.4

今晩は、横から失礼します。 >excel2016でマクロを使用して住所並び替えしたいです  マクロは必要ありません >バラバラの住所録を町名ごと  町名ごとですか?町名順なら並び替えでよいのですが  フィルタ機能は如何ですか  列名をアクティブにしてからデータリボンのフィルタをクリックします。  項目名の右側の▽で、全ての住所名に(チェックボックス チェック)がついています。  すべて選択の(チェックボックス チェック)を外すと他の(チェックボックス チェック)も外れます。  改めて必要な住所に(チェックボックス チェック)を入れます添付図  分類ツールもこのデータリボン内にありますね >出来れば50音順で  住所はどの様にして登録しましたか  ・一つ一つかな漢変換入力なら入力した漢字についていますので   50順になります  ・郵便番号より、変換するとこれがふりがなになります  ・他のファイルからのコピペならJISコード順なのでオン読み順に >ふりがなをふったりセルに何か入力しなければ出来ない場合は町名毎に並べ替え、町名以降の番地順のみで並べ替えしたいです  この必要は無いでしょう、あるとしたら郵便番号の追加でしょう

回答No.3

Q、町名+番地で昇順に! A、それは、出来ているも同然。  初回回答の2番目に番地が始まる位置を示す数字があります。この数字を手掛かりに住所を町名までと番地に分割しています。で、町名の末尾に10個のスペースを付加し、その後に町名をくっ付けます。後は、エクセルのメニュー昇順をクリックするだけ。が、先ほど、番地が始まる位置を求める関数を消しました。明日、それをもう一度書くのでお待ちください。まあ、それとも、番地が始まる位置を求める関数を自作するか?OKWaveで質問するか?どっちでも、いいです。なお、この補足に対する返信は無用ですよ。

回答No.2

Q、町名以降の番地順のみで並べ替えしたいです。 A、とは、添付図のようにかな?

ryuujinn11
質問者

補足

f_a_007さん、返信ありがとうございます 重複する町名は揃えたいです なので、 A1の直ぐ下に、A10、A14の町名+番地をA2、A3に並べ替えたいです

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

総論的な話を書いてみます。 次の2つが問題になる。 (A)区切りの問題 下記(1)-(4)を分けた住所をデータを持っている場合は少ない。 ひと続きの文字列になっている場合が多い。(1)-(4)が、スペースででも区切られておればVBAで処理しやすいが。 (B)並べ替える基にするデータの存在 (B)は日本の慣行からして、フリガナのデータが必要なばあいがほとんど。 ーーー 住所の大まかな区分は、 (1)・都府県の文字部分 (2)・区の文字部分 (3)・町の文字部分 (4)・丁目番地の、文字数字か数字記号部分 (5)・マンション名などの部分 を、エクセルで言えば「列」ごとに、一旦分けないと、ソートがうまく行きません。 ーー (1)、(2)はエクセルの関数でも、行う方法は、WEBを調べればたくさん記事がでます。またVBAでも簡単に出来ます。 ただし文字でやると、例外はありますので考慮が必要。例 四日市市 町と丁目・番地部分をVBAで分けるのは、少しむつかしい。 ーー 分けることができれば、後は優先列を指定して並べるだけです。 また操作ででも、できるのでVBAにこだわる必要がないです。 ==== フリガナの問題もVBAで自動でやるのは、むつかしい。 地名は独特の読み方をするのが多いから。 ただ、GetPhonetic関数の利用があります。 少数例で、私の場合は下記ですが。 どこかからコピーした文字列(そのシートに直接打ち込んだデータでない場合)だとうまく行かないかも。 A列    B列(実行結果) 東京都 トウキョウト 神奈川 カナガワ 四谷 ヨツヤ 渋谷区 シブヤク 本郷 ホンゴウ 御茶ノ水 オチャノミズ 秋葉原 アキハバラ 西原 ニシハラ 雑司ヶ谷 ゾウシガヤ ーー B列は Sub Sample1() Dim x As String For i = 2 To 10 ’9行分の例 x = Cells(i, 1) Cells(i, "B") = Application.GetPhonetic(x) Next i End Sub で出したもの。2013の例。 質問者の使うエクセルの場合に、うまく行くかな。上手く行けば使えるでしょう。 ーー ただし下記のような記事があります。 http://officetanaka.net/excel/vba/tips/tips49.htm >注意:これ、最近はできなくなったようですね。Excelというか、MS-IMEの仕様変更かもしれませんね。 ーー 追記 OKWAVEの質問記事の例からコピーして、A列に貼り付けて、上記を実行すると 東京都杉並区今川 トウキョウトスギナミクイマガワ 東京都中央区勝どき トウキョウトチュウオウクカチドキ 東京都台東区池之端 トウキョウトタイトウクイケノハタ 東京都中央区入船 トウキョウトチュウオウクイリフネ になりました。ただし、都+区+町名等分離以前データです。 以上参考に。 === CSVデータにして、市販年賀状ソフト(住所録作成機能部分)などに読み込ませて目的を達せられないか。 VBAも自由自在ではないだろうから、自作ではなくて、フリーのソフトで、使えるものはないかを探す、などが本筋かとも思う。

関連するQ&A

  • 【Excel】住所を分ける方法

    こんにちは DM発送用の名簿を整理しています。 F列に、住所欄に 都道府県 市町村 町名番地 建物名 号室 までが 一つのセルに入力されています。 小さめのタックシールの為、印字する際、 都道府県 市町村 町名番地の文字が、 12文字を超えると見にくくなります。 ※それを超えても文字を縮小して全体を印字します。 番地と建物名の間にスペースがあるので、そこで分けるようにして 建物名および号室は、H列に移動しました。 住所(都道府県 市町村 町名番地)の文字が12文字を超える場合、 町名のところでG列に分ける方法を教えて下さい。 東京都六王子市海山川町88-888 青空荘88号室 このような住所の場合、 青空荘88号室 はH列に移動しました。 東京都六王子市海山川町88-888 は、12文字を超えるため、 列を分けたいのですが、 東京都六王子市海山川町8 | 8-888 とならないように、 東京都六王子市海山川町| 88-888 若しくは、 東京都六王子市|海山川町88-888 となるようにしたいと思います。 Excel2013です。 よろしくお願いします。

  • 住所間違ったらどうなる?佐川ヤマト郵便amazon

    住所というのは例えば東京都と書いてあるのに以下千葉の町名、地域だったりすることです

  • サーバサイドで現在位置の取得

    初めて質問させて頂きます。 aspでも、phpでも、javaでもいいのですが、携帯からWebサイトへアクセスした場合、サーバサイドのプログラミングで現在いる場所の郵便番号、または住所を取得することはできますでしょうか。 例えば、東京都杉並区南阿佐ヶ谷からサイトへアクセスした場合・・・ 「166-0004東京都杉並区阿佐谷南」を情報として取得したい。 御存知の方おられましたら御教授下さい。

  • EXCEL2007で2列の入力内容を集計するには?

    EXCEL2007で、次のような集計をどうするかわからず、困っています。 たとえば、各入力行に、 ----- 東京都  杉並区 東京都  千代田区 神奈川県 瀬谷区 神奈川県 横浜市 東京都  千代田区 東京都  武蔵野市 東京都  杉並区 神奈川県 横浜市 東京都  千代田区 ----- ...のように、2列にそれぞれ文字列が入っているデータにおいて、2列の語句の組み合わせで一番多いものをカウントアップし、多いもの順に表示させたいのです。 上の例でいえば、 東京都  千代田区 3 東京都  杉並区 2 神奈川県 横浜市 2 東京都  武蔵野市 1 神奈川県 瀬谷区 1 のようにカウントしたものを作りたいのです。 2つの語句を結合してしまってからピボットテーブルを使えばできそう、とまではわかってきたのですが、できれば2列に分かれたまま集計したいです。 お知恵をお貸しください。

  • 勝どき橋といえば何が思い浮かびますか?

    東京都中央区にある勝どき橋といえば、 皆さんは何が思い浮かびますか? ※私はよく都営バスに乗って勝どき橋を通ります。  月島や勝どきの界隈をぶらぶらしていると、  どこかで『瞳』ちゃんに会えそうな気分になります。

  • Excel 住所分け

    都道府県列に 東京都渋谷区神宮前1-13-23 ●●●ハウス 東京都世田谷区南烏山5丁目11-3 千葉県柏市若柴178番地4柏葉キャンパス6F と入ってますそれを 都道府県 市区郡 以降の住所(町名・番地) ビル名 と分けたいです。↑は最初から入ってます。 番地とビル名の間はスペースあったりなかったり 番地の表示も色々です。 F列     G列         H列         I列        都道府県  市区郡   以降の住所(町名・番地)   ビル名 東京都   渋谷区   神宮前1-13-23        ●●●ハウス 東京都   世田谷区  南烏山5丁目11-3 千葉県   柏市    若柴178番地4         柏葉キャンパス6F

  • 言問通りの警察官

    本日8月19日 東京都台東区の言問通り 上野桜木~谷中~根津のあたりに 15mおきくらいに一人の割合くらいで警察官が立っています。 どうしてあんなに沢山配備されているのか ご存知の方がいたら教えてください。

  • 東京都杉並区☆☆☆お伊勢の森☆☆☆

    東京都杉並区、早稲田通り高円寺阿佐ヶ谷付近に 「お伊勢の森」というバス停があります。 ここの場合、お伊勢の森って何ですか?どこですか? 検索しても「コレ!」というものが見当たりません。 どなたか教えてください。

  • 住所から郵便番号に変換したい

    IMEで住所から郵便番号を変換して調べたいのですが、町名まで打って変換しても「東京都」のところまでを文節と判断してうまく郵便番号に変換されません。 強制的に町名までドラッグ指定して変換するとすべてカタカナやひらかなの候補しか出てきません。 プロパティの郵便辞書変換にはチェックは入っているのですがやり方がまずいのでしょうか。

  • 新婚カップルがアパート借りて住む東京何区がお勧め?

    家賃は10万ぐらいで、 治安がよくて、便利って、 東京では何区が一番人気ありますか? 1 足立区 13 墨田区 2 荒川区 14 世田谷区 3 板橋区 15 台東区 4 江戸川区 16 千代田区 5 大田区 17 中央区 6 葛飾区 18 豊島区 7 北 区 19 中野区 8 江東区 20 練馬区 9 品川区 21 文京区 10 渋谷区 22 港 区 11 新宿区 23 目黒区 12 杉並区    

専門家に質問してみよう