web-dev-qa-db-ja.com

FILTERまたはIMPORTRANGEを使用して、別のスプレッドシートからデータを取り込み、フィルタリングする

別のシートからデータを取り込み、フィルタリングしたい。

IMPORTRANGEを次のように動作させることができます。

=IMPORTRANGE("URL","A:J)

しかし、それはフィルタリングしません。 FILTERは、次のような同じシートでのみ動作します。

=FILTER(Sheet1!A:J, C:C="Yes")

とにかくこれら2つの機能をまとめて、C列の情報に基づいて別のスプレッドシートのデータを新しいシートにフィルターする方法はありますか?

これを行う理由は、自動通知設定を使用するためです。そのため、誰かがシートに「はい」と入力するたびに通知を受けることができます。

11
Malcolm Lesley

これには、queryの代わりに filter を使用します。

=query(importrange("URL","A:J"), "select * where Col3 = 'Yes'")

コマンドqueryは、シート内の配置に縛られることなく、Col1、Col2などの抽象的な方法で受け取る配列の列を参照できます。そのため、「クラウド内」をフィルタリングし、結果をシートに入れます。

対照的に、filterは、C:Cなどのセル名でのみ列を参照できます。これは、最初に配列をシートに配置してから、独自の値に従って所定の位置にフィルターする必要があることを意味します。これは循環依存に陥ります。

15
user79865

はい、次のように2つをまとめることができます。

=filter(IMPORTRANGE("URL","A:J"),INDEX(IMPORTRANGE("URL","A:J"),0,3)="Yes")
3