ExcelのPower Query(パワークエリ)は、データの整形や集計を効率化できる非常に便利なツールです。
その中でも「並べ替え(Sort)」は、データを見やすく整理したり、分析の前処理として欠かせない操作です。
ただし、通常のExcelの並べ替えと異なり、Power Queryでは手順や操作場所がやや違うため、最初は戸惑う方も多いでしょう。
この記事では、Power Queryでデータを昇順・降順に並べ替える方法、複数列の並べ替え、さらにはM言語を使った応用的なソート方法までわかりやすく解説します。
Excel初心者から業務効率化を目指す中級者まで、今日からすぐ使える内容です。
Power Queryでの並べ替えとは?
Power Queryの「並べ替え」とは、取得したデータの行の順序を特定の列の値に基づいて変更する処理のことです。
例えば、売上データを「日付順」に並べたい、社員リストを「部署名」や「名前順」で整えたい、という場合に利用します。
Power Queryの並べ替えは、Excelの並べ替えボタンとは違い、「クエリ(手順)」として記録される点が特徴です。
つまり、一度設定しておけば、次回データを更新しても自動的に同じ並べ替えが再現されるのです。
特徴まとめ
- 並べ替えは「ステップ」として保存される
- データ更新後も自動的に再適用される
- 複数列の並べ替えも簡単に指定できる
- M言語(Power Query独自の言語)で柔軟な制御が可能
Power Queryでの並べ替え手順(基本編)
ここでは最も基本的な「1列を基準に昇順または降順で並べ替える方法」を解説します。
手順1:データをPower Queryに読み込む
- Excelのメニューから「データ」タブをクリック。
- 「データの取得」→「テーブル/範囲から」を選択。
- 対象のデータ範囲を指定して「OK」を押す。
これで、Power Queryエディターが開き、テーブル形式のデータが表示されます。
手順2:並べ替えたい列を選択する
並べ替えたい列(例:日付列、名前列など)の右側にある▼(フィルター・並べ替えアイコン)をクリックします。
手順3:昇順または降順を選択する
メニューから「昇順で並べ替え」または「降順で並べ替え」をクリックします。
これで即座にデータが並べ替えられ、右側の「適用したステップ」に「並べ替えされた行」というステップが追加されます。
このステップがある限り、次回以降の更新でも自動的に同じ順序で並べ替えられます。
複数列を使った並べ替えの方法
Power Queryでは、複数の列を組み合わせて並べ替えることも可能です。
たとえば、「部署名」ごとにまとめ、その中で「名前順」に並べる、といったことが簡単にできます。
手順
- まず、最初に優先順位の高い列を選び、「昇順」または「降順」を選択します。
- 続けて、Ctrlキーを押しながら 次に優先する列をクリックします。
- 再び「昇順」または「降順」を指定します。
Power Queryの右側にある「適用したステップ」では、複数列が同時にソート条件として記録されます。
注意点
- 並べ替えは上から順に優先されます。
- 複数列の順序を変えたい場合は、ステップの中で順番を調整する必要があります。
- 同じ列を2回以上指定することも可能ですが、通常は推奨されません。
M言語で並べ替えをカスタマイズする
Power Queryでは、裏で「M言語」というスクリプトが動いています。
M言語を直接編集することで、より柔軟な並べ替えを行うことが可能です。
基本構文
Table.Sort(テーブル名, {{"列名", Order.Ascending}})
具体例
たとえば、社員一覧を「部署名」→「名前」の順に昇順で並べ替えたい場合は、次のように記述します。
Table.Sort(Source, {{"部署名", Order.Ascending}, {"名前", Order.Ascending}})
降順にしたい場合は Order.Descending に変更します。
Table.Sort(Source, {{"売上", Order.Descending}})
応用例:カスタム順序で並べ替える
曜日や月など、昇順・降順ではなく特定の順序で並べたい場合は、「カスタム並べ替え」を使います。
Table.Sort(Source, (x, y) => List.PositionOf({"月","火","水","木","金","土","日"}, x[曜日]) < List.PositionOf({"月","火","水","木","金","土","日"}, y[曜日]))
このコードでは、「月」から「日」の順番で並べ替えるカスタムロジックを指定しています。
Power Queryと通常のExcel並べ替えの違い
ExcelとPower Queryの並べ替えは似ていますが、目的と特性が異なります。
| 比較項目 | Excelの並べ替え | Power Queryの並べ替え |
|---|---|---|
| 操作対象 | 表(シート上のデータ) | クエリ(データ取得プロセス) |
| 反映タイミング | 手動で実行 | データ更新時に自動反映 |
| ステップの記録 | なし | 「適用したステップ」に記録される |
| 元データへの影響 | 直接上書きされる | 元データは保持される |
| 自動化の可否 | 難しい | 自動で更新可能 |
Power Queryでは「元データを壊さない」ことが大きな利点です。
データを最新に保ちながら、一貫した整形が自動で行えます。
よくあるトラブルと対処法
1. 並べ替えが適用されない
→ 原因として、「列のデータ型が不適切」な場合があります。
日付列が「テキスト型」になっていると、文字列順に並ぶため、意図した順序になりません。
対処法:該当列を右クリックし、「データ型の変更」→「日付型」などに設定します。
2. 並べ替えの順序が固定できない
→ 複数列ソート時に優先順位が思うように動かないことがあります。
対処法:M言語の Table.Sort を直接編集して順番を明示します。
3. 並べ替え後にステップが消える
→ ステップを途中で削除すると、並べ替えがリセットされます。
対処法:「適用したステップ」で並べ替えステップが残っているか確認します。
Power Queryの並べ替えを使いこなすコツ
- データ型を常に確認する
並べ替えはデータ型の影響を大きく受けます。数値や日付は正しい型に変換しておきましょう。 - 複数列を活用する
部署やカテゴリなど階層構造があるデータは、複数列ソートで整理すると見やすくなります。 - 更新を意識した設計にする
Power Queryは「再利用」が前提です。並べ替えの条件を固定しておけば、データ更新後も整然と並びます。 - M言語を恐れず使う
最初はGUI操作で十分ですが、少し慣れてきたらTable.Sortを直接触ることで応用力が一気に上がります。
まとめ
Power Queryの並べ替え(Sort)は、データ分析の前処理で非常に重要な操作です。
Excelの並べ替えと異なり、「手順(ステップ)」として記録されるため、一度設定すれば再利用や自動化が容易になります。
基本操作ではGUIで昇順・降順を選ぶだけですが、複数列の並べ替えやM言語によるカスタム順序を活用すれば、より柔軟なデータ整形が可能です。
業務で定期的にExcelデータを更新している方は、Power Queryの並べ替え機能をマスターすることで、毎回の手作業を大幅に削減できます。
