IMPORTXML関数の使い方|Webページの一部をスプレッドシートに取り込む
※写真はイメージです
書き方
=IMPORTXML(URL, XPathクエリ)WebページのURLとXPath(ページの中の場所の書き方)を指定して、タイトルや見出しなどを取り込みます。自社やお客さんのページのタイトルの一覧づくりなどに使います。
引数の意味
| 引数 | 入れるもの | 図の例 |
|---|---|---|
| URL | 取り込みたいページのURL | A2 |
| XPathクエリ | ページの中のどこを取るか | "//title" |
よく使うXPath
| 取りたいもの | XPath |
|---|---|
| タイトル | "//title" |
| 大見出し(h1) | "//h1" |
| 中見出し(h2)を全部 | "//h2" |
| 説明文(meta description) | "//meta[@name='description']/@content" |
| リンクのURLを全部 | "//a/@href" |
取り込むときの注意
ほかの会社のサイトから大量に取り込むのは、相手のサーバーの負担になり、サイトの利用規約で禁止されていることもあります。自社のサイトの確認や、少ない数にとどめてください。
JavaScriptであとから表示している部分(買い物サイトの値段など)は、取り込めないことが多いです。
うまくいかないとき
1#N/A「インポートしたコンテンツが空です」
XPathの場所がちがうか、その部分がJavaScriptであとから出ています。
直し方ブラウザで右クリック →「ページのソースを表示」で、その文字が出てくるか確かめます。出てこなければ取り込めません。
2「読み込んでいます…」のまま
ページが重いか、IMPORTXMLが多すぎます。
直し方式の数を減らします。
使えるバージョン
Googleスプレッドシートだけの関数です。Excelにはありません。
Excelでは
Excelでは、「データ」→「Webから」(パワークエリ)でページの表を取り込みます。
よくある質問
IMPORTXMLとは?
WebページのURLとXPathを指定して、ページの一部を取り込むGoogleスプレッドシートの関数です。
ページのタイトルを取るには?
=IMPORTXML(URL,"//title") です。
取り込めないページがあります
JavaScriptであとから表示している部分は取り込めないことが多いです。
一緒に覚えたい関数・操作
このページについて
操作の説明は、パソコンのブラウザで開いた日本語のGoogleスプレッドシートに合わせています。関数の働きはGoogleの公式ヘルプ(スプレッドシートの関数リスト)で確かめています。図はこのサイトで作ったもので、表の会社名・商品名・人名・URLは例です。このサイトはGoogleとは関係ありません。運営者情報