web-dev-qa-db-ja.com

IMPORTRANGEエラーを回避する方法:「結果が大きすぎますか?」

240,000セル(40列と6,000行)を含む範囲からインポートしようとしています。 IMPORTRANGE関数は、「結果が大きすぎます」というエラーを出します。関数の制限に関するドキュメントを見つけることができないようです。

IMPORTRANGEの制限は何ですか?

これを回避して、そのデータをシートにインポートするにはどうすればよいですか?

3
Douglas Gaskell

これに関する私の実験では、Googleスプレッドシートのセルの合計数にリンクされていないimportrange()を使用してインポートできるアイテムの数に最大制限があることが示唆されます。

この数字は約175,000セルです。これが公式の最大値であるかどうかはわかりませんが、「大きすぎる」エラーを発生させることなくインポートできるのはこれが最大です。

2
Sam McEwin

私も同様の問題を抱えていました。

インポート範囲を配列数式で分割してみてください。

例:

Importrange("sheet", "A:ZZ")

になる

ARRAYFORMULA({Importrange("sheet", "A:ZZ5000");Importrange("sheet", "A5001:ZZ10000")...etc...})

これをさまざまなデータサイズでテストして、できるだけ短いバージョンを取得し、必要なことを行う必要があります。

7
George Hyde

空のセルが要因となる場合があります。インポート範囲が23573x11または259kのセルで壊れているのを観察しました。典型的な成長は毎日10行程度なので、しばらくの間は250kのセルを超えています。 1つの列はほとんど空ですが、他のいくつかの列にはいくつかの空白があります。

上記に示すように、または他の推測でARRAYFORMULAを解析することができなかったため、これを非表示の「取り込み」タブで使用しました。

=importrange("sheet", "A1:K10000")セルA1
=importrange("sheet", "A10001:K")セルA10001

私の作業/プレゼンテーションタブは

=query(Ingest!A:K,,1)

永続的なフォーマットを可能にするため、ソースシートは毎日上書きされます。

2
Danny Dillon

Samの答えとドキュメントを読んで、エラーなしでBIG DATAの結果を取得する方法を見つけました。そのためには、エクスポートを段階的に行う必要があります。 1つのクエリで。たとえば、データをエクスポートする必要がある場合sheet!A3:X100000

次のことを試してください:最初にクエリを作成し、選択のみ

=QUERY(importrange("link_sheet", "sheet!A3:X10000"), "select *", 0);

結果を取得したら、クエリを編集します

=QUERY(importrange("link_sheet", "sheet!A3:X10000"), "select *", 0);  

=QUERY(importrange("link_sheet", "sheet!A3:X20000"), "select *", 0); 

データを取得した後、クエリを再度編集します

=QUERY(importrange("link_sheet", "sheet!A3:X300000"), "select *", 0); 

金持ちにならないうちに続けます

=QUERY(importrange("link_sheet", "sheet!A3:X100000"), "select *", 0);

その方法で、データを含む約80万個のセルをインポートできました。私の仕事ではそれで十分でしたが、より長い結果データが必要な場合は続行でき、機能します。

また、Googleスプレッドシートでは1つのドキュメントの上限が200万セルに制限されていることを覚えておく必要があります。

1

IMPORTRANGEを使用した経験から、セルの数はまったく原因ではありませんでしたが、36列を超えると失敗しました。 36列を超えない限り、結果は600行または6000行になります。皮肉なことに、IMPORTRANGE関数を組み合わせることでこれを回避できます。

例:=QUERY({IMPORTRANGE("Spreadsheet_Key", "Sheet1!A:AI") , IMPORTRANGE("Spreadsheet_Key", "Sheet1!AJ:AM")}, "WHERE Col38= 'test'")

2つのIMPORTRANGE関数の前後に使用される中括弧{}に注意してください。

0
Jerry