2017-04-13 9 views
1

ダイナミック配列の式として以下の式を作成する方法はありますか。ダイナミック関数としてインポート範囲を作成する方法

=query( {IMPORTRANGE(B2,"Filter!B:C"); importrange(B3,"Filter!B:C"); importrange(B4,"Filter!B:C")},"Where Col2 <>''")

私の入力は私の入力は、その後IMPORTRANGEが5回実行すべき5つのスプレッドシートキーであるならば、IMPORTRANGEは、3回実行すべき3つのスプレッドシートキーとなります。

いずれのヘルプも非常に控えめです。

+0

あなたの数式は私には大丈夫です。別のキーを追加するには、それらを数式に追加する必要があります。 –

+0

こんにちは、インポート範囲が動的な機能として動作する方法はありますか? – Jyotiranjan

答えて

0

このQの答えはいいえ、できません。

importrangeはすでに配列を返すため何らかの形でarrayformulaであるため、入力としてキー\範囲の配列をとることはできません。

回避策

あなたは、文字列として式を組み合わせて、このような文字列を取得することがあります。

"=query({importrange(...);importrange(...)...},"select...")"

してから式に文字列を変換するためのスクリプトを使用しています。


例えば、importrangesのCOL Aメイクリストで、iniシートを作る:COL B

="importrange("&B1&",""Filter!B:C"")" 
="importrange("&B2&",""Filter!B:C"")" 
="importrange("&B3&",""Filter!B:C"")" 
and so on 

入れキー。

、フィルタ式はセミコロンでそれらを結合するために行います。

= join(";", filter (A:A, A:A <> "")

ので、あなたは、将来の式の一部を取得:

"importrange(B2,"Filter!B:C");importrange(B3,"Filter!B:C");..."

をして、式の他の部分を連結します。

最終ステップでは、スクリプトを使用してこのテキスト式を変換し、実際の数式としてターゲットシートに貼り付けます。スクリプトonEditトリガーを使用してiniシートの変更をチェックすると、スクリプトがdinamicallyで動作することがあります。

関連する問題