数字と文字列が混在していて、更に数字の桁数や小数点以下の有無や桁数も様々なので、そのままではソートできませんね。
でも、数字と文字列を分離し、数字の部分をTEXT関数を用いて書式を揃えてやれば、ソートできる文字列に変換できます。
質問の例で、元の値が A1 セルに入っているとすると、変換する式(ワークシート関数)は以下のようになります。
この式をB1セルに入れて、B1セルをコピーして、B2-B5セルにペースト。そしてA1:B5の範囲をB1:B5で昇順にソートすれば、A1:A5に所望のデータが得られます。
Excel
1="CV" & TEXT(VALUE(MID(A1,3,FIND("sq-",A1)-3)),"0000.00") & "sq-" & TEXT(VALUE(MID(A1,FIND("sq-",A1)+3,LEN(A1)-FIND("sq-",A1)-4)),"0000.00")& "C"
<関数の説明>
FIND関数で"sq-"が何文字目なのかを調べて、数字の部分の位置や文字数を算出しています。
そして、そうした数値を使ってMID関数で数字の部分の文字列を取り出しています。
取り出した文字列(数字の部分)は、VALUE関数で数値に変換し、TEXT関数で書式(整数部が4桁(値が1なら0001と表現する)、小数点以下が2桁)を揃えた文字列に変換しています。
そして、CVなどの文字列、数値の文字列を &演算子でつないでいます。
TEXT関数の第2引数が書式の設定で、ここでは数値が整数部は4桁以内、小数点以下は2桁以内と想定して"0000.00"としてあります。もし、もっと大きな桁の数が使われるなら合うように修正してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/08 23:23