web-dev-qa-db-ja.com

IMPORTHTML関数によって生成されたGoogleスプレッドシートLEFT関数のトリミングテキスト

この式を使用してデータをインポートする場合

=iferror(INDEX(IMPORTHTML("http://www.thestreet.com/quote/GE/details/company-profile.html","table",3),8,1))

結果はSector: Industrial Goodsです。 LEFT関数を使用してSector:テキストを削除し、Industrial Goodsのみを表示したいと思います。構文を正しく理解できないようです。この式を使用して、文字列の長さを表示できます。

=len(iferror(INDEX(IMPORTHTML("http://www.thestreet.com/quote/GE/details/company-profile.html","table",3),8,1)))

しかし、私の結果を得るためにLEFT関数を組み込む方法を理解することはできません。

2
user111213

簡潔な答え

LEFT()の代わりにRIGHT()を使用します。

説明

LEFT()関数は左端の文字を返しますが、OPは右端の文字を取得する必要があります。

以下は、説明を目的とした最終式の簡略版です。

=RIGHT("Sector: Industrial Goods",16)

以下は最終的な式です。読みやすくするために、各パラメーターは新しい行に挿入されます。

 =RIGHT(
   iferror(
     INDEX(
       IMPORTHTML(
         "http://www.thestreet.com/quote/GE/details/company-profile.html",
          "table",
          3
        ),
        8,
        1
     )
   ),
   16
 )
1
Rubén

いくつかの方法があります:

「セクター」として表示される要素を1つだけ削除したい場合は、代替関数を使用できます。

=substitute(iferror(INDEX(IMPORTHTML("http://www.thestreet.com/quote/GE/details/company-profile.html","table",3),8,1)),"Sector: ","")

あるいは、セクター1だけでなく、タグ名のいずれかを関数で削除する場合は、regexreplaceを使用できます。

=regexreplace(iferror(INDEX(IMPORTHTML("http://www.thestreet.com/quote/GE/details/company-profile.html","table",3),8,1)),".*\: ","")

Importxmlを使用して、その要素を直接インポートすることもできます。データをプルするこのサイトには、次のような非常に組織化された特定の要素があります。

=IMPORTXML("http://www.thestreet.com/quote/GE/details/company-profile.html","//*[@class='sectorName']")
1