Googleスプレッドシートの関数を用いて、特定のウェブページからデータを取得し、そのデータから特定の情報を抽出する方法を用いて、Finvizから米国株の配当率の値を取得する方法を説明します。
- IMPORTHTML: この関数を用いてウェブページからtableを取得します。
=IMPORTHTML("https://finviz.com/quote.ashx?t="& A50,"table",10)
この場合、"https://finviz.com/quote.ashx?t=" & A50というURLのページからtable10(*1)を取得しています。A50はスプレッドシートのセルを参照し、そのセルにはティッカーシンボル “MSFT” を記述してます。
(*1) ウェブページの構造が変更された場合、この関数は期待通りに動作しなくなる可能性があリます。適切なtable番号 がわからない場合は、ブラウザー(GoogleChrome)から該当テーブルを右クリックし、[ページのソースを表示]をクリックして該当のテーブル番号を確認してください。
- INDEX: この関数は、配列または範囲から特定のセルを取得します。
=INDEX(IMPORTHTML("https://finviz.com/quote.ashx?t=" & A50, "table", 10), 8, 2)
この場合、IMPORTHTML関数によって取得されたtable 10から8行目の2列目のセルを取得しています。
- REGEXEXTRACT: この関数は、テキストから正規表現に一致する部分を抽出します。
=REGEXEXTRACT(INDEX(IMPORTHTML("https://finviz.com/quote.ashx?t=" & A50, "table", 10), 8, 2), "\((.*)\)")
この場合、"\((.*)\)"という正規表現を使用しています。この正規表現は、括弧内の任意のテキストを抽出します。
※コメント投稿者のブログIDはブログ作成者のみに通知されます