web-dev-qa-db-ja.com

IMPORTHTMLを使用して特定のセルのみを返すことは可能ですか?

現在、IMPORTHTMLを使用して、5列3行のWebサイトからテーブルをインポートしています。しかし、これらの各テーブルから必要なセルは3つだけです。テーブル全体ではなく、これら3つのセルだけをスプレッドシートにインポートする方法はありますか?

INDEX(IMPORTHTMLを使用することもできますが、スプレッドシートで使用しているIMPORHTML関数の数が原因で、その量を3倍にすると、さらに遅くなります。

3
Gnrl Kitty

ほぼ可能:

=INDEX(IMPORTHTML("https://geizhals.de/?fs="&A1&"&in=";"table";0);2;3)

これはセルA1にあるフレーズを検索し、テーブル0からデータを返しますが、そのテーブルの行2とその行のセル3からのみデータを返します。あなたの場合:

=INDEX(IMPORTHTML("siteurl";"TABLE";number);rownumber;cellnumber)
_________________________________________________________________

=INDEX(IMPORTHTML("siteurl";"TABLE";number);2;4)
=INDEX(IMPORTHTML("siteurl";"TABLE";number);2;5)
=INDEX(IMPORTHTML("siteurl";"TABLE";number);3;1)
  • 速度が遅くなるのを恐れている場合は、新しいスプレッドシートにインポートし、最終的なスプレッドシートでIMPORTRANGEを使用して「Google側」からインポートします
1
user0

QUERY関数を追加して、必要な列または行のみを選択できます。

0
user218076

IMPORTHTMLは、完全なリストまたは完全なテーブルのみをインポートします。リストの要素を1つだけインポートすることも、テーブルのセルを1つだけインポートすることもできません。

1つの選択肢はIMPORTXMLを使用することですが、セルが整形式パス(XPath)の一部である場合にのみ機能します

0
Rubén

この例を使用して、ケースに実装できます。

=query({IMPORTHTML("https://www.bloomberg.com/markets/currencies","table")},"select Col1,Col2",1)
0
Artem Hryhorian