webサイトからエクセルへの取り込みを簡単に実現する方法

目次

はじめに

本記事の目的

本記事は、Webサイトに載ったデータをExcelに効率よく取り込む方法を分かりやすく解説します。手作業でのコピー&ペーストを減らし、時間を節約しミスを減らすことを目指します。

想定読者

  • Excelの基本操作ができる方
  • Web上の表や一覧を定期的に取り込みたい方
  • 手作業を自動化して業務効率を上げたい方
    初心者から中上級者まで、段階に応じた手法を用意しています。

本記事の構成と進め方

本記事は全7章で構成します。第2章はExcelの標準機能、第3章はPower Query、第4章はブラウザ拡張やノーコードツール、第5章はVBAによる自動化、第6章で手動と自動の比較、第7章で実用例を示します。各章で手順、利点・欠点、簡単な実例を示し、読者が自分に合った方法を選べるようにします。

注意点(基本的な心構え)

  • Webサイトの利用規約や著作権を守ってください。
  • サイトに過度な負荷をかけないようにしましょう。
  • 個人情報や機密データの取り扱いに十分注意してください。

この章では全体像を把握していただくことを目的としました。続く章で具体的な手順と実践例を順に説明します。

Excelの組み込み機能を使用したWeb取り込み

概要

Excelに標準で備わる「Web取り込み」は、Webページ上の表やランキングを簡単にシートに取り込めます。準備はURLだけで、専門知識がなくても使えます。具体的な操作手順を以下に示します。

手順(Windows版Excelの例)

  1. 取り込みたいWebページのURLをブラウザでコピーします。
  2. Excelの「データ」タブを開き、「Webから」または「データの取得」→「Webから」を選択します。
  3. 表示されたダイアログにURLを貼り付けて接続します。
  4. Excelがページ内のテーブルを検出すると、一覧が表示されるので取り込みたいテーブルを選び「読み込み」を押します。

取り込み後の操作

取り込んだデータは表形式でシートに展開されます。列幅や書式を変更でき、テーブルのスタイルも簡単に変更できます。データがWeb側で更新された場合は、リボンの「すべて更新」や右クリックの「更新」で最新情報を取得できます。

よくある問題と対処法

  • テーブルが表示されない:ページがJavaScriptで動的に生成されると検出できないことがあります。その場合は別の方法(Power Queryやブラウザ拡張)を検討してください。
  • ログインが必要なページ:認証が必要な場合はExcelからは取り込めないことがあります。ログイン後の固定URLがあれば試してください。

実用的なコツ

  • まずは公開された静的な表から試すと操作に慣れます。
  • 取り込み後に列の型(数値や日付)を確認すると、計算や並べ替えがスムーズです。
  • 定期的に更新したい表は、ブックを開いたときに更新する設定を検討してください。

Power Queryを活用した高度なデータ加工

はじめに

Power QueryはWebから直接データを取り込み、整理や加工を自動化できるツールです。Excelの「データ」→「Webから」で取得し、テーブルを選んで「データの編集」を押すとPower Query Editorが開きます。

基本の流れ

  • 不要な列を削除:列ヘッダーを右クリックして「削除」を選びます。例:広告列や空列を除く。
  • データ型を変更:価格を数値、日付を日付型にして計算や並べ替えを安全に行います。
  • 連番(Index)挿入:ホーム→列の追加→インデックス列で1からの通し番号を付けます。

よく使う変換と具体例

  • 列の分割:住所を「都道府県|市区町村」に分ける。
  • 列の結合:名前と苗字を結合してフルネームを作る。
  • ピボット/アンピボット:月ごとの売上列を「月/売上」形式に変換する(アンピボット)。
  • 条件列:在庫数が0なら「在庫なし」、それ以外は「在庫あり」と表示する式を作れます。
  • 集計(Group By):カテゴリごとに合計や平均を算出します。

効率化のヒント

  • 右側のApplied Stepsを順に確認し、不要な手順を削除して読みやすくします。
  • ステップ名を分かりやすく変更すると保守が楽になります。
  • 動的なURLやパラメーターを使えば複数ページを同じ処理で取り込めます。

読み込みと更新

編集が終わったら「閉じて読み込む」でExcelに戻します。更新はクエリを右クリックして「更新」またはExcelの「すべて更新」で反映できます。

ブラウザ拡張機能とノーコードツールの活用

概要

複雑なページ構造やプログラミング不要の場面では、ブラウザ拡張やノーコードのスクレイピングツールが便利です。画面上で欲しい項目を選ぶだけで、ExcelやCSVに出力できます。

利点

  • 直感的に操作できる点
  • 短時間でデータを取得できる点
  • プログラミング知識が不要な点

代表的なツールと使い方

  • Data Miner / Instant Data Scraper:ページ内の表やリストを自動検出し、選択後にエクスポートできます。
  • Thunderbit:AIが項目を提案し、必要なカラムだけを抽出できます。コピーやダウンロードが可能です。

