エクセルで住所録を作っています。住所の若い順に並び替えをしたいのですが、うまくいきません。
というのも、**1丁目1-1のあとに**1丁目2-1を並べたくても**1丁目11-1のように並んでしまいます。一桁が先に並ぶ方法がないでしょうか?とっても困ってます!!

このQ&Aに関連する最新のQ&A

A 回答 (4件)

住所データの入っているセルを指定して、


ツールバーの「データ」→「区切り位置」で
「カンマやタブなど・・・」を選択して次へ
区切り文字を「-」としてセルを分割して
並べ替えると上手くいくと思います。

同じような質問が他に出てますので、詳しくは
そちらの回答を参考になさっては如何でしょう?

参考URL:http://www.okweb.ne.jp/kotaeru.php3?q=260031
    • good
    • 0

それでは,私はNo.1のgonta_gomaさんの方法をもう少しすっきりとさせたやつを・・・。



**1丁目 1- 1
**1丁目 2- 1
**1丁目11- 1

とスペースを入れるのはどうでしょう?
軒数が多い場合は,No.2のnishi6さんの方法で・・・。
    • good
    • 0

住所の数が多かったり、**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
    • good
    • 0
この回答へのお礼

とりあえずやってみたのですが、うまくいきませんでした。データが大量なので、この方法をもう少し研究してみたいと思います。ありがとうございました。

お礼日時:2002/02/19 18:55

**1丁目01-01


**1丁目02-01
**1丁目11-01 という風に桁数をそろえたらどうでしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q062-999-**** 渋谷台1丁目20-17 (電話番号と住所を分けたい)

エクセル2000です。
タイトルのように、一つのセルに、
電話番号と住所が、入っています。
これを、別々のセルにするか、電話番号だけを削除したいです。
電話番号と住所の間に半角スペースがあります。
よろしくお願いします。

Aベストアンサー

ちゃんと文字式をつかってやるやりかたは
他の方に御譲りしまして....(笑)

まず、このデータをカンマ形式で保存します。
次に、これをワープロで読み、
半角スペースをカンマに置換します。
で、またexcelで読む というのはどうでしょう。

他に半角スペースがあるとダメですが.....

ところで、もうひとつ、
データ メニューの区切り位置 を使うのはダメですか?
このデータが入っているセルを全部選択してから
データ → 区切り位置 で セルを分割する事が出来ます。

Qエクセル:住所の1-1-1:数字が打てない!!

エクセルで住所地とその後の番号を、セルを分けて入力したいです。
そのほうが効率がよいので。

それで、そうすると住所地は問題ないのですが、
番号、例えば「千代田区永田町1-1-1」の
「1-1-1」だけをセルに入力すると「36892」と表示されてしまいます。

セルの書式設定では直りませんでした。
何がいけないのでしょうか!!??

Aベストアンサー

 「書式設定」で文字列にすると入力が可能になります。

Qエクセル>セルの書式設定>平成**年**月**日

エクセル>セルの書式設定>
にて
平成18年6月1日

平成18年06月01日
のような表示にするには?

Aベストアンサー

訂正
 
 
gggyy"年"mm"月"dd"日"

Qエクセルで「住所」を 住所1、住所2、住所3に分解する書式

エクセルで「住所」を 住所1、住所2、住所3に分解する書式を組みたいと考えています。

B2
=IF(MID(,4,1)="県",LEFT(A2,4),LEFT(A2,3))
C2
=SUBSTITUTE(A2,B2,””)
D3
=TRIM(RIGHT(SUBSTITUTE(A2," ",REPT(" ",LEN(A2))),LEN(A2)))

途中まで書式を組んだのですが、
書式の使い方が回りくどくイマイチです。
なるべくシンプルで短くわかりやすい書式にしたいのですが、
よいアイデアはないでしょうか。


元となる「住所」は
都道府県、市町村、番地の3つにわかれいます。
常にスペースで区切られています。

東京都 千代田区 1-1-1

ですので、「都道府県の取り出し」にこだわらず、

半角スペースで区切られた3つの文字列のうち、
* 一番左を取り出す 
* 中央を取り出す
* 右側の文字列
という文字列の操作でもよいのか思いますが、
うまく書式が思い浮かびません。


以下の条件でお願いします。
* 「区切り位置」を使わない
* エクセルマクロを使わない(Mac版エクセルため、マクロが不安定のため)


環境
エクセル for Mac 2011

エクセルで「住所」を 住所1、住所2、住所3に分解する書式を組みたいと考えています。

B2
=IF(MID(,4,1)="県",LEFT(A2,4),LEFT(A2,3))
C2
=SUBSTITUTE(A2,B2,””)
D3
=TRIM(RIGHT(SUBSTITUTE(A2," ",REPT(" ",LEN(A2))),LEN(A2)))

途中まで書式を組んだのですが、
書式の使い方が回りくどくイマイチです。
なるべくシンプルで短くわかりやすい書式にしたいのですが、
よいアイデアはないでしょうか。


元となる「住所」は
都道府県、市町村、番地の3つにわかれいます。
常にスペースで区...続きを読む

Aベストアンサー

=MID(A1,1,FIND(" ",A1,1)-1)

=MID(A1,FIND(" ",A1,1)+1,FIND(" ",A1,FIND(" ",A1)+1)-FIND(" ",A1,1)-1)

=MID(A1,FIND(" ",A1,FIND(" ",A1)+1)+1,99)

QExcelで「**日以上**日以下なら1週間」

Excelで「**日以上**日以下なら1週間」を表したいのですが、適切な式がありましたら、教えていただけますでしょうか。つまり、あるセルに「2日」と表記されていれば、「1週間」、「24日」であれば「5週間」というふうにです。宜しくお願いします。

Aベストアンサー

>22~28日→4週目
じゃあ、24日は4週間じゃないですか。
条件はよく確認して正確に載せましょう。
それなら、No.1の数式でほぼOKです。
ただし、
>0日目も1週目に含める
を考慮して、

=CEILING(MAX(A1,1),7)/7

です。
日数未入力も考慮すると、

=IF(COUNT(A1),CEILING(MAX(A1,1),7)/7,"")

になります。


人気Q&Aランキング

おすすめ情報