• ベストアンサー

列を指定して昇順に並び替えする方法

このカテゴリーのエクセルの達人の方々に質問です。 どなたか回答して頂ける方がおみえでしたらよろしくお願いします。 (ちゃんとした回答ではなく、文句やクレーム等を混ぜた記載はご  遠慮ください。私の質問が気に入らない場合は無視して頂ければ  結構です。) 【質問】  添付図のとおり、①並び替え前の数字が6行×35列あります。  この中から、昇順に並び替えたい列をAM列に入力して実行すると、  その列のみが③並び替え後の中で昇順に並べ変わる方法が知りた  いです。 【注意事項】   ・「並び替え列」は最大15個入力可能です。   ・「並び替え列」に入る列は毎回変わります。    (A列=1,B列=2・・・・AI列=35になります。)   ・「①並び替え前」、「➁並び替え列を指定する」、    「③並び替え後」と、A列、D列等についている緑色は     説明のためにつけているだけです。   ・使用するエクセルは2021です。 以上、よろしくお願いします。

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

  • ベストアンサー
  • SI299792
  • ベストアンサー率47% (779/1629)
回答No.2

A10 =IF(COUNTIF($AM:$AM,COLUMN()),SORT(A1:A6),A1:A6) AI10迄コピペ。

sazanami0422
質問者

お礼

お世話になっております。そして、いつもシンプルな回答でスッキリ解決できてありがたいです。かなりエクセルコマンド熟知されているのですね。また、質問見かけたら回答頂けると助かります。

Powered by GRATICA

その他の回答 (1)

  • kkkkkm
  • ベストアンサー率66% (1733/2603)
回答No.1

VBAでしたら以下で試してみてください。 Sub Test() Dim i As Long Dim LastRow As Long, mCol As Long Application.ScreenUpdating = False LastRow = Cells(Rows.Count, "AM").End(xlUp).Row For i = 2 To LastRow mCol = Cells(i, "AM").Value Range(Cells(1, mCol), Cells(6, mCol)).Sort Key1:=Cells(1, mCol), Order1:=xlAscending Next Application.ScreenUpdating = True End Sub

sazanami0422
質問者

お礼

いつもお世話になっております。 早速の回答頂きありがとうございます。 ①並び変え前を並び替えるやりかたですね。 ③並び替え後は無い方がスッキリしますね。 ありがとうございました。

Powered by GRATICA

関連するQ&A

専門家に質問してみよう