Web上の表形式データをExcelに取り込みたいけれど、手作業でのコピペは手間がかかりすぎて困っていませんか?
Power Queryを使えば、Webページ上のテーブルデータを自動でExcelに取り込めます。
この記事では、ExcelでPower Queryを使ってWebページからデータを取得する手順を詳しく解説します。
Web上の情報を効率的に活用できるようになります。
【要点】Power QueryでWebページからデータを取得する手順
- データ取得元としてWebを指定: Power QueryでWebページをデータソースとして選択する。
- URLの入力と接続: データを取得したいWebページのURLを入力し、Excelから接続する。
- テーブルの選択と読み込み: Webページ上のテーブルデータを選択し、Excelシートに読み込む。
ADVERTISEMENT
目次
Power QueryによるWebデータ取得の仕組み
Power Queryは、Excelに標準搭載されているデータ加工・整形ツールです。
Webページからのデータ取得機能は、指定したURLにアクセスし、HTML構造を解析して表形式のデータを抽出します。
これにより、手作業では時間のかかるデータ収集作業を大幅に効率化できます。
取得したデータは、Excelのテーブルとして取り込まれ、必要に応じてさらに加工・分析が可能です。
Webページからデータを取得する手順
ここでは、Power Queryを使ってWebページからデータを取得する具体的な手順を説明します。
- Excelで新しいクエリを作成
Excelを開き、「データ」タブをクリックします。次に、「データの取得」グループにある「データの取得」をクリックします。 - データソースとして「Web」を選択
表示されるメニューから「その他のソースから」を選び、「Web」をクリックします。 - WebページのURLを入力
「Webから」ダイアログボックスが表示されます。「基本」を選択し、「URL」欄にデータを取得したいWebページのURLを正確に入力します。URLの入力が終わったら、「OK」をクリックします。 - 接続と認証(必要な場合)
Excelが指定したURLに接続します。Webサイトによっては、サインインや認証情報(ユーザー名、パスワードなど)の入力が求められる場合があります。その場合は、画面の指示に従って認証情報を入力してください。 - 「ナビゲーター」ウィンドウでテーブルを選択
接続が成功すると、「ナビゲーター」ウィンドウが表示されます。このウィンドウには、Webページ上で検出されたテーブルやリンクの一覧が表示されます。 - 取得したいテーブルを選択
「ナビゲーター」ウィンドウで、取得したいデータが含まれるテーブルを探します。テーブル名をクリックすると、右側のプレビュー画面でその内容を確認できます。取得したいテーブルが見つかったら、そのテーブルを選択した状態で「読み込み」ボタンをクリックします。 - Excelシートへのデータ読み込み
選択したテーブルデータがExcelシートに読み込まれます。データはExcelのテーブル形式で表示され、必要に応じて書式設定や集計が可能です。
Power Query Editorでのデータ加工
Excelシートに読み込んだデータは、Power Query Editorでさらに加工・整形できます。
例えば、不要な列の削除、データ型の変更、フィルターの適用、計算列の追加などが可能です。
Webページから取得したデータがそのままでは分析しにくい場合、この機能が役立ちます。
ADVERTISEMENT
Power Query Editorでのデータ加工手順
ここでは、Power Query Editorでの基本的なデータ加工手順を説明します。
- Power Query Editorを開く
Excelシートに読み込まれたテーブルを選択した状態で、「データ」タブの「クエリと接続」をクリックします。表示されるウィンドウで、対象のクエリ(Webから取得したデータ)をダブルクリックします。 - 不要な列を削除する
削除したい列のヘッダーを選択し、右クリックメニューから「削除」を選びます。複数の列を削除したい場合は、Ctrlキーを押しながら列ヘッダーをクリックして複数選択してから削除します。 - データ型を変更する
列ヘッダーの左側にあるアイコンでデータ型を確認・変更できます。例えば、「123」は数値、「ABC」はテキスト、「1/1」は日付を示します。アイコンをクリックし、適切なデータ型を選択して変更します。 - フィルターを適用する
列ヘッダーの右側にあるフィルターボタン(▼)をクリックし、表示される条件でデータを絞り込みます。例えば、「テキストフィルター」や「数値フィルター」など、データ型に応じたフィルターが利用できます。 - 計算列を追加する
「列の追加」タブをクリックし、「カスタム列」を選択します。表示されるダイアログボックスで、新しい列名と数式を入力して計算列を作成します。例えば、「単価」×「数量」で「売上金額」を計算するなどの処理が可能です。 - 加工内容の適用と保存
データ加工が完了したら、「ホーム」タブの「閉じて読み込む」をクリックします。これにより、加工されたデータがExcelシートに反映されます。
Webページデータ取得時の注意点とトラブルシューティング
Power QueryでのWebデータ取得は非常に便利ですが、いくつかの注意点や、発生しうるトラブルがあります。
Webサイトの構造変更でデータが取得できなくなる
Webサイトのデザインや構造は頻繁に変更されることがあります。
サイトの構造が変わると、Power Queryが以前のようにテーブルを認識できなくなり、データが取得できなくなったり、意図しないデータが取得されたりします。
対処法:
- クエリの編集: 「データ」タブの「クエリと接続」から該当のクエリをダブルクリックし、Power Query Editorを開きます。
- ナビゲーターでの再確認: 「ソース」ステップでURLが正しいか確認し、必要であれば「ナビゲーター」ウィンドウでテーブルを再度選択し直します。
- ステップの修正: サイト構造の変更により、Power Query Editor内の「適用したステップ」がエラーになっている場合があります。エラーが発生しているステップを削除したり、新しいステップを追加したりして、データ取得プロセスを再構築する必要があります。
ログインが必要なページからデータを取得できない
会員制サイトなど、ログインが必要なページから直接データを取得しようとすると、認証エラーでうまくいかないことがあります。
対処法:
- Webサイトでのログイン: まず、ExcelではなくWebブラウザで対象のWebサイトにログインします。
- URLのコピー: ログイン後に表示されるページのURLをコピーします。
- Power QueryでのURL指定: ExcelのPower Queryで「Webから」を選択する際に、コピーしたログイン後のURLを入力します。
- 認証情報の提供: Power Queryの接続画面で、「認証の編集」または「アカウントの追加」を選択し、Webサイトで使用しているユーザー名とパスワード、またはCookie情報などを提供して接続を試みます。サイトによっては、この方法でも取得できない場合があります。
テーブルとして認識されないデータ
Webページ上のデータが、Power Queryの「ナビゲーター」ウィンドウでテーブルとして一覧表示されない場合があります。
これは、データがHTMLテーブルタグ(
| 項目 | Power Query | VBA |
|---|---|---|
| 操作の容易さ | GUI操作が中心で、専門知識が少なくても利用可能 | プログラミング知識が必要 |
| Webデータ取得 | Webページからのテーブル取得に特化しており、GUIで容易に設定可能 | InternetExplorerオブジェクトなどを利用して実現可能だが、コード記述が必要 |
| データ加工・整形 | 豊富なGUI操作とM言語による高度な加工が可能 | コード記述により柔軟な加工が可能だが、複雑になりやすい |
| 更新の自動化 | 「すべて更新」機能で容易に実行可能 | マクロの実行と連動させる必要あり |
| 柔軟性 | GUIで対応できない複雑な処理はM言語や他のツールとの連携が必要 | プログラミング次第で高度にカスタマイズ可能 |
| 学習コスト | 比較的低い | 高い |
一般的に、Webページから表形式のデータを自動で取得・整形したい場合は、Power Queryの方が直感的で効率的です。
VBAは、Power Queryでは実現が難しい非常に特殊な処理や、Excel以外のアプリケーションとの連携が必要な場合に有効な手段となります。
Power Queryで実現できない複雑なWebスクレイピングが必要な場合は、VBAとHTML解析を組み合わせるか、Pythonのようなより強力なプログラミング言語を検討するのが一般的です。
まとめ
この記事では、ExcelのPower Query機能を使ってWebページからデータを取得し、Excelシートに読み込む手順を解説しました。
WebサイトのURLを指定するだけで、手作業では大変なデータ収集作業を自動化できます。
さらに、Power Query Editorを使えば、取得したデータの整形や加工もGUI操作で簡単に行えます。
今後は、Web上の最新情報を定期的にExcelに取り込み、分析に活用できるようになるでしょう。
まずは、よく参照するWebサイトのテーブルデータをPower Queryで取り込むことから始めてみてください。
ADVERTISEMENT
超解決 Excel・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Outlook】宛先が「オートコンプリート」に出ない・間違っている時の修正手順|履歴の削除と再構築
- 【Outlook】メールの受信が数分遅れる!リアルタイムで届かない時の同期設定と送受信グループ設定
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
- 【Outlook】「メール送信を5分遅らせる」設定!誤送信を防ぐ最強のディレイ機能
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
