web-dev-qa-db-fra.com

Plage d'importation Google Spreadsheet #REF! Erreur (au hasard)

Ce problème persiste depuis un certain temps, il arrive de temps en temps à des moments aléatoires, rien ne change. Je ne sais pas non plus comment reproduire le problème, mais je vais donner une explication détaillée de ce qui se passe.

Normalement, la fonction importRange fonctionne parfaitement et ressemble à ceci:

enter image description here

La clé de feuille de calcul est correctement saisie. J'utilise cette stratégie dans Google Spreadsheets depuis un certain temps.

De temps en temps, Google Spreadsheets semble tomber en panne, ou du moins la fonction importRange le fait ... et produit les éléments suivants:

enter image description here

Google semblait se figer parfois, et c'est à ce moment-là que cela s'est produit. J'ai essayé d'ajuster les paramètres importRange à! X1: X ,! X2: X5 , en modifiant le titre de la feuille en cours d'importation, etc.

Dans le passé, passer de! X: X à! X1: X fixait certaines colonnes, mais pas toujours toutes. La seule solution infaillible que j'ai trouvée pour résoudre ce problème consiste à recréer les deux feuilles de calcul. Le back-end (celui importé) devenant finalement un rapport, je voudrais épargner à mon supérieur l’effort supplémentaire de référencer plusieurs feuilles de calcul, et préfère plutôt régler le problème et en finir avec ce travail.

Est-ce que quelqu'un sait la cause potentielle de ce pépin? Parfois, il se corrige, parfois non. Cela se produit de manière aléatoire, et uniquement sur certaines feuilles de calcul (j'en ai un ensemble de 8 ou que tous utilisent importRange, et pas plus de 2 sont affectés en même temps). Donc, honnêtement, je ne sais pas d'où cela vient.

Note latérale : Google, de manière générale, n'a pas réagi aujourd'hui à l'ensemble de ses services. Le service de messagerie de mon université, App Engine, était en panne depuis environ une demi-heure. Une limitation des ressources/attaquants du réseau pourrait-elle être à l'origine de ce type de comportement dans Spreadsheets?

