別のシートからデータを取り込み、フィルタリングしたい。
IMPORTRANGEを次のように動作させることができます。
=IMPORTRANGE("URL","A:J)
しかし、それはフィルタリングしません。 FILTERは、次のような同じシートでのみ動作します。
=FILTER(Sheet1!A:J, C:C="Yes")
とにかくこれら2つの機能をまとめて、C列の情報に基づいて別のスプレッドシートのデータを新しいシートにフィルターする方法はありますか?
これを行う理由は、自動通知設定を使用するためです。そのため、誰かがシートに「はい」と入力するたびに通知を受けることができます。
これには、query
の代わりに filter
を使用します。
=query(importrange("URL","A:J"), "select * where Col3 = 'Yes'")
コマンドquery
は、シート内の配置に縛られることなく、Col1、Col2などの抽象的な方法で受け取る配列の列を参照できます。そのため、「クラウド内」をフィルタリングし、結果をシートに入れます。
対照的に、filter
は、C:C
などのセル名でのみ列を参照できます。これは、最初に配列をシートに配置してから、独自の値に従って所定の位置にフィルターする必要があることを意味します。これは循環依存に陥ります。
はい、次のように2つをまとめることができます。
=filter(IMPORTRANGE("URL","A:J"),INDEX(IMPORTRANGE("URL","A:J"),0,3)="Yes")