[[20030828005606]] 『住所の番地順に並び替えるには』(TSND) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『住所の番地順に並び替えるには』(TSND)

住所録のデータを住所番地順に並び替えたいのですが、たとえば同じ町名で番地以降が次のような場合

 1-1-2  
 1-3-5  
 1-10-1  
 1-11-5

普通に並び替えると

 1-10-1  
 1-11-5  
 1-1-2  
 1-3-5  
のような順番になってしまいます。
正しく並び替える方法はないですか。
 -をーにかえてみたり、ユーザー定義リストで1-10-より1-1-のほうが先になるようなデータをつくってみましたが、うまくいきません。誰か教えてくれませんか?

 文字列は先頭コード順になります。同町名で丁目、番地順に並べるには
 1-1-2 
 1-3-5
 1-10-1 
 1-11-5
の入力でなく、1丁目-番地-号の桁を半角空白で揃えてやれば
 1- 1-2 B1に =IF(ISERR(CODE(MID($A1,COLUMN()-1,1))),"",CODE(MID($A1,COLUMN()-1,1)))
 1- 3-5  上の式をB1:G4にコピーして確かめて下さい。
 1-10-1 
 1-11-5
にすれば、昇順に並べ替えられます。
 9
 33
 123
を昇順にならべれば
 123 ←code(A1)・・・・・49
 33  ←code(A2)・・・・・51
 9   ←code(A2)・・・・・57
になります。この場合も半角空白文字挿入で調整すれば
 123 ←=code(A1)・・・・・49,(50,51)
  33 ←=code(A2)・・・・・32,(51,51)
   9 ←=code(A3)・・・・・32,(32,52)
とすれば、昇順に並べることができます。
このような処理は入力時から意識して、統一入力しなければなりません、大変な作業になりそうですね
 (シニア)

 =right("  "&第一のセル, 2) & "-" &right("  "&第二のセル, 2) & "-" right("  "&第三のセル, 2)


 シニアさん、通りすがりの者さんありがとう。
 結局データ区切りをつかって丁目、番地、号を取り出して、それぞれ数字として並び替えることによって解決しました。 (TSND)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.