• Excel
  • データ入力
  • 集計・分析
  • マクロ・VBA
  • Power Query(パワークエリ)

Excel(エクセル)でWEBから簡単にデータを収集する方法!スクレイピングを徹底図解

2023.03.30

Excel(エクセル)でWEBから簡単にデータを収集する方法!スクレイピングを徹底図解

目次

スクレイピング(WEBスクレイピング)は、WEBサイトで公開されている情報を抽出・整形する技術のことです。実はExcel(エクセル)の機能を使えば、初心者でも簡単にスクレイピングできることをご存じでしょうか。

やり方を知っているだけで、データ収集にかける時間を飛躍的に短縮することが可能です。
そこで今回は、Excelのスクレイピング機能の使い方を解説します。

画像満載でわかりやすくご紹介していますので、手作業によるデータ収集に不便さを感じていたり、WEBの表を上手くExcelに落とせずにお困りの方は、ぜひ最後までご覧ください。

EXJ_みずき

監修:みずき さん
EXCEL女子の研修講師をしています。Excel研修では「覚える」だけではなく「理解する」ことで、自身の力としてExcelスキルを身につけられる研修を実施しています。研修をするたびにExcelが大好きになり、Excelってすごい!と実感しています。Excelの他には写真が好きで食べ物や風景を撮影しています!

スクレイピングでWEBデータを収集するメリット

スクレイピングのメリットは、データの取得時間を短縮できるだけではありません。
抽出したデータは元の表とリンクしているため、頻繁に更新されるデータも最新の情報にすぐアップデートでき、作業工程の大幅な短縮につながります。

また、WEB上にある為替や気象、感染症の国内発生状況など様々なデータを活用できるようになれば、分析の幅を広げることも可能です。

ただし、WEB上のデータにも著作権があります。スクレイピングを行う際は権利や利用規約などに注意しながら使用しましょう。

WEBページからデータをインポートする方法

ここからは、スクレイピングの基本である、Excelの機能「Power Query(パワークエリ)」を使ってWEBページからデータをインポートする方法をご紹介します。主に「表」の形をしているデータを簡単に抽出することが可能です。

Power Queryとは?

Power Queryとは外部データをインポートまたは接続し、必要に応じて列の削除、データ型の変更、テーブルのマージなど、そのデータを整形できる機能です。
Excel2013 のアドインとして登場した機能で、Excel2016 からは「データの取得と変換」として標準機能に組み込まれました。

Excelで外部データを取得・集計しようとすると、読み込んだデータをもとに集計をするためデータが重くなったり、集計に手間がかかりがちです。しかしPower Queryを使うと元データに接続をするためデータが重くなりにくく、かつ集計もしやすいというメリットがあります。

式がExcel関数と異なっており、慣れるまでに時間がかかるかもしれませんが、とても便利な機能なのでぜひ活用してみてください。

Power Queryの活用例

Power Queryで出来る事の一例は以下になります。
  • WEB のデータを自動でExcel に読み込む
  • 複数のExcel を接続して集計する
  • システムからデータをダウンロードして毎月自動更新
  • Google フォームの結果を集計してExcel に読み込む

本記事では、「WEB のデータを自動でExcel に読み込む」「複数のExcel を接続して集計する」についてご紹介します。ここからは例として、気象庁が公開している2021年10月と11月の東京の気象データの表をPower Queryでスクレイピングしていきます。

※この記事ではOffice365とExcel2019における操作方法をご紹介します。
Excel2016やExcel2013をご利用の方は「Webクエリ」機能を利用してください。

気象庁が公開している「2021年10月と11月の東京の気象データ表」
出典気象庁ホームページ 
東京 2021年10月(日ごとの値) 詳細(気圧・降水量・気温・蒸気圧・湿度)
東京 2021年11月(日ごとの値) 詳細(気圧・降水量・気温・蒸気圧・湿度)

(1)データを取り込むExcelのブックを用意し、新規シートを開く
《データ》タブの《Webから》をクリックします。

データを取り込むExcelのブックを用意し、新規シートを開く

(2)ダイアログボックスに必要事項を入力
《基本》にチェックを入れ、《URL》を入力し、《OK》をクリックします。
ここでは、URLに「https://www.data.jma.go.jp/obd/stats/etrn/view/daily_s1.php?prec_no=44&block_no=47662&year=2021&month=10&day=&view=a1を入力します。

