web-dev-qa-db-ja.com

列に特定の値が含まれている場合にGoogleスプレッドシートの範囲をインポートする

スプレッドシート1の列Jに「yes」が含まれている場合にのみ、あるGoogleスプレッドシート(​​1)から別の(2)にある範囲のデータをインポートしたい。

私は次の式を使用しています:

=query(ImportRange("0AgbNxxZ5QnpGdEU2R3BLVDlhd0t6VlhCbS1kQWNYT2c","Renewals!B:C"),"select Col2, Col3, Col5 where Col10='Yes' ")

(フォーラムとYouTubeを見て、ハッシュしました!)

しかし、エラーが発生し続けます:Col10は存在しません、など。

どうすれば修正できますか?

2
user54539

考慮に入れる必要がある2つの事柄があります。

考慮

  1. IMPORTRANGE関数には、2つのパラメーター(文字列)が必要です。
    • スプレッドシートキー
    • データ範囲
      データ範囲は、使用する列の数に対応する必要があります。あなたの場合、列Bと列Cだけを選択しました。したがって、col2を超えると失敗します。
  2. パラメーターを使用するには、2つの異なる方法があります。
    • 数字
    • ひも

データ

enter image description here

=QUERY(                                                // data
  IMPORTRANGE(
    "0AluAYY6ZHeWYdE5XampzQVl4dVpxZ3FoVW9mUkdwQkE",    // spreadsheet key 
    "DATA!A:C"                                         // datarange
  ), 
  "SELECT Col1 WHERE Col3=" & C2, 0)                   // query
)

enter image description here

ひも

=QUERY(                                                // data
  IMPORTRANGE(
    "0AluAYY6ZHeWYdE5XampzQVl4dVpxZ3FoVW9mUkdwQkE",    // spreadsheet key 
    "DATA!A:C"                                         // datarange
  ), 
  "SELECT Col1 WHERE Col2=" & "'" & B2 & "'"           // query
)

enter image description here

サンプルファイルを作成しました。

2

簡潔な答え

Renewals!B:CRenewals!A:Jに置き換えます

説明

問題は、QUERY()関数の2番目のパラメーターが列10への参照を行っているのに対し、IMPORTRANGE()関数の範囲で指定された列には2つしか含まれていないことです。

解決策は
1。 IMPORTRANGE()の範囲パラメーターを変更して、十分な列を含めるようにします。
2。 QUERY()関数の選択パラメーターを変更して、使用可能な列のみを参照するようにします。

質問では、列Jの値がYesである行のみを結果に含めることが必要であると言われているため、解は1です。

1
Rubén