今回は、Webサイトに掲載されている表をExcelに読み込み、分析用のデータとして活用する方法を紹介していこう。この操作はコピー&ペーストで実行できる場合も少なくないが、上手くいかない場合に備えて「Webクエリ」の使い方も学んでおくとよい。
コピー&ペーストによる表データの取得
手元にあるデータではなく、Webに公開されているデータを使って分析作業を進めていきたい場合もあるだろう。たとえば、気象庁のWebサイトには、それぞれの観測点における過去の気象データが一般公開されている。
こういった表をもとにデータ分析を行うには、まず表内のデータをExcelに取り込む必要がある。このとき、最初に思いつく操作手順はコピー&ペーストであろう。具体的には、以下のような手順だ。
(1)表の範囲をドラッグして選択し、「Ctrl」+「C」キーでコピーする。
(2)Excelを起動し、適当なセルに「Ctrl」+「V」キーで貼り付ける。
たいていの場合、これでデータをExcelに取り込むことができる。しかし、上手くいかない場合もある。今回の例では、コピー&ペーストした結果が以下の図のようになってしまった。
もちろん、これではデータとして活用できない。参考までに補足しておくと、WebからExcelへのデータの取り込みは、「表を選択する範囲」に応じて結果が大きく変化するようだ。実は上記の例も、セルの選択の仕方を工夫することで問題なくデータを取り込める場合もある。
このように、Webに掲載されているデータを「そのままExcelに取り込めるか?」はケース by ケースとなる。そこで、Excelに用意されている「Webクエリ」という機能を使ってデータを取り込む方法も覚えておくとよい。
Webクエリを使ったデータの取り込み
コピー&ペーストが上手くいかなかった場合は、「Webクエリ」を使ったデータの読み込みを試してみるとよい。基本的な操作手順を以下に紹介していこう。
まずは、読み込みたい表が掲載されているWebページのURLを「Ctrl」+「C」キーでコピーする。
続いて、Excelを起動し、「データ」タブにある「Webから」をクリックする。すると、URLを入力する画面が表示されるので、先ほどコピーしたURLを「Ctrl」+「V」キーで貼り付けて「OK」ボタンをクリックする。
指定したURL内にある表が自動的にピックアップされるので、この中から読み込みたい表を選択する。その後、データの形式を整えるために「データの変換」ボタンをクリックする。
今度は「Power Query エディター」という画面が表示される。ここでは、表の読み込み方法などを指定していく。
最初に、不要な行を削除しておこう。今回の例では、表の上部にある「見出し」がデータ行にも配置されている。これらの行は必要ないので、あらかじめ削除しておく。ただし、好きな行を自由に削除できる訳ではない。
Webクエリでは、「上から▲行」まはた「下から▲行」という指定方法で行を削除できるようになっている。今回は「上から2行」が不要なので、以下の図のように操作する。
次は、不要な列を削除していこう。この手順は、各列の「見出し」をクリックして列を選択し、「列の削除」のアイコンをクリックするだけだ。
ここでは「時」「気温」「湿度」「天気」の4列だけを残して表を読み込むことにした。これで表の成形は完了となる。
最後に、各列のデータ型を確認しておこう。表の状態によっては、「数値データ」が「文字データ」として読み込まれてしまう場合もある。セル内に数値が「左揃え」で配置されている場合、その列は「文字データ」(テキスト)として扱われている。
データ型を「数値」に変更するときは、列を選択した状態で「データ型」に「10進数」を指定すればよい。この操作を忘れると、数式や関数を使って数値を処理することができなくなってしまうので注意しよう。
各列のデータ型を指定できたら「閉じて読み込む」のアイコンをクリックする。すると、新しいワークシートが作成され、そこにテーブル形式の表としてデータが読み込まれる。
あとは、数式や関数などを使って自由にデータ分析を進めていくだけだ。
クエリの編集
データの読み込み時に指定を間違えてしまった場合は、後から修正することも可能である。この場合は、表内のセルを選択し、「クエリ」タブにある「編集」をクリックすればよい。
再び「Power Query エディター」が表示され、削除する行/列やデータ型などを指定しなおすことが可能となる。クエリの編集は、各操作がステップ形式で記録される仕組みになっている。このため、以前の操作まで遡ることで、削除した列などを復活させることができる。
たとえば、「削除された最初の行」を選択すると(上図を参照)、「行の削除」、「列の削除」、「データ型」を指定する前の状態にまで遡ることができる。また、各ステップの「×」印をクリックして、そのステップをそのものを削除することも可能だ。
テーブルの解除とWebクエリの削除
続いては、Excelに読み込んだ表を「通常の表」にする方法と、Webクエリの削除について説明しておこう。
「テーブル形式の表」に不慣れで扱いにくい場合は、「通常の表」に変更してから分析作業を進めてもよい。この場合は、表内のセルを選択し、「デザイン」タブにある「範囲に変換」をクリックする。これで「通常の表」に戻すことができる。
ただし、データの読み込み時に指定した「Webクエリ」は、そのまま残っていることに注意しなければならない。念のため、「Webクエリ」を削除する手順も紹介しておこう。「データ」タブにある「データの取得」をクリックし、「Power Query エディターの起動」を選択する。
「Power Query エディター」が起動するので、先ほど作業した「Webクエリ」を右クリックし、「削除」を選択する。その後、確認画面が表示されるので、「削除」ボタンをクリックすると「Webクエリ」を削除できる。
最後に、画面の右上にある「×」をクリックして「Power Query エディター」を閉じると、以下のような確認画面が表示される。ここでは「保持」ボタンをクリックすればよい。
ちなみに「保持」とは、「Power Query エディター」で作業した内容を保持する(反映する)、ということを意味している。一方、「破棄」ボタンは、「Power Query エディター」での作業内容をキャンセルし、元の状態に戻す場合に使用する。
今回、紹介した「Webクエリ」はExcelの上級者向けの機能となるが、単にWebページからデータを読み込むだけなら、誰でも十分に活用できる機能といえる。Webページからデータをコピー&ペーストできなかった場合の対策法として、覚えておくと役に立つだろう。
なお、次回はPDFファイルからExcelにデータを取り込む方法を紹介する。こちらも覚えておくと便利である。