[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『住所の並び替えについて』(ばら)
はじめてお世話になります。 現在エクセルで顧客を住所順に並べていますが うまくいきません。(下記参照)
(たて並びで) ばら町1-1-3 ばら町1-12-3 ばら町1-2-3
のようになってしまいます。
これを
(たて並びで) ばら町1-1-3 ばら町1-2-3 ばら町1-12-3
のようにしたいのですが、 何か良い方法があれば教えていただけませんか? よろしくお願いいたします。
(Excel2003、WindowsXPを使用しています)
住所は必ず(或いは基本的に) 「○○町 (丁目) ハイフン (番地) ハイフン (号)」 の様になっているのでしょうか?
でしたら、この列をコピーし表の最終列へ貼り付け データ → 区切り位置 と進み ハイフンで区切ると 「○○町 (丁目)」「(番地)」「(号)」 の3つの列に分かれるので、これらの列を使用して 並べ替えを行うのはどうでしょう。
但し、「番地」「号」しかない住所の場合は 丁目の列に番地が、番地の列に号が入りますので 手直しが必要です。
(HANA)
もし可能であれば一つのセルに入力してあるので
それを利用して並び替えをしたいのですが
不可能でしょうか?
ご回答よろしくお願いいたします。
1つのセルに入力している文字列を並び替えると、頭の文字から小さい順(大きい順)に並ぶと 思って下さい。 ですので、"1-2-3"の方が"1-12-3"より大きいと言うようになってしまいます。 ⇒左から3文字目の"2"と"1"では"1"の方が小さいですよね。 ですから分割が必要になります。
或いはマクロで。 (歩行者)
[御参考] [[20030828005606]] 『住所の番地順に並び替えるには』(TSND) (dack)
ん? >この列をコピーし表の最終列へ貼り付け >データ → 区切り位置 と進み >ハイフンで区切ると 自動的に分割されますが・・・。
「再入力するのが面倒だなぁ」 なんて思って居られるのでしたら お試し下さい。
(HANA)
田舎町3丁目14番15号 ばら町3-12-15 田舎町4-12-18 ばら町3-3-8 等と入力されとっても並べ替えます。 その範囲をマウスでなぞってAlt+F8で並べ替え一発を実行 (弥太郎) '--------------------- Sub 並べ替え一発() Dim data As String, rng As Range, i As Long, x Application.ScreenUpdating = False With CreateObject("vbscript.regexp") .Pattern = "(\D+)(\d+)(丁目|-)(\d+)(番|番地|-)(\d+)(.+)*" tbl = Selection.Value Set rng = Selection.Cells(1) ReDim x(1 To UBound(tbl, 1), 1 To 2) For i = 1 To UBound(tbl, 1) data = StrConv(tbl(i, 1), vbNarrow) If .test(data) Then x(i, 1) = .Replace(data, "$1") x(i, 2) = Format(.Replace(data, "$2"), "00000") & "-" & Format(.Replace(data, "$4"), "00000") _ & "-" & Format(.Replace(data, "$6"), "00000") End If Next Sheets.Add.Name = "dmy" With Sheets("dmy") Cells(1, 1).Resize(UBound(tbl, 1), 1) = tbl Cells(1, 2).Resize(UBound(tbl, 1), 2) = x Cells(1, 1).Resize(UBound(tbl, 1), 3).sort key1:=Cells(1, 2), key2:=Cells(1, 3), _ order1:=xlAscending, order2:=xlAscending tbl = Cells(1, 1).Resize(UBound(tbl, 1)) End With End With Application.DisplayAlerts = False Sheets("dmy").Delete rng.Resize(UBound(tbl, 1)) = tbl Application.ScreenUpdating = True End Sub
無用な変数がありましたんで削除 (弥太郎) 9/11 9:55
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.