いまさら聞けないExcelの使い方講座

【Excel】Webページで公開されている表を使いたい!外部データをエクセルに取り込むテク

インターネット上にあるデータをExcelで使用したい!

 インターネット上には多様なデータが公開されていますよね。プレゼン資料や調査報告資料などを作成する際、これらの豊富なデータを引用したいと思ったことはありませんか? でも、手作業で表をコピペするのは案外面倒ですよね。

 Excelでは、インターネット上にある表データを簡単に取り込める機能があるのを知っていますか? この機能を使えば、手作業で大量の表データをコピペしなくても、簡単なクリック操作だけで取り込むことができます。ただし、実際に外部のWebサイトからデータを使用する際には、著作権やデータの利用規約に注意してくださいね。

Webサイトにある表データをExcelに取り込んでみよう

 例として、総務省統計局のホームページで公開されている「2015年基準 消費者物価指数 全国 2020年(令和2年)1月分 (2020年2月21日公表)」の表(①)をExcelシートに取り込んで表示してみましょう。

出典:総務省統計局ホームページ

 まず、取り込んだデータを表示するブックを準備しておきます。ここでは、空のブックに「消費者物価指数_2020年1月分.xlsx」という名前を付けて保存してあります。ブックの準備ができたら新規シートを開き、[データ]タブ(②)→[Webから](③)をクリックします。なお、[Webから]コマンドがあるのは、Office 365版のExcelとデスクトップ版のExcel 2019のみです。Excel 2016や、Excel 2013には「Webクエリ」という機能がありますが、操作方法や機能は異なります。

 [Webから]画面が表示されるので、[基本](④)のラジオボタンがONになっていることを確認して、[URL]欄にWebサイトにある取り込みたいデータのURLを入力します(⑤)。

 URLを入力できたら、[OK](⑥)をクリックします。

 すると、[ナビゲーター]画面が表示されます。画面左側のペインから[Table0](⑦)を選択すると、右側の[テーブルビュー]欄に取り込む表のプレビューが表示されます(⑧)。

 内容を確認し、[読み込み](⑨)をクリックすると、データの読み込みが開始されます。

 データの読み込みが終わると、Webサイト上の表がシートに挿入されます(⑩)。見た目は元の表と少々異なっていますが、同じデータが取り込まれています。また、画面の都合上すべてのデータは表示されていませんが、データはすべて取り込まれています。

 不要な行を削除したり、列幅を調整したりして、画面上にすべてのデータが表示されるように修正し(⑪)、上書き保存をしておきます。

 Webサイト上の表を簡単にExcelに取り込むことができましたね。取り込まれた表はテーブル形式になっていて、Webサイト上の元の表とリンクしています。よって、Webサイト上の元の表が更新されたら、Excelの表にも簡単に内容を反映できます。

 Webサイト上の元の表が更新された時に、Excelの表にも内容を反映させる方法はいくつかありますが、ここでは、Webサイトの表を取り込んだブック(消費者物価指数_2020年1月分.xlsx)を開く際、取り込んだデータが更新されるように設定してみましょう。

 表内のいずれかのセルを選択した状態で[クエリ]タブ(⑫)→[プロパティ](⑬)をクリックします。

 [クエリプロパティ]ダイアログボックスが表示されます。[使用]タブ(⑭)にある[ファイルを開くときにデータを更新する]チェックボックスをON(⑮)にして、[OK](⑯)をクリックします。

 シートに戻ったら、上書き保存をしておきます。これで、次回このブックを開く時に元データが更新されていれば、このブックの内容も自動的に更新されるようになります。

Webサイトの表データの一部だけを取り込む

 前項では、Webサイトの表をすべて取り込む例を解説しましたが、サイトによっては膨大なデータが公開されていて、その一部だけを使用したいというケースもありますよね。この項では、Webサイトの表データの一部だけを取り込む方法を解説します。

 先ほどの「2015年基準 消費者物価指数 全国 2020年(令和2年)1月分 (2020年2月21日公表)」の表(①)で、右側の「月次(前年同月比%)」の部分だけを取り込みたいとします。

 Web上の表を部分的に取り込みたい場合も、途中までは先ほどと同じ手順で行います。[データ]タブ(②)→[Webから](③)をクリックして、[Webから]画面を表示しましょう。

[Webから]画面の[基本](④)のラジオボタンがONになっていることを確認して、[URL]欄に取り込みたいデータのURLを入力し(⑤)、[OK](⑥)をクリックします。

 [ナビゲーター]画面が表示されます。画面左側の[表示オプション]欄から[Table0](⑦)を選択すると、右側の[テーブルビュー]欄に取り込む表のプレビューが表示されます。今回はここで[データの変換](⑧)をクリックします。

 すると、Power Queryエディターが表示されます。このPower Queryエディターを使って、取り込みたくない列を除外します。ここでは⑨で囲んだ3列分が不要なので、これらを除外しましょう。まず、「年平均(前年比%)2017年」の列全体(⑩)を選択します。

 そのまま[Shift]キーを押しながら、「年平均(前年比%)2019年」の列全体を選択(⑪)すると、3列分を選択することができます(⑫)。削除対象の列を選択できたら、[列の削除](⑬)をクリックします。

 選択された3列が削除されましたね。不要な列が取り除かれたので、[閉じて読み込む](⑭)をクリックして、データの読み込みを開始します。

 データの読み込みが終わると、対象の表のうち先ほどPower Queryエディターに表示されていた4列だけがシートに挿入されます(⑮)。

 データ量が多くて取り込むのに時間がかかりそうな場合、自分の必要な列や行以外を除外して取り込むことができるので便利ですね。

Webサイトにある表データも簡単にExcelで利用できる

 今回は、Webサイトに掲載されている表を簡単にExcelに取り込む方法を解説しました。Excelに取り込んだデータは元の表とリンクしているため、元の表が更新されたらExcelの表にも簡単に内容を反映できます。

 今まで、Webサイトの表を利用したい時は、コピペで対応していた人という人は多いと思いますが、この機会にぜひこのテクを使ってみてくださいね。

今月のExcelTips