[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『○○−○○の形の並べ替え』(初心者)
並べ替えについて質問させてください。
例えば、住所の番地のような「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.