▶ 以下の記事でPowerQueryを使った自動処理を紹介しています。
はじめに
今回はEXCELのファイルの複数のシートに分かれているデータを取り込んで一つにまとめる方法を基本から解説します。このような処理もパワークエリを使うと非常に簡単にできます。本当に便利になりましたね。では、早速取り掛かっていきましょう。
パワークエリで複数のシートのデータを結合する
サンプルデータ
今回はどうぶつたちのテストの結果をサンプルデータとしましょう。「らくだ」「ねこ」「しまうま」のテスト結果がそれぞれのシートに記録されています。
これらのデータを結合することにしましょう。
パワークエリによるデータの結合
「らくださん」「ねこさん」「しまうまさん」のデータはカラム名が揃っていますね。これを縦に結合できればよさそうです。どうぶつの「なまえ」の列がないので、このままデータを結合してしまうと誰のテスト結果であるかわからなくなりそうですが、大丈夫です。
結合時のシート名の情報を保持できるので今回はこのまま結合してみましょう。さっそくやっていきます。新しくEXCELを立ち上げてください。
メニューバーの「データ」→「データの取得」→「ファイルから」→「Excelブックから」を選んでください。
「データの取り込み」のダイアログが開くので先ほど用意したサンプルデータのExcelブックを指定して「インポート」をクリックします。
ナビゲーターの画面が開くので、「どうぶつたちの成績.xlsx」を選択します。ブック名の後ろの数字はSheetの数を表します。このナビゲーター画面では「複数のアイテムの選択」のチェックボックスがあり、これをチェックするとシート単位で選択できるようになりますが、複数のシートを取り込んで1つに結合する場合は「複数のアイテムの選択」は使わずにブック名を選択します。
この状態で画面下部の「データの変換」をクリックします。すると、パワークエリが起動します。
赤枠で囲った部分をクリックしてデータを展開します。
上記のダイアログが表示されるのですべての列を選択して「OK」をクリックしてください。すると列が展開されます。
次に不要な列を削除していきます。
「Item」「Kind」「Hidden」は不要な列なので削除してしまいましょう。Ctrlキーを押しながらそれぞれの列を順に選択します。(Item列を選択した状態でShiftキーを押しながらHidden列を選択してもOKです)削除したい列が選択できたら、右クリックをして表示されるメニューから「列の削除」を選択します。
データを眺めていると、1行目がヘッダとして使えそうです。「ホーム」メニューの「変換」リボンから「1行目をヘッダーとして使用」を選択してください。
データを眺めると、1列目は動物のなまえのデータになっていることがわかります。そこで列名を「なまえ」に変更してしまいましょう。これは列名をダブルクリックすると編集できます。また「No」の列も不要ですね。列を選択して右クリックのメニューから「削除」を選択して削除してしまいましょう。
また、11行目や22行目にはヘッダの列名が含まれています。これは各シートにヘッダ行があったためですね。データを結合するときには不要となります。フィルター機能を使って削除することにしましょう。
「年度」列には西暦のデータが入るので、「年度」列にある「年度」というデータは不要です。これを利用してデータの中にあるヘッダを除去してしまいましょう。「年度」列の▼をクリックしてフィルター設定を表示させて、「年度」のチェックを外して「OK」をクリックします。
※「年度」の列を使っていますが、もちろんその他の列でも可能です。たとえば「区分」列を使うのであれば、本来は「上期」「下期」というデータが入るので、「区分」というデータは不要となるのでこれを外します。
これでデータの中に混じっていた不要な「ヘッダ」を除去することができました。「ホーム」メニューの「閉じて読み込む」をクリックしてデータを読み込みましょう。
以上で3つのシートを結合して1つのテーブルとして読み込むことができました。この方法を知っておくとデータが増えた場合にも安心ですね。クエリを作成しておけば1クリックで結合したデータを作成することができます。
まとめ
データを結合するときに「複数のファイルを結合」する場合と1つのファイルにある「複数のシートを結合」する場合とで操作が異なるので注意しましょう。今回は「複数のシートを結合」する場合を扱いました。
ナビゲーター画面でブックを選択するのがポイントです。ここで「複数のアイテムを選択」にチェックを入れてシートを選択すると、各シートのデータを取り込むことができますが、1つに結合されないので注意しましょう。
コメント