多数の個別のスプレッドシートがあり、他の各シートからデータを取得する概要スプレッドシートを作成しています。また、COUNTUNIQUE式をそのデータに適用する必要があります。概要スプレッドシートのセルに次のように入力するだけの場合
=COUNTUNIQUE(importRange("key","G2:G"))
数式は機能しません。 1
の値が表示され、データのプル元であるスプレッドシートへのアクセス要求はありません。
ただし、最初にimportRange("key","G2:G")
と入力すると、スプレッドシートにアクセスするためのリクエストが表示され、承認後にデータが入力されます。その後、COUNTPORTIQUE関数をIMPORTRANGEに追加すると、正しく機能します。ただし、別のシートでこれを行う必要があります。そうしないと、スプレッドシートの他の部分が上書きされるため、範囲をインポートできないというエラーが表示されます。
これを回避する方法はありますか?
確かに、importrange
の最初の呼び出しは別の関数内にネストすることはできません。承認の要求は「バブルアップ」しません(最初はこれはGoogle側のエラーだと思っていましたが、単一のコマンドを組み合わせてその中にいくつかのimportrange
があるため、そのような場合に認証ダイアログを提供するのは非常に複雑です)。
ただし、承認を処理するために別のシートは必要ありません。スプレッドシートへの最初の呼び出しをimportRange("key","A1")
の単一セルリクエストにするだけです。次に、これを必要なcountunique
に置き換えることができます。または、キーを含む列と、承認目的の単一セルリクエストを含む別の列を使用できます。