【スプレッドシート】IMPORTHTML関数の使い方!スクレイピングで表を取り込む!

Webページからデータを抽出するスクレイピングを、GoogleスプレッドシートのIMPORTHTML関数 で実行する方法をご紹介します。 IMPORTHTML関数がエラーになる場合の解決方法や、必要なデータの見つけ方(デベロッパーツールの使い方)についても解説しているので、ぜひ参考にしてみてください。

スポンサーリンク

IMPORTHTML関数の基本的な使い方

IMPORTHTML関数は、HTMLページ内の「表(テーブル)」や「リスト」からデータを自動でスプレッドシートにインポートします。

例:内閣府ホームページ から「国民の祝日・休日」

  • =IMPORTHTML("https...", "table", 1)

💡 ポイント:インポート元のページが更新されると、スプレッドシートのデータも更新されます。

IMPORTHTML関数の引数:(URL, クエリ, 指数)


【引数の解説】

① URL

インポートしたいページのURLをそのままコピーし、""で囲んで記述します。

② クエリ

目的のデータがどのような形式か、以下のいずれかを指定します。

  • "table" 表(HTMLの<table>タグで囲まれたデータ)
  • "list" リスト(HTMLの<ul><ol><dl>タグなどで囲まれたデータ)

③ 指数

対象の表やリストが、そのページのHTMLソース内で「上から何番目に登場するか」を指定します。 ページ内で1番最初に出てくる表をインポートしたい場合は 1 を指定します。

スポンサーリンク

「指数」と「クエリ」を確認する方法

方法①:ページを目視で確認する

【スプレッドシート】IMPORTHTML関数の使い方

□ クエリ:

  • 該当のページを開き、インポートしたい部分が「表(table)」か「リスト(list)」のどちらの形式かを目で見て確認します。

□ 指数:

  • インポートしたい部分が、ページ全体にある表(またはリスト)の中で、上から数えて何番目にあるかを数えます。最初に出てきた表なら 1、2番目なら 2 を関数に入れます。

方法②:デベロッパーツールで確認する

【スプレッドシート】IMPORTHTML関数の使い方

【手順】

  1. 該当のWebページで [F12] キーを押し、デベロッパーツールを開きます。
  2. [Ctrl] + [F] を押して検索ボックスを出し、検索窓に table または list と入力します。
  3. 検索窓の横にある三角ボタン [▼] をクリックして番号を移動させ、該当するコードの部分にカーソルを当てると、実際のページの該当箇所が青くハイライトされます。

⚠️ 注意:ツールの数字と関数の数字のズレ

ツールで検索した番号をそのまま指数として入れると、デザインなどの関係で実際のページとズレることがあります。コードにカーソルを合わせ、ハイライトされる実際の画面を見ながら「何番目か」を確認します。

スポンサーリンク

IMPORTHTML関数のエラーと解決方法

「#ERROR!」や「#NAME?」になる場合

原因:スペルミスかダブルクォーテーションの付け忘れ

  • 解決方法: URLとクエリを""で囲って記述します。(例:=IMPORTHTML("https...", "table", 1)

「#N/A(インポートしたコンテンツは空です。)」になる場合

原因①:指定した番号(指数)が存在しない

  • 解決方法:ページ内にそのクエリが存在しない、または指定した番号が大きすぎる場合に発生します。「方法①〜②」を参考に、クエリや指数が正しい番号になっているか確認します。

原因②:WebサイトがJavaScriptで動いている

  • 解決方法:該当のサイトが「JavaScript」で生成されている可能性があります。この仕組みのサイトからはデータを取得できないため、手動でコピーします。

「#REF!」になる場合

【スプレッドシート】IMPORTHTML関数の使い方!スクレイピングで表を取り込む!

原因:データを展開する先に、別の文字が入力されている

  • 解決方法:取得したデータを展開する先に、ほかの文字や数式が残っていると、データが展開できずエラーになります。余分なデータを削除し、データの展開先を空けておきます。
タイトルとURLをコピーしました