• ベストアンサー

エクセルでの並び替え

お世話になります。 例えば、「123456」というような6桁の数字がAの列に並んでいたとします。 並び替えの際に、4番目と5番目について並び替えることは出来るのでしょうか。 555115 555125 555135 444145 333155 という感じなんですが……。 拙い説明でわかりにくいかと存じますが、 どなたかご教授下さい。

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

  • ベストアンサー
  • hakone
  • ベストアンサー率54% (40/73)
回答No.2

隣の列にでも、 =MID(A1,4,2) と書いて、必要なだけ下にコピーします。 そのように必要な部分を抜き出して、そちらで 並べ替えてみてはいかがでしょうか?

orgel123
質問者

お礼

回答ありがとうございます。 仰って頂いた方法でうまくいきました。 とても助かりました。 ありがとうございます。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

VBAをやったことがあったり、勉強するなら参考までに。ボタンを貼りつけてボタンに登録すると、データ追加の後など、頻繁にこの作業を行う時は便利。 Sub Macro1() Range("B1").EntireColumn.Insert 'A列の隣でB列 d = Range("A65536").End(xlUp).Row For i = 1 To d Cells(i, "B") = Mid(Cells(i, "A"), 2, 2) '2桁目より2桁 Next i Range(Cells(1, "A"), Cells(d, "C")).Sort Key1:=Range("B1"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin Range("B1").EntireColumn.Delete End Sub ・A列にソートキーがある例 ・B列 一持的列挿入する列。後に削除するので結果では  見えない。 ・Range(Cells(1, "A"), Cells(d, "C")).・・ A列からB列にデータがあるときの例。A-G列なら Range(Cells(1, "A"), Cells(d, "H")).・・と1列右に する。 ・マクロの記録を少し変えることで上記が出来あがったもの。

orgel123
質問者

お礼

回答ありがとうございます。 マクロ…なんだか難しそうで避けて通っていました。 この機会に挑戦してみようと思います。 ありがとうございました。

回答No.3

並べ方を見ると、4番目と5番目が第一優先の昇順(小さい値順)で、1番目から3番目が第二優先で降順(大きい値順)でしょうか。 もしそうであれば、仮にデータがA列にあるとして、第一優先は#2の方の方法の =MID(A1,4,2)で、4番目と5番目を切り出し、その列を第一優先として昇順とします。 第二優先は、A列の降順で並び替えます。 (第三優先まで可能です)

orgel123
質問者

お礼

回答ありがとうございます。 第2優先…参考になりました。 お蔭様でできました。 ありがとうございます。

回答No.1

こんばんは。 おっしゃってるのは、「データ」→「並び替え」にしたら3番目のキーまでしか選択できないから、4番目以降はどうしたらいいのか?という事でしょうか。 もしA列しか数字が入ってなくて、その数字を並び替えたいだけなんだとしたら「最優先されるキー」でA列を選択し降順・昇順をチェックすれば良いと思うのですが。いかがですか?

orgel123
質問者

お礼

回答ありがとうございます。 ただ単に並び替えるだけじゃなくて、4番目と5番目に注目してやりたかったんです。 今ひとつ、伝わりにくくて申し訳ございません。 ありがとうございました。

関連するQ&A