dポイントプレゼントキャンペーン実施中!

添付した画像で、昇順にするとAのように並び替えされました。
しかし、本来はBのように並び替えをしたいのですがどうしても出来ません。

数値を同じ桁数(S0072-00011〜0015)のようにすれば、並び替えが出来るのですが、
今回の場合、ユーザー定義では桁数を合わせてくれませんでした。

どうにか並び替えが出来る状態にできないでしょうか?
申し訳ありませんが、ご教授頂けないでしょうか。よろしくお願い致します。

「エクセル 文字と数値を含む 並べ替え」の質問画像

A 回答 (2件)

こんにちは



文字列の順序の評価と数値の順序評価が異なるからですね。

>どうにか並び替えが出来る状態にできないでしょうか?
並べ替えのできる順序に直した値を作業列に作成して、そちらをキーに並び替えればよいでしょう。
文字列が必ず「S72-数値~数値」形式になっているとして、かつ、数値の連続が3桁までと仮定してよければ、作業列の2行目に
 =(MID(A2,5,FIND("~",A2)-5))*1000+MID(A2,FIND("~",A2)+1,LEN(A2))
を入力して下方にフィルコピーすれば、「1015」、「107128」のような数値に変換されます。
この作業列をキーにして並び替えをすればよいでしょう。

※ 最初の「S72」の部分にもいろいろあるようであれば、同様の要領で並べ替えのキーに反映するようにすればよろしいでしょう。
    • good
    • 2
この回答へのお礼

迅速な回答ありがとうございました。

お礼日時:2021/06/09 08:07

文字列は「辞書順」に並びます。


これはエクセルだけでは無く、コンピュータ処理・辞書作り、で全て同じです。

仕方ないので、~の前の文字列を抽出して数字として別列に格納して、その別列をキーにして並び替えます。

そもそもの原因はコード設計がいい加減だという事です。
「~の前後の番号は3桁とする」と決めて置けば、こういう事は起きません。
    • good
    • 0
この回答へのお礼

お忙しい中、ご返答ありがとうございました。

お礼日時:2021/06/09 08:07

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

このQ&Aを見た人はこんなQ&Aも見ています