Mise à jour : J'ai tenté d'importer dans le même feuille de calcul les données d'un feuille de calcul différente (c'est-à-dire que la fonction importRange a reçu une clé différente de la feuille de calcul). Bien que la clé et la plage soient valides si elles sont importées dans un différent Spreadsheet, dans mon original (celui qui contient #REF!), Cette plage n’est pas importée correctement. Cela me porte à penser que ce problème ne peut s’appliquer qu’à une seule feuille de calcul, où toute tentative de importRange à partir de toute autre source est pas fonctionnelle .

9
Chris Cirefice

C'est un peu tard, mais je suis tombé sur une recherche afin que cela puisse aider quelqu'un d'autre. Essayez quelque chose comme ça:

=IF(ISERROR(ImportRange(SpreadSheet_GUID,"Bookings!p:P")),IF(ISERROR(ImportRange(SpreadSheet_GUID,"Bookings!P:p")),ImportRange(SpreadSheet_GUID,"Bookings!P:P"),ImportRange(SpreadSheet_GUID,"Bookings!P:p")),ImportRange(SpreadSheet_GUID,"Bookings!p:P"))

L'idée est de forcer Google à recalculer en utilisant des variations de l'adresse d'origine (lettres de colonne majuscules/minuscules).

7
Tim

Les problèmes liés à la fonction IMPORTRANGE () sont un problème récurrent. Il y a eu plusieurs bugs au fil des ans et c'est à Google de trouver une solution stable qui fonctionnera comme prévu. 

Jusque-là, cela pourrait vous aider:

Au lieu d'éditer la cellule, de créer une nouvelle feuille de calcul ou de faire quoi que ce soit pour que la feuille retentisse la fonction (presque comme si vous jouiez à la loterie), vous pouvez forcer Google Feuilles à la retenter automatiquement lorsqu'elle ne se charge pas: 

Enveloppez la fonction IMPORTRANGE () qui pose des problèmes avec une fonction IFERROR (). De cette façon, la feuille tente l'importation et, si elle échoue, la tente à nouveau. La fonction peut être imbriquée pour tenter plusieurs fois de suite. 

Vous pouvez ajouter des plages nommées à vos données source (source du clic droit> plage définie-nommée) pour faciliter la tâche. Par exemple, vous pouvez créer 3 plages nommées différentes pour la plage "J: J". Appelez-les "J", "Ja" et "Jay", puis vous appelez votre fonction IFERROR () dans la feuille que vous souhaitez importer:

=IFERROR( IMPORTRANGE( "SheetID","J" ), IFERROR( IMPORTRANGE( "SheetID","Ja" ), IFERROR( IMPORTRANGE( "SheetID","Jay" ), IFERROR( IMPORTRANGE( "SheetID", "'TabName'!J:J" ), IFERROR( IMPORTRANGE( "SheetID", "'TabName'!j:j" )))))

Cette formule tentera votre importation et la livrera si elle réussit. Si ce n'est pas le cas, répétez automatiquement 5 fois de suite, ce qui ne garantit pas votre réussite, mais si vous avez 50% de chances de réussir vos importations, Une imbrication de 5 dans une rangée devrait vous donner une chance de 96%, ce qui est beaucoup mieux. D'après mon expérience personnelle, cela n'a pas échoué depuis que j'ai créé le nid IFERROR ().

J'espère que ça aide.

2
SanzM

Cela se produit, en effet, dans mon cas, simplement en appuyant sur Ctrl + X, en attendant une seconde, puis en recollant la formule, le moteur Sheets refait l'importation, puis il réussit à importer. Si vous ne pouvez pas effectuer cette procédure manuellement, vous devez utiliser la solution de Tim.

1
Sych

J'avais des problèmes similaires et j'ai résolu de NE PAS utiliser de liens publics vers des feuilles de calcul. J'ai remarqué que les liens sont différents pour le partage public et que ceux coppiés dans la barre d'adresse pendant que la feuille est ouverte.

De plus, j'ai constaté certaines difficultés lors de l'ouverture de feuilles de calcul partagées à partir de mes autres comptes Google. J'ai dû autoriser à nouveau l'accès à certaines feuilles de calcul que j'importais.

Désolé pour mon anglais. 

1
bojanhor

J'ai trouvé cette solution, marche bien pour moi:

Dans les deux feuilles de calcul, insérez une équation = now () dans une cellule aléatoire, dites Z1 . Dans les deux feuilles de calcul, insérez une fonction = importrange () faisant référence à la fonction now de l'autre feuille de calcul. Paramètres de la feuille de calcul et choisir de recalculer toutes les minutes. J'ai essayé beaucoup d'autres suggestions, notamment l'utilisation de la fonction = now (), l'actuelle astuce de l'URL dans ce fil de discussion ou le script Apps pour insérer du texte au hasard selon un intervalle défini. , mais rien ne forcerait importrange à se mettre à jour, sauf une édition manuelle de la feuille source.

https://webapps.stackexchange.com/questions/60324/how-can-i-get-google-sheets-to-auto-update-a-reference-to-another-sheet

0
Sergio Portinari

J'ai essayé d'ajouter:

if(ISERROR(importrange... 

et il fonctionne.

Cela ne signifie pas que l'erreur disparaît, mais lorsque cela se produit, il vous suffit de recharger la feuille, d'attendre un moment et de la laisser se mettre à jour.

C'est beaucoup plus pratique que de changer manuellement la grande lettre en petite lettre.

0
Panda

Voici la solution de contournement que j'ai trouvée pour ce bogue:

Je fais une recherche et remplacement ("recherche dans les formules") pour "=" partout où j'ai l'erreur importrange (= REF!) (Ou juste pour la feuille entière) et je remplace tout par un "#" dans l'ordre pour que tout soit du texte plutôt que de la formule. Ensuite, je fais une autre recherche et remplacement sur la même zone et remplace à nouveau tous les "#" par "=". Cela corrige systématiquement le problème.

0
Ana D.

J'ai eu le même problème et j'ai trouvé une solution!

  1. Veuillez réduire la taille du fichier source

  2. Pour réduire, séparez-le et faites à nouveau référence à la plage d'importation.

Vous pourrez maintenant voir la gamme importée!

Si vous pensez que ce qui précède n'est pas la situation, les chances sont peut-être 

  1. Votre cellule est occupée. Supprimez donc tout le formatage et effacez toutes les cellules avant d'importer la plage.

  2. Ne fonctionne toujours pas? Laissez Dieu vous aider!

0
Reuben