• ベストアンサー

Excel2007で並び方をうまくそろえたい

行にそれぞれ、 A10 A15 A8 B15 B5 B10 という入力があるとき、 A15 A10 A8 B15 B10 B5 という順番に並び替えたいのですが、上手にできません。 作業列を作って結合すればできる、という事を聞いたのですが意味がわからず困っています。 どのようにすればできるのか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.2

作業列を2列使います 画像で B1に =LEFT(A2,1) C1に =MID(A2,2,2) それぞれを下方にオートフィル A1:C6を選択 データ → 並べ替え 最優先されるキー   B列 昇順 次に優先されるキー  C列 降順 昇順/降順に並べ替える(複数条件で並べ替える) http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-sort.html

r2san
質問者

お礼

大変わかりやすいご回答ありがとうございました。無事できました。

その他の回答 (3)

noname#204879
noname#204879
回答No.4

添付図参照 B1: =LEFT(A1,1)&(1000-MID(A1,2,99)) A、B列を選択して、B列を昇順に並べ替え

r2san
質問者

お礼

すばらしい回答ありがとうございました。 色々なやり方があるものだと勉強になりました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

A列にデータがあるとしてB1セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A1="","",CODE(A1)+1/MID(A1,2,10)) その後にB列を重点にして昇順で並べ替えをします。 並べ替えをすることなくC列にお望みのデータを並べて表示させるのでしたら、次の式をC1セルに入力して下方にオートフィルドラッグします。 =IF(ROW(A1)>COUNTA(A:A),"",INDEX(A:A,MATCH(SMALL(B:B,ROW(A1)),B:B,0))) C列をコピーしてからA1セルを選択し、「形式を選択して貼り付け」で「値」にチェックをしてから貼り付けをすればA列のデータをすべて並べ替えた表示にすることができます。 勿論、C列を使わずに、B列を重点に昇順で並べ替えを行った後にA列選択してコピーし、そのままの選択状態で「形式を選択して貼り付け」で「値」にチェックをして貼り付けを行うことで元のデータの並べ替えを完成させることもできます。

r2san
質問者

お礼

とても参考になりました。 色々なご意見を聞かせていただいて一つの問題についてもいくつもの解法があるものだと勉強になりました。 ありがとうございます。

noname#208392
noname#208392
回答No.1

その入力かA列にあるとして、作業列を2つ作って =Left(A1, 1) =Text(Mid(A1,2),"00") という感じにすると、作業列の数値は、例えば、第5列は B 05 などとなります。 作業列でアルファベットの方は昇順、数字の方は降順にソートすると、ご質問にあるような順になります。 数字の方は =Value(Mid(A1,2)) あるいは、単に =Mid(A1,2) でもいいかもしれません。 手元にエクセルがないので、うろ覚えのままかいてますが、たぶんどれかではいくでしょう。

r2san
質問者

お礼

シンプルなご回答ありがとうございました。

関連するQ&A

専門家に質問してみよう