[[20050113203730]] 『○○−○○の形の並べ替え』(初心者) ページの最後に飛ぶ

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

 

『○○−○○の形の並べ替え』(初心者)

並べ替えについて質問させてください。
例えば、住所の番地のような「10-3」や、「123-45」といった
数字の列をうまく並べ替える方法はありませんか?

例) 「4-5」「2-5」「10-3」「24-5」「8-20」「4-21」「10-1」を

    「2-5」「4-5」「4-21」「8-20」「10-1」「10-3」「24-5」の順に並べたい

    しかし昇順で並べ替えると
    「10-1」「10-3」「24-5」「2-5」「4-21」「4-5」「8-20」になってしまう。

セルの書式設定は「文字列」で作業しています。
ちょっと説明しにくく申し訳ないですが、よろしくお願いします。


 数値と文字列では、順番がかわりますので、ご希望のようにしたい場合は、
 文字を一度数値に変換させてやるか、作業列を使うかでしょうか。

 今回の場合は、作業列を使ったほうが簡単かもしれません。

	 A	 B
  1	4-5	H17.4.5
  2	2-5	H17.2.5
  3	10-3	H17.10.3
  4	24-5	H17.5.24
  5	8-20	H17.8.20
  6	4-21	H17.4.21
  7	10-1	H17.10.1

 1.A列をコピーして、B列に貼り付け
 2.B列を選択して、編集−置換え−検索する文字列に - 、置換え後に / で全て置換え
 A列とB列を選択して並び替えで、B列を基準に昇順。
 あとはB列の削除でどうでしょうか。
  
すいません、やらかしました・・。上記ではダメでした(^_^A;

 並び替え後の文字列に / ではなく、: にして、B列の表示形式を、[h]:mm
 これならいけそう・・・。

 こうなります。
 2-5	2:05
 4-5	4:05
 4-21	4:21
 8-20	8:20
 10-1	10:01
 10-3	10:03
 24-5	24:05

 (川野鮎太郎)


 文字列での並べ替えは単純に「一文字目の大小」「二文字目の大小」で判断。
「10-1」「2-5」では一文字目の「1」「2」で比較。
「24-5」「2-5」では二文字目の「4」「-」で比較(数字よりも文字列は必ず大きい)。
人間の作った区切りでは数字の判断を決定してくれません。
並べ替えのための作業列を使用した方法。
A列に問題のデータがあるとすると、作業列追加(B列とします)
2行目からデータガ始まっている場合は
B2へ
=TEXT(--LEFT(A2,FIND("-",A2,1)-1),"000")&TEXT(--RIGHT(A2,LEN(A2)-FIND("-",A2,1)),"000")
B2をデータ数分コピー。
B列基準で並べ替えを実行します。
(みやほりん)作業列を2列から1列に変更


 んだば、私も上記のことを数式で(^_^A;
 B1へ=--TEXT(SUBSTITUTE(A1,"-",":"),"[h]:mm")として下方にコピー
 A列とB列を選択して並び替えで、B列を基準に昇順。

 (川野鮎太郎)


コメント返信:

[ 一覧(最新更新順) ]


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