web-dev-qa-db-ja.com

あるGoogleシートから別のGoogleシートに行をインポートする

  • Doc1:各ゲームウィークに個別のシートを設定し、その特定の週に行われるサッカーの試合をリストしています。

  • Doc2:チームごとに個別のシートを設定しています。

Doc1の特定の行からDoc2Doc2のチームに基づいています。

私はこれを手動で行う方法を考え出しましたが、20チームと38ゲームウィークで、30,000以上のセルをコピー、貼り付け、変更して、列参照を変更します。

私が作業している「手動」コードは次のとおりです。

=importrange("https://docs.google.com/spreadsheets/d/xxxxxx/edit#gid=xxxxxx","Game Week 1!A1")

Doc2でチーム名を設定し、名前に基づいてゲームウィークの行に自動的に入力できるようにしたいと思います。

しばらく調査した後、私はこれを思いつきました:

=QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/xxxxxxxxxx/edit#gid=xxxxxxxxxx","Game Week 16!A1:A19"),B1,"Select * Row1,Row5")

しかし、これはエラーメッセージを表示するため、テキストではなく数値のみを返したいようです。

...エラー
関数QUERYパラメータ3には数値が必要です。ただし、「Select * Row1、Row5」はテキストであり、数値に強制変換することはできません。

私は行き止まりにいるので、どんな助けも素晴らしいでしょう。

以下は、設定された「ゲームウィーク1」シートと個別の「チーム」シートのスクリーンショットです。

enter image description here

enter image description here

コードの1を更新
=QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/xxxxxxxxxx/edit#gid=xxxxxxxxxx","Game Week 20!A:E"),"Select Col1, Col2, Col3, Col4, Col5 Where Col3, Col5 matches "B1&"")

これは正しい方向への小さなステップのように見えますが、エラーが発生しています。

エラー数式解析エラー。

更新2
=QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/xxxxxxxxxx/edit#gid=xxxxxxxxxx","Game Week 1!A:E"),"Select Col1, Col2, Col3, Col4, Col5 Where Col3, Col5 matches '"&B1&"'")

最新の微調整は多少進歩しているようですが、次のエラーメッセージが表示されます。

_Unable to parse query string for Function QUERY parameter 2: PARSE_ERROR: Encountered " <ID> "Col3 "" at line 1, column 43. Was expecting one of: "(" ... "(" ...
_

少しだけいじくり回すと、「どこ」の部分の後にあるようです。 _Col3, Col5_の部分を読み取るとすぐに、混乱するようです。

更新3

私の側では小さな間違いに気付き、Col1、Col5の代わりにCol3、Col5を検索していました。これはまだ機能しませんでしたが、次にCol5を削除したので、Col1を見るだけで正しい値が返されました。

=QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1dMo6F1CTxAaEx1bS2NEu4kIu5hJTCBbCt13AV2E_f2w/edit#gid=1390527531","Game Week 1!A:E"),"Select Col1,Col2,Col3,Col4,Col5 Where Col1 Matches '"&B1&"'")

他の人々がこれを実行しているのを見たので、なぜ2つの列をチェックできないのかわからない。コード全体をIFステートメント(?)に変更することを検討するかもしれない。

更新4

ひび割れた!

=QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/xxxxxxxxxx/edit#gid=xxxxxxxxxx","Game Week 1!A:E"),"Select Col1,Col2,Col3,Col4,Col5 Where Col5 Matches '"&B1&"' or Col1 Matches '"&B1&"'")

貴重な情報を提供してくれたルベンに感謝します。

3
Necrovana

_B1_にチーム名があると仮定します。

=QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/xxxxxxxxxx/edit#gid=xxxxxxxxxx","Game Week 20!A:E"),"Select Col1, Col2, Col3, Col4, Col5 Where Col3, Col5 matches '"&B1&"'")

_'_を使用してチーム名を囲み、_&_を使用してSQLステートメントに連結することに注意してください。


2番目の引数(この場合は_B1_)が適切ではないようです。
QUERYの3番目の引数は数値でなければなりません。

引数を間違えたかもしれませんが、_B1_の値が質問に含まれていなかったため、言うことは不可能です。

一方、_"Select * Row1,Row5"_は有効なGoogleクエリ言語ステートメントではありません。 QUERY function をお読みください。

上記のリンクから、ここにいくつかのサンプルがあります:

  • QUERY(A2:E6,"select avg(A) pivot B")

  • QUERY(A2:E6,F2,FALSE)

関連する

1
Rubén