web-dev-qa-db-fra.com

Comment faire pour contourner l'erreur IMPORTRANGE: "Résultats trop importants"?

J'essaie d'IMPORTRANGE à partir d'une plage contenant 240 000 cellules (40 colonnes et 6 000 lignes). La fonction IMPORTRANGE échoue avec "Résultats trop grands". Je n'arrive pas à trouver de documentation sur les limitations de la fonction.

Quelles sont les limites de IMPORTRANGE?

Comment puis-je contourner ce problème pour importer ces données dans ma feuille?

3
Douglas Gaskell

Mes expériences à ce sujet suggèrent qu'il existe une limite maximale sur le nombre d'éléments que vous pouvez importer à l'aide de importrange (), identifiant non lié au nombre total de cellules de votre feuille Google.

Ce chiffre semble se situer autour de 175 000 cellules. Je ne suis pas sûr qu'il s'agisse du maximum officiel, mais c'est le maximum que j'ai pu importer sans obtenir une erreur 'trop grande'.

2
Sam McEwin

J'avais aussi un problème similaire.

Essayez de fractionner votre plage d'importation avec une formule matricielle.

Exemple:

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

devient

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

Testez ceci avec différentes tailles de données pour obtenir la version la plus courte possible et il devrait faire ce dont vous avez besoin.

7
George Hyde

Les cellules vides peuvent prendre en compte. Nous avons observé des ruptures importantes à 23573x11 ou 259k cellules. La croissance typique est d'environ 10 lignes par jour. Nous avons donc dépassé les 250k cellules pendant un certain temps. Une colonne est en grande partie vide, quelques autres ont quelques espaces.

Je ne pouvais pas faire analyser ARRAYFORMULA comme indiqué ci-dessus, ni avec d'autres suppositions. Je l'ai donc utilisé dans l'onglet "Ingest" caché.

=importrange("sheet", "A1:K10000") dans la cellule A1
=importrange("sheet", "A10001:K") dans la cellule A10001

Mon onglet de travail/présentation utilise

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

pour permettre un formatage persistant, nos feuilles sources sont écrasées quotidiennement.

2
Danny Dillon

En utilisant la réponse de Sam et en lisant la documentation, j'ai trouvé le moyen d'obtenir le résultat de BIG DATA sans erreur. Pour cela, vous devez effectuer une exportation étape par étape. Dans une requête. Par exemple, si vous devez exporter les données sheet!A3:X100000.

Essayez de faire ce qui suit: faites d'abord une requête et sélectionnez seulement

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

après avoir obtenu le résultat, il suffit de modifier la requête de

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

à

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

après avoir obtenu des données, éditer à nouveau une requête

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

et continuez tant que vous ne serez pas riche

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

de cette façon, je pourrais importer environ 800 000 cellules avec des données. Pour ma tâche, c’était suffisant, mais je pense que si j’avais besoin de données de résultats plus longues, je pourrais continuer et cela fonctionnera.

N'oubliez pas non plus que les feuilles de calcul Google sont limitées à un document et ne peuvent comporter que 2 millions de cellules.

1
Mikhailov Vladimir

D'après mon expérience avec IMPORTRANGE, le nombre de cellules n'était pas la cause du tout, mais chaque fois que je dépassais les 36 colonnes, cela échouait. Mes résultats pourraient être 600 lignes ou 6000 lignes tant que je n'ai pas dépassé 36 colonnes. Ironiquement, vous pouvez contourner ce problème en combinant les fonctions IMPORTRANGE.

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

Notez les accolades {} utilisées avant et après les deux fonctions IMPORTRANGE

0
Jerry