
No.8ベストアンサー
- 回答日時:
例のように漢字と数字(文字列)とが続いている場合のソートの方法は、適当な関数が用意されていないので、ちょっと面倒くさく、次のようになります。
(他にも方法はありますが、これが分かり易いので...)番地順にソートするには、番地の部分を抜き出して、数字に変換するか、または番地の頭に"0"を幾つか追加して、この番地に対して行えばよいことになります。
これには、何段階かの手順を踏みますので、シート内の右の方の住所録には使わないセルを作業用として割り当てます。今回は、A列に住所が書かれており、E列目より右が空いていて、作業用として使えるものと仮定します。
手順は、
1)住所の中には"-"が複数あるのが通常ですから、ソートに不要な最初の"-"位置から後を削除するために、"-"の位置を検索します(G列)。
2)住所の"-"以降を削除した新しい住所を作成します(H列)。
3)この住所中のそれぞれの数字の位置を検出します(I列~Q列)。
4)その中の最小値を見つけます(F列)。
5)この位置以降が番地となりますので、この部分をとりだし、数値に変換します(E列)。
最後に、ソートしたい住所をA列~E列を含めて、選択し、E列についてソートし目的が達成できます。
エクセルで作業をするときこのように空いたセルを利用して作業を行えば分かり易く間違えのない作業が出来ます。
具体的には、
1)G列に、「=SEARCH("-",A1)」または「=SEARCH("-",$A1)」の関数を入れます。
2)H列に、「=LEFT(A1,G1-1)」または「=LEFT($A1,$G1-1)」の関数を入れます。
3)I列に、「=IF(ISERR(SEARCH("1",$H1)),"",SEARCH("1",$H1))」の関数を入れます。
"1"の中の数字は、住所内の数字と同じ形式(全角の場合は全角での意味)にします。
SEARCH関数は、検索文字列が見つからない場合には"#VALUE!"エラーを返しますので、セルを空欄にします。
このI列のセルをJ列~Q列までまでコピーし、"1"の部分をそれぞれ"2"~"9"に変更します。
4)F列に、「=MIN(I1:Q1)」または「=MIN($I1:$Q1)」の関数を入れます。
5)E列に、「=VALUE(MID(H1,F1,50))」または「=VALUE(MID($H1,$F1,50))」の関数を入れます。
関数中の[50]は、引数を入れないとエラーとなりますので、住所の文字列より多い数を入れます。多すぎる場合にはエラーとなりませんので多目の数字を入れます。
最後に、例の場合だと("A1:E4") または("A1:Q4")を選択し、[データ]→[並べ替え]→[優先されるキー] 1番目[昇順]を選び[OK]を押して、目的達成です。
この後、不要ならば、作業領域のセルを削除してください。
No.10
- 回答日時:
こんばんは。
私は、以前、某掲示板をROMしていた時に、似たような話の覚えがありますが、現実のデータでは、ものすごく難しいと感じました。以下のようにしてみましたが、自分でも疑心暗鬼です。
一応、アラビア数字が書かれているものとします。
ただ、数字がどこに出てくるか分からないからです。せめて、市町ぐらいならよいのですが、[市町]がないとすると、訳が分からなくなってきます。また、漢数字で、最後だけが、アラビア数字だと、誤動作します。
ユーザー定義関数です。
(標準モジュールに貼り付けます)
'------------------------------------------------------
Function FigPickup(arg As Variant) As Double
'住所の中から、数字のまとまりを二つだす関数
Dim myStr As String
Dim Matches As Object
Dim Match As Object
Dim buf As String
If VarType(arg) <> vbString Then Exit Function
myStr = StrConv(arg, vbNarrow)
With CreateObject("VBScript.RegExp")
.Global = False
.Pattern = "[区市町]\D*(\d+-?\d*)"
Set Matches = .Execute(myStr)
If Not Matches Is Nothing Then
Set Match = Matches(0)
buf = Replace(Match.SubMatches(0), "-", ".")
End If
FigPickup = buf
End With
End Function
'------------------------------------------------------
住所 数字
東京都東京市大畑878-9 →878.9 =FigPickup(A1)
XXX都XXXX区XXXX1-26-1 →1.26 =FigPickup(A2)
という数字を出してきます。
この出てきた数字で並べ替えればよいです。ただ、うまくいくのか、疑問が残ります。
No.9
- 回答日時:
No.8です。
書き忘れましたので、追加します。5)まで終了しましたら、(E1:Q1)を選択し、選択範囲の右下の「+」を左クリックしたまま、住所が書き込まれている最後の行まで、ドラッグしてコピーします。
これで、住所が書き込まれている全行のE列~Q列に関数が書き込まれました。
このあと、「最後に、・・・」を実行してください。
No.7
- 回答日時:
どうしてもであれば
住所1、住所2、住所3...として
住所1に東京都~大畑までを入力
住所2に88、住所3に14、住所4に次の番地を数字で入力し
ソートキーを住所1を第一キー、住所2を第二キー、住所3を第三キーとすればソートできます
住所表示は別セルで&でつなげば出来ます
要するに数字セルは数字、文字セルは文字に分ける事が大事です
No.3
- 回答日時:
No.2
- 回答日時:
ソートは、数字の昇降順なので、一般の方法では、多い順か、少ない順にしか並べ替えは出来ないでしょう。
自分の並べたいようにインデックスを付けるしか、ないのでは・・・No.1
- 回答日時:
東京都東京市大畑 88-14
東京都東京市大畑 88-15
東京都東京市大畑878-9
東京都東京市大畑882-10
の様にデータを修正するしか無いのでは
(並べ替えの判定手順から見て)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
エクセルで住所の番地順に並べ替えるには?
Excel(エクセル)
-
エクセル2007 番地の並び替えがうまくいきません
Excel(エクセル)
-
【エクセル、並び替えについて】
Excel(エクセル)
-
-
4
EXCELで住所の並べ替え
Excel(エクセル)
-
5
地番を順に並べたい。
Windows 8
-
6
エクセルで市町村ごとの並び替え
Excel(エクセル)
-
7
Excelで住所を2つ(町名迄と番地以降)に分けるには?
Excel(エクセル)
-
8
エクセル:文字列+全角数字が入力されたセルの並び替えについて
Excel(エクセル)
-
9
桁の違う数値での並び替え
Excel(エクセル)
-
10
EXCELのハイホン区切りの数字並べ替えについて教えて下さい
Excel(エクセル)
-
11
エクセルで文字が混じった数字を並べ替えしたいのですが
Excel(エクセル)
-
12
エクセルで住所の混在する「丁目番号番地」を「-」に一括変換する方法ってありますか?
Excel(エクセル)
-
13
エクセルの関数で1つのセルに入っている住所を丁目までと番地以降に分けたい
Excel(エクセル)
-
14
住所を揃えるにはどうしたらいいのでしょうか?
Excel(エクセル)
-
15
ExcelやAccessで住所と番地を分けたい
その他(悩み相談・人生相談)
-
16
漢字の「原」の点のないものはPC上では現せないでしょうか?
日本語
-
17
式典における来賓の紹介方法
伝統文化・伝統行事
-
18
エクセルの並び替えについてお願いします
Excel(エクセル)
-
19
エクセルで「丁番地」を変換する方法を教えて下さい
Excel(エクセル)
-
20
「弊社○○のご紹介で初めてご連絡差し上げました」であってますか?
日本語
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
単語の並列(、や)の仕方教え...
-
近郊ってどこまでの範囲?
-
お見えですか? と尋ねる言...
-
理髪店の休日について
-
ホタテの発音
-
東京、カタカナで書いたら.....?
-
東京都の「町田」って何区?
-
エクセル:住所の番地順に並び...
-
鉛筆のとがった状態を表す言葉...
-
あなたは関西人関東人どちらが...
-
教育実習の謝礼金について
-
味噌汁を吸う・・・方言?
-
東京23区の特徴を一言で言うと?
-
東京湾って漁業権てあるのですか?
-
論語で「寝ぬるに尸せず。居る...
-
神奈川県で一番大きい業務スー...
-
東京の人冷たいってことは、関...
-
都内の市内局番が3桁化される前...
-
47都道府県のおもしろい別名、...
-
中途半端な大都会と言えば・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報