ダイアログボックスに必要事項を入力
出典|気象庁ホームページ
東京 2021年10月(日ごとの値) 詳細(気圧・降水量・気温・蒸気圧・湿度)

(3)プレビューを確認
続いて表示される《ナビゲーター》の左側にでてくるデータ《東京 2021年10月(日ごとの値) 詳細(気圧・降水量・気温・蒸気圧・湿度)》を選択すると、右側に表のプレビューが表示されます。プレビューを確認後《読み込み》をクリックします。

プレビューを確認する
(4)ファイルを保存
Excelに表が挿入されたことを確認し、《ファイル》《名前を付け保存》と進み、任意の場所にファイルを保存します。

※もし不要な行や列が抽出されている場合は、次の章でご紹介する「抽出したデータの整形方法」を参考に調整してください。

表が挿入されたことを確認し、ファイルを保存する

抽出したデータの整形方法

ここでは、抽出したデータを分析しやすいようにクエリを編集して、データを整形する方法をご紹介します。

クエリの編集

表をインポートすると、右側に《クエリと接続》が表示されます。整形したい項目(クエリ)をダブルクリックするとエディターが表示されるので、エディターを使用して編集しましょう。

クエリの編集

不要な行/列の削除

不要な列を削除する方法をご紹介します。
ここでは、本記事上部でご紹介したステップで10月の気象データをインポートし、《ナビゲーター》の画面まで進んでいることを前提としています。
(1)データテーブルを選択し、《データの変換》をクリック
左側の10月の気象データのテーブルを選択し、《データの変換》をクリックします。

データテーブルを選択し、「データの変換」をクリック
(2)不要な行や列を削除
ここでは、例として気圧の列を削除します。

Power Queryエディターが表示されたら、不要な行や列を削除します。
Shiftキーを押しながら気圧の列を選択します。選択が終わったら《列の削除》をクリックします。

不要な行や列を削除する

気圧の列が消えたことを確認し、《閉じて読み込む》をクリックします。

「閉じて読み込む」をクリック

最後に、整形データがテーブルとして読み込まれていることを確認します。

データの整形ができたか確認する

データ型の指定

WEBに掲載されている表の状態によっては、左揃えのテキストでインポートされてしまうことがあります。この場合、データ型を「数値」に指定し直さないと数式や関数などが使用できないため、調整を行いましょう。

(1)データ型を変えたい列を選択し、データ型を《10進数》に変更

データ型を変えたい列を選択し、データ型を「10進数」に変更
(2)《閉じて読み込む》をクリック

「閉じて読み込む」をクリックする
最後に、データがテーブルとして読み込まれていることを確認します。

変更が反映されているか確認して完了

以前の操作まで遡ることも可能

データの読み込み後でも、データを修正することができます。

(1)表のセルを選択し、右上に表示される《クエリ》タブの《編集》をクリック

「クエリ」タブの「編集」をクリック

(2)《クエリの設定》の《適用したステップ》から、以前の操作を遡る

「クエリの設定」の「適用したステップ」から、以前の操作まで遡る

別のテーブルのデータを追加する

ExcelのPower Queryを使って、テーブルに、別のテーブルのデータを追加することができます。
ここでは、東京の10月と11月の気象データを連結してみましょう。

(1)東京の10月と11月の気象データをそれぞれインポート
データのインポート方法は、本ページ上部でご紹介している手順をご確認ください。

東京の10月と11月の気象データをそれぞれインポート
《クエリと接続》に表示されている《10月の気象データ》を右クリックします。表示されるメニューから《追加》を選択します。

《クエリと接続》から《10月の気象データ》を右クリックします。出てくるメニューから《追加》を選択

(2)《追加》のメニューから《2つのテーブル》をクリック
《最初のテーブル》に《10月の気象データ》が選択されていることを確認し、《2つ目のテーブル》で《11月の気象データ》を選択し、《OK》をクリックすると、10月と11月の気象データが連結されます。

「追加」のメニューから「2つのテーブル」をクリック

下図のように、テーブルが2つ連結されていることを確認してください。
テーブルが2つ連結されている

データの更新(再取得)

