表レイアウトの行列の入れ替えを自動化する方法[Power Query(パワークエリ)基礎]
AさんAさん

毎回、特定の表の行列を入れ替えする必要がありますが、何か良い方法ありますか?

森田森田

その場合、Power Query「入れ替え」というコマンドが有効ですよ!

具体的な使い方について解説していきますね。

解説動画:【パワークエリ#8】レイアウト変更テクニック3選 - 使いにくい表レイアウトを使いやすく整形・加工する作業を自動化する(列のピボット解除、列のピボット、入れ替え)

この記事の内容は下記の動画でも解説しています。
コメント欄の「入れ替え」の時間の部分をクリックすると該当の解説へジャンプできますよ!

はじめに

本題に入る前に、この記事がおすすめな方を挙げてみます。

  • 元データの表レイアウトの行列の入れ替えを自動化したい方
  • データ整形・加工の工程が複数あり、かつその作業が定期的に発生する方
  • Power Query(パワークエリ)の使い方を習得したい方

前提条件

この記事のテクニックを使うためには、以下の条件を満たす必要があります。

  • ExcelのバージョンはExcel2010以降(Microsoft365含む)が必須
  • Excel2010/2013ユーザーの場合、事前にMicrosoft社公式HPよりPower Query(パワークエリ)のダウンロードが必要(Excel2016以降は標準機能)
  • Power Query(パワークエリ)の概要を理解していること
    →まず、以下の記事で概要を把握することをおすすめします。

「入れ替え」は表レイアウトの行列を入れ替えるのに有効

「入れ替え」を行うと、次のように表レイアウトを変更することが可能です。

表レイアウトの行列を入れ替えた方が見栄えが良くなる、あるいは作業効率が上がる場合に活用すると便利です。

ちなみに、Excelワークシート上で「入れ替え」を行う方法は以下の2パターンあります。

  1. 表をコピー→「形式を選択して貼り付け」の「行/列の入れ替え」をオン
  2. TRANSPOSE関数を利用する

ただし、他のデータ整形作業とセットで置換を行うなら、Power Query(パワークエリ)で行った方が、一連の作業手順を記録できて自動化できますよ!

では、Power Query(パワークエリ)での「入れ替え」の手順を確認していきましょう。

Power Query(パワークエリ)での「入れ替え」手順

今回の前提として、「入れ替え」を行う対象テーブルはブック内にあり、事前にPower Queryエディターに取り込んでいる状態からスタートするとします。(ブック内のデータ取得について復習したい方は下記記事を参照)

リボン「変換」タブをクリック(①)し、「入れ替え」をクリック(②)すれば完了です。

【注意】ヘッダーの行を残す場合は事前に「ヘッダーを1行目として使用」を使うこと

入れ替え後、元データのヘッダーになっていた行は次のとおり消えてしまいます。

元データのヘッダー部分も入れ替え対象にしたい場合は、「入れ替え」を行う前に「ヘッダーを1行目として使用」を使いましょう。

「ヘッダーを1行目として使用」のコマンドは、リボン「ホーム」タブか「変換」タブの中にある「1行目をヘッダーとして使用」の下側をクリックすると表示されます。

「プレビュー」ウィンドウ上で「入れ替え」が確認できたらOK

「プレビュー」ウィンドウを見ると、無事設定どおりに行列が入れ替えされていますね!

あとは、その他の処理を行い、任意の方法でデータを出力すれば完了です。

ちなみに、入れ替え後はヘッダーが設定されていない状態のため、データ整形作業の最後に「1行目をヘッダーとして使用」のコマンドを使うと良いです。

【参考】「入れ替え」の内容を変更したい場合は

もし、あとで「入れ替え」の条件を変更したい場合は、「クエリの設定」ウィンドウの任意のステップを一旦「×」で削除し、改めて「入れ替え」を行えばOKです。

サンプルファイルで練習しよう!

可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。

サンプルファイル_PowerQueryデータ整形_入れ替え.xlsx

※サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります。
(上記リンクから登録フォームへ遷移します)

ファイルを開いたら、「入れ替え」を行う前に、Power Queryエディターを起動させてくださいね。
ブック起動時、「セキュリティの警告」メッセージが表示された場合は「コンテンツの有効化」をクリックしてください。

  1. リボン「データ」タブをクリック
  2. 「クエリと接続」をクリック
  3. 「月別残業時間(入れ替え)」クエリをダブルクリック

ここまで準備ができたら、次の手順を実施してください。(今までの解説のまとめです)

  1. リボン「変換」タブをクリック
  2. 「入れ替え」をクリック

本記事の解説と同じ結果になればOKです!

さいごに

いかがでしたでしょうか?

「入れ替え」はPower Query(パワークエリ)では基本操作のひとつです。

さまざまな表レイアウトのデータ整形作業を自動化する上ではなくてはならない機能なので、ぜひ覚えておくことをおすすめします。

なお、Power Query(パワークエリ)の各種テクニックは、私の拙著でも体系的に解説していますので、こちらも参考にしてみてください。


ご参考になれば幸いですm(_ _)m

森田森田

表レイアウトの変更を自動化するにあたり、従来の関数やVBAで行うことはなかなかハードルが高いです。

操作に慣れてしまえば、Power Query(パワークエリ)の方がハードルは低めですよ!

表レイアウトの変更を実務で行う機会が多い方は、ぜひPower Query(パワークエリ)にチャレンジしてみてください。