- 締切済み
文字列を数値としてソートするには
こんにちは。 "."区切りで数値が並ぶ列を、次のようにソートしたいのですが、何か良い方法はありませんか。 1 1.1 1.1.1 1.2 1.2.1 1.10 1.10.1 1.10.2 1.10.10 これを普通にソートすると、2より10が先にきてしまいます。 1 1.1 1.1.1 1.10 1.10.1 1.10.10 1.10.2 1.2 1.2.1 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- ka_na_de
- ベストアンサー率56% (162/286)
すみません。記入ミスです。 <誤り> 3)E1セルに =IF(B2="",0,B2) と入力し、E1~G10にコピー&ペースト <正解> 3)E1セルに =IF(B1="",0,B1) と入力し、E1~G10にコピー&ペースト
- ka_na_de
- ベストアンサー率56% (162/286)
参考までに一案を示します。 前提:A列に上記のデータが文字列で入力されている。 1)B列にA列をコピー&ペースト 2)B列を選択し、上部メニューから「データ」→「区切り位置」を選択 「カンマやタブなどの・・・・」にチェックを入れて「次へ」 「その他」にチェックを入れて左の欄に「.」を入力し「完了」 3)E1セルに =IF(B2="",0,B2) と入力し、E1~G10にコピー&ペースト 4)A~G列を選択し、「データ」→「並べ替え」を選択 「最優先されるキー」を「E列」にして「昇順」 「2番目に優先」を「F列」にして「昇順」 「3番目に優先」を「G列」にして「昇順」 「OK」 5)B~G列削除
- maron--5
- ベストアンサー率36% (321/877)
◆とりあえず例題はクリアします ◆作業列をB列に B1=--SUBSTITUTE(A1&".",".",":") ★下までコピー ★B列をキーに並べ替えをします
お礼
maron--5さん 回答ありがとうございます。 質問が曖昧だったため恐縮ですが、区切りはn階層になるので 教えていただいた方法ですと、制限があります。 ただ、この方法も便利なので、色々と試してみたいと思います。
お礼
ka_na_deさん 回答ありがとうございます。 「区切り位置」でこのような変換が行えるのですね。 色々と試してみます。