- ベストアンサー
Excel2007で並び方をうまくそろえたい
行にそれぞれ、 A10 A15 A8 B15 B5 B10 という入力があるとき、 A15 A10 A8 B15 B10 B5 という順番に並び替えたいのですが、上手にできません。 作業列を作って結合すればできる、という事を聞いたのですが意味がわからず困っています。 どのようにすればできるのか教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
作業列を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
その他の回答 (3)
- KURUMITO
- ベストアンサー率42% (1835/4283)
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列選択してコピーし、そのままの選択状態で「形式を選択して貼り付け」で「値」にチェックをして貼り付けを行うことで元のデータの並べ替えを完成させることもできます。
お礼
とても参考になりました。 色々なご意見を聞かせていただいて一つの問題についてもいくつもの解法があるものだと勉強になりました。 ありがとうございます。
その入力かA列にあるとして、作業列を2つ作って =Left(A1, 1) =Text(Mid(A1,2),"00") という感じにすると、作業列の数値は、例えば、第5列は B 05 などとなります。 作業列でアルファベットの方は昇順、数字の方は降順にソートすると、ご質問にあるような順になります。 数字の方は =Value(Mid(A1,2)) あるいは、単に =Mid(A1,2) でもいいかもしれません。 手元にエクセルがないので、うろ覚えのままかいてますが、たぶんどれかではいくでしょう。
お礼
シンプルなご回答ありがとうございました。
お礼
大変わかりやすいご回答ありがとうございました。無事できました。