プロが教える店舗&オフィスのセキュリティ対策術

エクセル表のセル内に文字と数字が混在しており、
第1回
第2回
と続いているのですが列を選択して昇順aからzのようなところを押しても
第1
第10
第100
第101
第102
と続きます。セル内の『第』より後の数字順に並び替える事は出来ないのでしょうか、
第1
第2
という風に変えたいです。
ご存知の方返答よろしくお願いします。

A 回答 (5件)

No.7です。


失礼しました。前回回答で、
>上記の=value(A2)という数式を
>=VALUE(SUBSTITUTE(SUBSTITUTE(B2,"第",""),"回",""))
>という数式に差し替えすればOKです。
と書きましたが、「回次はA列にある」という前提で説明しましたので上記の数式は

=VALUE(SUBSTITUTE(SUBSTITUTE(A2,"第",""),"回",""))を作業列の2行目に記述してコピーし、作業列を基準に昇順にする

が正しいということになります。
    • good
    • 0

No.3さんも指摘されておられますが、ご質問者のようなケースでは、普通は並べ替え(昇順)を実行すると


>第100回
>第101回
>第102回
となるののですが、

>列を選択して昇順aからzのようなところを押しても
>第1
>第10
>第100
>第101
>第102
>と続きます
とおっしゃっているので、かなりレアなケースですが、回次を表示している列の「書式設定」は、ユーザー定義で「"第"@"回"」となっており、中身は「1,2,3,・・・」という(数値ではなく)文字である可能性があります。
この場合はご質問者のおっしゃるように、昇順を指定すると上記の並びで表示されます。
もし、回次が表示されている列がA列、第1回がA2で、その中身が実際に「文字の数字」だったら、ご希望の順番に並べる方法は、
表の最終列など、邪魔にならない位置に作業列を追加し、
=value(A2)
を記述し、下方向へオートフィルでコピーします。
作業列を基準に並び替えを行えば、ご希望の順番になると思います。
万一、中身が「文字の数字」でなかった場合も考えて安全策をとるとすれば、「第1回」と見えているなら、上記の=value(A2)という数式を
=VALUE(SUBSTITUTE(SUBSTITUTE(B2,"第",""),"回",""))
という数式に差し替えすればOKです。
    • good
    • 0

わたしならとりあえず、こうするかな?


No.列を作って、ソートする。
「エクセルのセル内の数字順に変える」の回答画像6
    • good
    • 0

こんにちは



>昇順aからzのようなところを押しても
そうはならないのでは?
第100回
第101回
第102回
・・・
の順だと思いますが、いずれにしろ数値の順にはなりません。
理由は、文字列の順序として評価し、並べ替えられているからです。

数字順に並べ替えたければ、一旦、数字部分だけ抜き出して、それをkeyにして並べ替えれば宜しいでしょう。

例えば、「第1回」などがA列にあるとして(形式は全て、第+数字+回 であると仮定)、空列の1行目に
 =MID(A1,2,LEN(A1)-2)*1
を入力して、下にフィルコピーすると、数値部分だけが取り出せます。
この列をキーにして、昇順に並べ替え、終わったらその列を削除すればよいでしょう。
    • good
    • 0

まぁ、文字列ですからそうなりますよね。



表示形式を「”第”0”回”」にして数字だけ入れるようにしては?
今入力している内容は置換で第と回を消せば数字だけになります。
    • good
    • 2

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