A 回答 (4件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
住所の数が多かったり、**1丁目02-01とかの入力にしたくない場合の対応例です。
住所の『番地、号』部分を2桁化するユーザー定義関数を作ってみました。これでソートします。
例えば、住所の列の横(C列として)に1列挿入(D列)して、D列に、=番地補正(C2) のようにします。
『番地、号』部分が2桁化されると思うので、この列を基準にソートします。
通常は、この列を非表示にしておけば気にならないでしょう。
『丁目と-』を基準に考えています。入力具合が完全には分かりませんが、うまくいかない場合があれば補足して下さい。
ツール→マクロ→Visual Basic Editor でVBE画面に移り、 挿入→標準モジュールで標準モジュールを挿入します。出てきたコードウインドウに下記マクロを貼り付けます。
Public Function 番地補正(rg As Range)
Dim Jyusyo As String '住所
Dim pot1 As Integer '丁目の位置
Dim pot2 As Integer '『-』の位置
Dim wk1 As String '『-』以下の1文字のチェック用変数
Dim wk2 As String '『-』以下の2文字のチェック用変数
Jyusyo = rg.Text
Jyusyo = Application.Substitute(Jyusyo, "-", "*") '号の後の『-』を無視するため
Jyusyo = Application.Substitute(Jyusyo, " ", "*") '号の後の『 』を無視するため
'番地の2桁化
pot1 = InStr(Jyusyo, "丁目") + 1
pot2 = InStr(pot1, Jyusyo, "*")
If pot2 - pot1 = 2 Then
Jyusyo = Left(Jyusyo, pot1) & "0" & Right(Jyusyo, Len(Jyusyo) - pot1)
End If
'号の2桁化
pot2 = InStr(pot1, Jyusyo, "*")
wk1 = Mid(Jyusyo, pot2 + 1, 1)
wk2 = Mid(Jyusyo & "*", pot2 + 1, 2)
If IsNumeric(wk1) = True And IsNumeric(wk2) = False Then
Jyusyo = Left(Jyusyo, pot2) & "0" & Right(Jyusyo, Len(Jyusyo) - pot2)
End If
番地補正 = Jyusyo
End Function
この回答へのお礼
お礼日時:2002/02/19 18:55
とりあえずやってみたのですが、うまくいきませんでした。データが大量なので、この方法をもう少し研究してみたいと思います。ありがとうございました。
No.3
- 回答日時:
それでは,私はNo.1のgonta_gomaさんの方法をもう少しすっきりとさせたやつを・・・。
**1丁目 1- 1
**1丁目 2- 1
**1丁目11- 1
とスペースを入れるのはどうでしょう?
軒数が多い場合は,No.2のnishi6さんの方法で・・・。
No.4
- 回答日時:
住所データの入っているセルを指定して、
ツールバーの「データ」→「区切り位置」で
「カンマやタブなど・・・」を選択して次へ
区切り文字を「-」としてセルを分割して
並べ替えると上手くいくと思います。
同じような質問が他に出てますので、詳しくは
そちらの回答を参考になさっては如何でしょう?
参考URL:http://www.okweb.ne.jp/kotaeru.php3?q=260031
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 範囲指定をした中で、住所の列をユーザー設定の並べ替えをしたい 3 2022/05/15 13:51
- Excel(エクセル) 【Excel】住所に郵便番号を付記する方法 3 2022/05/07 17:15
- その他(パソコン・スマホ・電化製品) エクセルに詳しい方にお伺いします。50人ぐらいの住所録ですが、フィルターで五十音順に並べ替えたら、一 6 2023/08/07 18:49
- Excel(エクセル) 【エクセル】並び替えからの並び替え方法 7 2022/07/22 09:46
- Excel(エクセル) Excelで、行に複数の数字が入力されているセルが複数の列存在し、行を跨いでセル内の数値を並び替える 5 2022/06/17 18:03
- Excel(エクセル) オフィスをLibreOfficeからmicrosoft 2013に変えました。 1 2022/05/09 00:28
- Excel(エクセル) Excelのソート(並べ替え) 2 2022/05/15 22:54
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- その他(Microsoft Office) 1の行を固定した上でVBAを用いて日付順に自動並べ替え 2 2022/06/06 15:09
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
エクセルで二つの数字の小さい...
-
LOOKUP関数を使えばいいのでし...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
エクセル 文字数 多い順 並...
-
VBAで文字列を数値に変換したい
-
2つのエクセルのデータを同じよ...
-
Excelで半角の文字を含むセルを...
-
エクセルの並び変えで、空白セ...
-
EXCELで 一桁の数値を二桁に
-
エクセルの表から正の数、負の...
-
Excel、市から登録している住所...
-
エクセルで文字が混じった数字...
-
A列がない・・・A列が非表示に...
-
エクセルの項目軸を左寄せにしたい
-
エクセルで一列おきに空白列を...
-
【ACCESS/必須条件とOR条件を組...
-
エクセルの隣り合う列のグループ化
-
エクセル(勝手に太字になる)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
2つのエクセルのデータを同じよ...
-
エクセル(勝手に太字になる)
-
「B列が日曜の場合」C列に/...
-
エクセル 文字数 多い順 並...
-
EXCELで 一桁の数値を二桁に
-
エクセル 同じ値を探して隣の...
-
VBAで文字列を数値に変換したい
-
エクセルの並び変えで、空白セ...
-
Excelで半角の文字を含むセルを...
-
エクセルで文字が混じった数字...
-
Excel、市から登録している住所...
-
A列がない・・・A列が非表示に...
-
エクセルの表から正の数、負の...
-
[関数得意な方]教えて下さい・...
-
エクセルの項目軸を左寄せにしたい
-
エクセル 時間帯の重複の有無
-
Excelにてある膨大なデータを管...
おすすめ情報