これまでは「Excelファイル」や「フォルダー」からデータを取得し、「Power Query エディター」でデータ表を加工する方法を紹介してきた。このほかにも、さまざまなデータの取得方法が用意されている。今回は、「セル範囲」からデータを取得する方法、ならびに加工したデータ表の「出力先」を指定する方法を紹介していこう。
1つのExcelファイルだけで完結するパワークエリ
今回は、作業中のExcelファイルに記録されているデータ表(テーブル)を「Power Query エディター」に取得する方法を紹介していこう。あわせて、加工したデータ表の出力先を指定する方法も紹介する。
この方法でパワークエリを利用すると、データの「取得元」と「出力先」が同じExcelファイルになり、1つのExcelファイルで処理を完結させることが可能となる。通常のExcel操作ではなく、「Power Query エディター」に用意されているコマンドを使って編集作業を進めていきたい、といった場合に活用できるので、その大まかな流れを覚えておくとよい。
指定したセル範囲からデータを取得
それでは、具体的な例を示しながら操作手順を紹介していこう。以下の図は、商品の「型番」、「発売日」、「色」、「価格」といった情報をまとめたデータ表だ。このデータ表を「Power Query エディター」に取得してみよう。
表内にあるセルを1つだけ選択し、「データ」タブにある「テーブルまたは範囲から」をクリックする。
データ表の範囲が自動的に認識され、緑色の点線で表示される。これを確認してから「OK」ボタンをクリックする。
先ほどのセル範囲からデータを取得した状態で「Power Query エディター」が起動する。あとは、用途や目的に応じてデータ表を加工していくだけだ。
パワークエリでデータ表を加工
ここでは、現在の「型番」をもとに“新しい型番”を作成しなおす場合を例に、データ表を加工してみよう。“新しい型番”の作成方法は、前回の連載で紹介した内容と同じ。「例からの列」コマンドを使って、「発売日」や「色」の情報も含めるように“新しい型番”を作成した。
その後、“新しい型番”の列名を「型番N」に変更し、古い「型番」の列を削除する。さらに、「色」の列から“カッコの記述”を削除する処理を施した。この処理手順は、以下のようになる。
(1)「カスタム」の列名を「型番N」に変更
(2)古い「型番」の列を削除
(3)「型番N」の列をデータ表の左端へ移動
(4)「色」の列を“(”の文字で分割
※列名が「色.1」と「色.2」になる
(5)「色.2」の列を削除
(6)「色.1」の列名を「色」に変更
これでデータ表を加工する作業は完了。もちろん、この部分の操作手順は用途や目的に応じて変化するので、上記は“ひとつの加工例”として見ていただければ幸いだ。
場所を指定してデータを出力
続いては、「場所」を指定してデータ表を出力する方法を紹介していこう。「閉じて読み込む」の▼をクリックし、「閉じて次に読み込む」を選択する。
「Power Query エディター」が終了し、データ表(テーブル)の出力先を指定する画面が表示される。現時点では、初期値として「新規ワークシート」が選択されている。
これを“現在のワークシート”に変更することも可能だ。この場合は、「既存のワークシート」を選択し、出力先の「先頭セル」を指定する。今回の例では、G2セルを先頭にデータ表(テーブル)を出力するように指定した。
「OK」ボタンをクリックすると、指定した場所に“加工済みのデータ表”がテーブルとして出力される。
以上が、1つのExcelファイル内で処理を完結させるときの大まかな流れとなる。
なお、“データの取得元”に指定したセル範囲は、自動的に「テーブル」に変換される仕組みになっている。このとき、テーブルの書式(スタイル)に不具合が発生してしまうケースもある。上図に示した例では、“見出し”の文字が読み取りづらくなっている。
これは、“見出し”の部分にグレーの「塗りつぶしの色」を指定していたことが原因だ。これをスタイル本来の色に戻す方法を紹介しておこう。以下の図のようにセル範囲を選択する。
続いて、「塗りつぶしの色」の▼をクリックし、「塗りつぶしなし」を選択する。
すると、もともと指定されていたグレーの「塗りつぶしの色」が解除され、スタイル本来の色で“見出し”が表示されるようになる。
このように、「スタイルの書式」と「自分で指定した書式」が異なる場合は、「自分で指定した書式」が優先される仕組みになっている。その結果、見た目に不具合が生じてしまうケースもある。このような場合は、「自分で指定した書式」を解除してあげると、テーブルを「スタイルの書式」で表示できる。パワークエリとは直接関係のない話になるが、念のため、覚えておくとよいだろう。
話をパワークエリに戻そう。出力されたテーブルは、すべての列が「標準」の表示形式で表示されている。データが見やすくなるように、各列に適切な表示形式を指定しておこう。今回の例では、「価格」の列に「通貨」の表示形式を指定した。
データの追加(修正)とクエリの更新
データの「取得元」と「出力先」を同じExcelファイルにした場合も、パワークエリならではの利点を活かすことが可能だ。たとえば、“取得元のテーブル”で一部の「価格」データを修正し、さらに4件のデータを追加したとしよう。
その後、「データ」タブにある「すべて更新」をクリックすると、「Power Query エディター」で指定した処理が再実行され、“出力先のテーブル”を最新の状況に合わせて更新することが可能となる。
このように、データの追加や修正にもクリックひとつで対応できる。「取得元」と「出力先」のデータを見比べながら「自動処理が正しく機能しているか?」を確認できるため、パワークエリを学習する際にも効果的な使い方になるだろう。
取得元データとクエリの削除
データ表の加工が完了し、クエリによる自動処理が不要になったら、“取得元のテーブル”を削除して、“加工後のテーブル”だけを残した状態にしてもよい。以下の図では、B~F列を削除することにより“取得元のテーブル”を削除している。
もちろん、“取得元のテーブル”を削除すると、それ以降は「すべて更新」を使えなくなってしまう。“取得元のテーブル”がない状態でクエリの更新を行うと、以下の図に示したようなエラーが発生する。データの取得元が存在しないのだから、当然といえば当然の話であるが、念のため注意しておこう。
自動処理が不要になったのであれば、クエリそのものを削除してしまっても構わない。クエリを削除するときは、「クエリと接続」をONにしてクエリの一覧を表示し、右クリックメニューから「削除」を選択すればよい。
すると、以下の図のような確認画面が表示される。ここで「削除」ボタンをクリックすると、クエリの削除を実行できる。
今回の連載で紹介したように、1つのExcelファイル内で完結する形でパワークエリを利用することも可能である。必ずしも「外部からデータを取得して……」という使い方をしなければならない訳ではない。
通常のExcelでは処理するのが難しい場合、もしくは「パワークエリで処理した方が簡単」という場合は、今回の連載で紹介した流れで作業を進めていくと、無駄にファイルを増やすことなく、作業を完遂できるようになる。パワークエリを手軽に利用する方法として、ぜひ覚えておくとよいだろう。