インポートしたデータは自動では更新されません。
手動で更新する方法と、Excelを開くたびに更新される方法の2種類をご紹介します。

手動更新

《クエリ》から《更新》をクリックします。

「クエリ」から「更新」をクリックし手動でデータを更新する

自動更新

Excelを開くとデータが自動更新されるように設定します。
(1)《クエリ》タブをクリック
(2)《プロパティ》をクリック

(3)《クエリプロパティ》のダイアログボックスから、《使用》タブの《ファイルを開くときにデータを更新する》のチェックボックスをON
(4)《OK》を押す

Excelを開くと自動更新されるように設定

テーブルの解除とWEBクエリの削除

最後に、Excelにインポートしたテーブルを解除して通常の表に戻す方法と、WEBクエリを削除する方法をご紹介します。

テーブルを解除して通常の表にする方法

インポートしたデータは、通常テーブル形式の表になっています。そのため使いにくければ通常の表に変換してしまいましょう。
表のセルをひとつ選択し、《テーブルデザイン》タブの《範囲に変換》をクリックすると通常の表になります。

テーブルを解除して通常の表にする

WEBクエリの削除方法

データ読み込みに指定したWEBクエリは通常の表に変換しても削除されないため、必要ない場合は消しておきましょう。

(1)《データ》タブから《データの取得》をクリックし、《Power Queryエディターの起動》を選択

「データ」タブから「データの取得」をクリックし、「Power Queryエディターの起動」を選択


(2)起動したエディターの《クエリ》からデータを選択し、右クリックで《削除》をクリック
画面右上の《×》をクリックしてエディターを閉じます。

起動したエディターの「クエリ」からデータを選択し、右クリックで「削除」をクリック
(3)続いて表示される確認画面で、《保持》ボタンをクリック

「保持」ボタンをクリック

コピー&ペーストによるデータ収集のデメリット

WEB上のデータをコピー&ペーストで取り込むことも可能ではあります。
しかし表のレイアウトが崩れてしまう、区切りが代わってしまうなど、上手くいかない場合が大半です。

一方で、ExcelのPower Query機能を使えばきれいにデータを抽出できるだけでなく、WEB上の更新をすぐに反映することもできます。コピー&ペーストによるデータ収集のほうが簡単に感じるかもしれませんが、今後の業務効率化を考えると、Power Queryを使ったスクレイピングを習得しておいた方が圧倒的に業務時間を短縮できます。

ぜひ本記事でご紹介した方法を活用してみてください。

Power Queryでスクレイピングを行う際の注意点

Power Queryによるスクレイピングは便利ですが、重要な注意点があります。
以下の様な点に注意し、正しくスクレイピングを行いましょう。

著作権法等の法令の遵守 許可なくWEBサイトのスクレイピングを行うと著作権侵害となる場合があります。
利用規約を確認する 多くのWEBサイトには利用規約が設けられています。WEBサイトの利用規約を必ず確認し、スクレイピングが禁止されている場合は実施してはいけません。
プライバシーへ配慮する スクレイピングで収集したデータに個人情報が含まれる場合には、プライバシーを尊重し、関連する法令や規制に従ってください。
データの正確性の検証 WEBサイトから収集したデータには、誤りや不正確な情報が含まれることもあります。データの正確性を検証することが大切です。
WEBサイトの変更 WEBサイトの構造が変更された場合、変更に応じてデータを更新しなければいけない場合もあるので注意しましょう。

EXCEL女子は貴社の業務効率化をご支援します

ExcelでWEBデータをスクレイピングできるようになると、商品企画やマーケティングなどの情報収集も今よりずっと簡単に行うことができます。また、Power Query機能を駆使すれば、データの整形・加工といった一連の定型作業を自動化し、業務効率を驚くほど高めることも可能です。

もし社内のIT人材不足やExcelのスキル不足を感じているのであれば、コクー「Excel女子」の「Excel研修」をお試しください。

「Excel研修」ではPower Queryやマクロなどを熟知した専門スタッフが、即戦力を育てるための実践的な指導を行います。貴社の課題に合わせて内容は自由にカスタマイズ可能です。

今後の業務効率化に欠かせないスクレイピングスキルを習得し、社内の生産性を高めてゆきましょう。
まずは、下記よりお気軽にご相談ください。

PAGE TOP