- ベストアンサー
列を指定して昇順に並び替えする方法
このカテゴリーのエクセルの達人の方々に質問です。 どなたか回答して頂ける方がおみえでしたらよろしくお願いします。 (ちゃんとした回答ではなく、文句やクレーム等を混ぜた記載はご 遠慮ください。私の質問が気に入らない場合は無視して頂ければ 結構です。) 【質問】 添付図のとおり、①並び替え前の数字が6行×35列あります。 この中から、昇順に並び替えたい列をAM列に入力して実行すると、 その列のみが③並び替え後の中で昇順に並べ変わる方法が知りた いです。 【注意事項】 ・「並び替え列」は最大15個入力可能です。 ・「並び替え列」に入る列は毎回変わります。 (A列=1,B列=2・・・・AI列=35になります。) ・「①並び替え前」、「➁並び替え列を指定する」、 「③並び替え後」と、A列、D列等についている緑色は 説明のためにつけているだけです。 ・使用するエクセルは2021です。 以上、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
A10 =IF(COUNTIF($AM:$AM,COLUMN()),SORT(A1:A6),A1:A6) AI10迄コピペ。
その他の回答 (1)
- kkkkkm
- ベストアンサー率66% (1733/2603)
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
お礼