実践のポイント

  • まずブラウザで拡張をインストールし、対象ページで要素をクリックして選択します。
  • 複数ページにまたがる場合はページネーション機能を使うか、URLパターンで繰り返し抽出します。
  • 出力形式はExcel(.xlsx)かCSVを選び、文字コード(UTF-8)に注意します。

注意点

  • 公開データでも利用規約を確認してください。
  • ログインが必要なサイトや個人情報の扱いには注意が必要です。

導入の流れ(簡単)

  1. ツールをインストール
  2. サンプルページで項目を選択
  3. 抽出を実行してプレビュー確認
  4. ExcelまたはCSVでエクスポート

この章では、初めての方でも扱いやすい手順を中心に解説しました。

VBAコードを使用した自動スクレイピング

はじめに

高度なカスタマイズが必要な場合、ExcelのVBAで自動スクレイピングを組めます。ブラウザ制御やHTML解析を組み合わせると、特定のページから商品名や価格、評価を自動で取得できます。

参照設定

  1. 開発タブ→Visual Basicを開きます。
  2. メニューの[ツール]→[参照設定]で以下をチェックします。
  3. Microsoft Internet Controls
  4. Microsoft HTML Object Library
    これでIEオブジェクトとHTMLパーサーが使えます。

基本の流れ(例)

  1. InternetExplorerオブジェクトでページに移動
  2. 読み込み完了を待つ
  3. DocumentオブジェクトからIDやクラス名で要素を取得
  4. 必要なテキストをワークシートに書き込む

サンプルコード(短縮)

Sub ScrapeSample()
  Dim ie As New InternetExplorer
  ie.Visible = False
  ie.Navigate "https://www.amazon.co.jp/dp/ASIN"
  Do While ie.Busy Or ie.readyState<>4: DoEvents: Loop
  Dim doc As HTMLDocument: Set doc = ie.Document
  Range("A1").Value = Trim(doc.getElementById("productTitle").innerText)
  Range("A2").Value = Trim(doc.getElementById("priceblock_ourprice").innerText)
  ie.Quit
End Sub

注意点と運用

  • 頻繁なアクセスは控え、適度に待機時間を入れてください。
  • 構造が変わると取得できなくなるため、定期的に確認してください。
  • 自動実行する場合はApplication.OnTimeでスケジュールできます。

以上がVBAでの基本的な自動スクレイピングの流れです。必要な条件や取得項目に合わせて要素の指定を調整してください。

手動コピー&ペーストとの比較

概要

手動でコピー&ペーストする方法は最も直感的で準備がほとんど不要です。小規模で静的な表に対して素早く使えますが、構造が複雑なページや頻繁に更新されるデータには向きません。

メリット

  • 準備が不要で、すぐに取りかかれる。
  • Excelの基本操作だけで完了する。
  • レイアウトが単純な場合は最短で結果を得られる。

デメリット

  • 表の崩れや余分な改行、結合セルなどで手作業が増える。
  • データ量が増えると人的ミスが起きやすい。
  • 定期的に同じ作業を繰り返す場合は非効率。

いつ使うべきか

少量で一度だけ取り込む、あるいはレイアウトが非常に単純なときに向きます。繰り返しや高精度が必要な場合は、Power Queryや自動化を検討してください。

実践的なコツ

  • 貼り付け前にテキストエディタで不要な改行を整える。
  • 「形式を選択して貼り付け」のプレーンテキストで貼ると崩れを減らせる。
  • 小さなブロックに分けて貼り付け、問題箇所を特定する。
  • 最終的にはテンプレートを作り、手順を記録して再現性を高める。

実用的な活用例

はじめに

Webからのデータ取り込みは業務で幅広く使えます。ここでは、実際に使いやすい具体例と運用のコツをやさしく説明します。

すぐ使える具体例

  • 週間天気予報の取り込み
  • Excelの「データ」→「Webから取得」で対象ページを開き、表示された矢印をクリックして取り込みます。定期更新を設定すれば最新予報を自動で取得できます。
  • ランキングや商品データの定期収集
  • ECサイトの一覧やランキングをPower Queryで取り込み、価格やレビュー数を毎日更新して分析できます。
  • 価格・在庫の監視
  • 価格変動をテーブル化し、条件付き書式で閾値を超えたら色を変えるなど、業務アラートに使えます。
  • 株価や為替の定期取得
  • 提供されるCSVやAPIがあれば安定して取得できます。取得頻度は配信元のルールに合わせてください。

運用のポイント

  • まずは小さな範囲でテストしてから自動化してください。
  • ページ構造が変わると取り込みが止まるため、定期的に動作確認を行ってください。
  • ログやバックアップを残すとトラブル対応が楽になります。

実務では、こうした取り込みを定期化してレポートやダッシュボードに連携すると、手作業の工数削減と意思決定の迅速化に役立ちます。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

目次