web-dev-qa-db-ja.com

GoogleスプレッドシートのimportHTML()を使用してテーブルをインポートしようとしています。コンテンツを日付形式に強制します

テーブルをシートに入れようとしています。テーブルには、次のようなデータが含まれています。

4-0-2

これは勝ち負け関係です。日付として入ります。これは私が使用するコマンドです:

IMPORTHTML("http://www.sportsnet.ca/hockey/nhl/standings/", "table")

これはサイトです:

http://www.sportsnet.ca/hockey/nhl/standings/

シートの内容を再フォーマットしてみましたが、損傷はありました。

3
John Scarlett

フォーミュラ

列1〜10

セルA1に次の数式を追加します。

=ARRAY_CONSTRAIN(IMPORTXML("http://www.sportsnet.ca/hockey/nhl/standings/",
 "(//table)[1]//tr"),2000000,10)

11〜13列目

セルK1からM1で、各セルに次の式を追加します

=ArrayFormula(
TEXT(IMPORTXML("http://www.sportsnet.ca/hockey/nhl/standings/", 
"(//table)[1]/*/*/*["&COLUMN()&"]"),"d-m")&
IF(ISNUMBER(IMPORTXML("http://www.sportsnet.ca/hockey/nhl/standings/", 
"(//table)[1]/*/*/*["&COLUMN()&"]")),
"-"&right(TEXT(IMPORTXML("http://www.sportsnet.ca/hockey/nhl/standings/", 
"(//table)[1]/*/*/*["&COLUMN()&"]"),"y"),1),)
)

列14の

セルN1に次の数式を追加します

=IMPORTXML("http://www.sportsnet.ca/hockey/nhl/standings/", 
"(//table)[1]/*/*/*["&COLUMN()&"]")

説明

IMPORTHTMLおよびIMPORTXMLは、スプレッドシートに値を追加する前にデータ型を割り当てます。

前のセクションに示した式は、回避策として使用できます。

こちらもご覧ください

1
Rubén

Array_constrain、query、index、regexreplaceを使用して、単一の式でこれを行うことができます。

={ARRAY_CONSTRAIN(IMPORTHTML("http://www.sportsnet.ca/hockey/nhl/standings/", "table"),100,10),arrayformula(REGEXREPLACE(query(text(IMPORTHTML("http://www.sportsnet.ca/hockey/nhl/standings/", "table"),"M-D-YYYY"),"select Col11,Col12,Col13"),"(\d-\d-)(\d\d\d)(\d)","$1$3"))}

enter image description here

1