IMPORTHTML関数でスプレッドシートにWebページの要素を表示する
IMPORTHTML関数を使用すれば、スプレッドシートにWebページ上の表やリストの情報を取得して表示させることができます。
表計算ツールを使った資料作りで結局はウェブ上の内容を転記しているだけの時ってありませんか?
それがIMPORTHTML関数を使えば、簡単かつ正確にウェブ上の内容を表示させることができます。
また、ウェブ上の内容が最新の情報にアップデートされた際にはスプレッドシートに記述した関数を更新すれば良いので、変更内容を見比べて修正する必要がなくなります。
こちらはExcelにはない機能で、使い方次第では作業効率のアップが期待できますので、知っていて損はないはずです!
この記事では便利なIMPORTHTML関数の使用方法について解説していきます。
IMPORTHTML関数の使用方法
それでは、IMPORTHTML関数の使用方法を解説していきます。
IMPORTHTML関数の構文は以下です。
IMPORTHTML関数 ドキュメント エディタ ヘルプ
●URL
表示したい表(テーブル)やリストが存在するウェブサイトのURLを指定します。
●クエリ
表示したいウェブサイトの要素を指定します。
選択可能な要素は“list”(リスト)か“table”(テーブル)です。
●指数
クエリで指定した要素がウェブページ上の何番目の要素であるかを指定します。
「クエリ?」「指数?」となんだか難しいそうですか?
大丈夫です!
これから画像を使って分かりやすく解説していきます!
ウェブページのソースコードを確認する
クエリについて、ウェブページ上の表(テーブル)っぽいものは大体“table”でリストっぽいものは大体“list”です。
また、指数についてもウェブページ上で何個目の表かリストかを上から数えていけば大体その何個目かの数字が指数になります。
しかし、思い通りの結果が得られなかった場合、ウェブページのソースコードを確認する必要があります。
「ソースコード?」とまた分からない言葉が出てきたかもしれませんね。
この記事で言うソースコードとはウェブページを表示するための素となっているプログラミングのことを指します。
「プログラミングなんてしたことないし、そんなの読めないよ!」というかたも安心してください。
IMPORTHTML関数を使用するためにプログラミング言語が読めなくても大丈夫です!
では、ウェブページのソースコードの確認方法を解説します。
ソースコードの確認方法
任意のウェブページ上の何もない箇所で右クリックをします。
表示されるメニューで「ページのソースを表示」します。
すると以下のように難しい文字の羅列がたくさん出てきます。
ここで、表示させたい“table”もしくは“list”がこのソースコード上に何番目に表示されているかが、IMPORTHTML関数の指数という引数に指定する値になります。
ソースコード上で[ctr] + [F]を入力すると、ページ内の文字列を検索することができます。
試しに”table”で検索をかけてみます。
以下のような入力欄が出てきますのでtableと入力し、矢印のボタンで移動します。
“table”の文字列が含まれる箇所がすべて表示されます。
ここで注意しなければならないのが、下の画像のように文字列の途中に”table”の文字列が含まれている箇所ではなく、「<>」に囲まれて”table”と書かれている箇所から1番目と数えましょう。
また、「</table>」と記載されている箇所も飛ばしてください。
ウェブページ上で何番目に表示されている表かリストを見ることで大体は合っている場合が多いと思いますが、確認する方法を知っておきましょう!
ウェブページから表/リストのデータを取得する
表示させたいウェブページ上の表もしくはリストの指数が分かったら、IMPORTHTML関数を使用してスプレッドシートに表示します。
例えば、上の例で使用したページの以下の表をスプレッドシートに表示してみましょう。
スプレッドシートの任意のセルでIMPORTHTML関数に構文で紹介した引数を入力します。
=IMPORTHTML("https://to-become-human.com/2021/06/13/sparkline-sheet/","table",1)
入力を完了すると、表の内容が表示されます。
ちなみにですが、表やリストの情報が展開されるセルに既に何かしらの入力がある場合は、エラーが発生してしまうので、注意が必要です。
取得した表(テーブル)やリストの情報を更新する
IMPORTHTML関数で取得した表やテーブルは取得した時点での情報が保持されるので、ウェブページ上の内容が更新されても勝手にスプレッドシートには反映されません。
そのため、もしウェブページ上の情報が更新されてスプレッドシートの情報も書き換える場合は再度関数を読み込みなおす必要があります。
例えば、下の赤枠ように表に新しく行が追加されたとします。
その場合は一度、IMPORTHTML関数を読み込み直す必要があります。
IMPORTHTML関数の記述を切り取って、一度[Enter]を押してセルを更新してからもう一度ペーストし直すと再度ウェブページの最新の情報を取得できます。
若干アナログな感じがしますが、そう頻繁にあることではないので、仕方ないですね。。。
もし良い方法があれば教えてください!
まとめ:IMPORTHTML関数でウェブページの表やリストをスプレッドシートに取得する
IMPORTHTML関数でウェブページ上から表やリストの情報を取得してスプレッドシートに表示する方法を解説いたしました。
IMPORTHTML関数を使用すればウェブページ上の情報の転記を簡単にしたり、情報の更新を簡単に行えるので、作業の効率化につながりそうですね!
IMPORTHTML関数はExcelにはない関数なのですが、Excelにはなくスプレッドシートに存在する関数は他にもあります。
下のボタンリンク先にまとめていますので、興味があれば覗いてみてください!
コメント