VBAのRange.Sort代わりにSORT関数でデータを並べ替える方法は?
VBAのRange.Sortメソッドの代わりに、Excel 2021/365のSORT関数を使えば数式で並べ替えが可能です。`=SORT(データ範囲, 列番号, 昇順降順)`のように指定し、元データが変わると自動で再ソートされます。複数列で並べ替える場合は`SORTBY`関数を使い、`=SORTBY(データ, 第1キー列, 1, 第2キー列, -1)`のように記述します。VBAマクロのように実行ボタンを押す必要がなく、常に最新の並び順が維持されます。
📊 バージョン対応
2016
❌
非対応
2019
❌
非対応
2021
✅
対応
365
✅
対応
📋 実務での使用例
💼 売上列(3列目)を降順で並べ替え
売上列(3列目)を降順で並べ替え
=SORT(A2:D100, 3, -1)💼 部署で昇順、売上で降順
部署で昇順、売上で降順
=SORTBY(A2:D100, B2:B100, 1, C2:C100, -1)VBA代替SORTSORTBY並べ替え
📄
動的配列関数 移行マップ
旧関数 → 新関数の書き換え一覧(2021/365対応)
準備中※ PDFは現在作成中です。近日公開予定