J'ai un tableur mensuel qui s'appuie sur les chiffres du mois précédent. J'aimerais importer ces valeurs de manière dynamique plutôt que de les copier / coller. Est-ce possible? Comment fait-on ça?
J'ai un tableur mensuel qui s'appuie sur les chiffres du mois précédent. J'aimerais importer ces valeurs de manière dynamique plutôt que de les copier / coller. Est-ce possible? Comment fait-on ça?
Réponses:
IMPORTRANGE()
semble être la fonction que vous voulez.
Dans la liste des fonctions des feuilles de calcul Google :
Google Spreadsheets vous permet de référencer un autre classeur dans la feuille de calcul que vous modifiez actuellement à l'aide de la fonction ImportRange. ImportRange vous permet d'extraire une ou plusieurs valeurs de cellule d'une feuille de calcul dans une autre. Pour créer vos propres formules ImportRange, entrez = importRange (clé de calcul, plage). Pour les langues dans lesquelles la virgule est utilisée pour la séparation décimale, utilisez un point-virgule au lieu d'une virgule pour séparer les arguments de votre formule.
Clé-feuille est une chaîne qui est la valeur de clé de l'URL de la feuille de calcul.
Plage est une chaîne représentant la plage de cellules que vous souhaitez importer, avec éventuellement le nom de la feuille (par défaut, première feuille). Vous pouvez également utiliser un nom de plage si vous préférez.
Étant donné que les deux arguments sont des chaînes, vous devez les inclure entre guillemets ou faire référence à des cellules contenant des valeurs de chaîne.
Par exemple:
= importrange ("abcd123abcd123", "sheet1! A1: C10") "abcd123abcd123" est la valeur de l'attribut "key =" sur l'URL du tableur cible et "sheet1! A1: C10" est la plage souhaitée. être importé.
= importrange (A1, B1) La cellule A1 contient la chaîne ABCD123ABCD123 et la cellule B1 contient le folio Sheet1! A1: C10
Remarque: pour utiliser ImportRange, vous devez avoir été ajouté en tant que visualiseur ou collaborateur à la feuille de calcul à partir de laquelle ImportRange extrait les données. Sinon, vous obtiendrez cette erreur: "#REF! Error: La clé de calcul, le titre de la feuille ou la plage de cellules demandée est introuvable."
"clé" est, bien sûr, la chaîne dans l'URL de la feuille de calcul qui correspond au key=
paramètre.
Je viens de le tester en créant deux feuilles de calcul. Dans la cellule A1 de la première, j'ai mis une chaîne. Dans la cellule A1 de la seconde, je mets =importRange("tgR2P4UTz_KT0Lc270Ijb_A","A1")
et il affiche la chaîne de la première feuille de calcul. (Votre clé sera évidemment différente.)
(Le format de la fonction peut dépendre de votre locale En France , la formule est non cumulable avec une virgule, vous aurez donc besoin de le remplacer par un point-virgule:. =importRange("tgR2P4UTz_KT0Lc270Ijb_A";"A1")
)
REMARQUES:
Google définit actuellement une limite stricte de 50 "formules de référence inter-classeurs" par feuille de calcul. Source: limites de taille de Google Documents, Feuilles et Diapositives . (h / t JJ Rohrer )
La "nouvelle" feuille de calcul Google (bientôt la norme) supprime la limite de 50 formules de référence de classeur croisées ( Support Google ) (h / t Jacob Jan Tuinstra )
Dans les "nouvelles" fiches Google, vous utilisez également l'URL complète comme clé ( support Google ) (h / t Punchlinern ).
Pour votre information, si vous souhaitez référencer une autre feuille dans cette autre feuille de calcul, le nom de la feuille ne doit PAS être cité à nouveau:
utilisation
=importRange("tgR2P4UTz_KT0Lc270Ijb_A","Sheet Name!A1:A10")
au lieu de
=importRange("tgR2P4UTz_KT0Lc270Ijb_A","'Sheet Name'!A1:A10")
Dans la nouvelle interface, vous devriez simplement pouvoir taper =
la cellule, puis aller simplement à l’autre feuille et choisir la cellule souhaitée. Si vous voulez le faire manuellement, ou utilisez l'ancienne interface, vous pouvez simplement faire =Sheet1!A1
, où Sheet1
est le nom de la feuille, et A1
est la cellule sur cette feuille que vous aimez. Ceci est identique à Microsoft Excel.
J'ai trouvé cette syntaxe avec Insert -> Define new range
Toute une colonne: "Tableur avec des espaces dans le nom"! A: A
Toute la colonne B: "Tableur avec des espaces dans le nom"! B: B
etc.
Ensuite, vous pouvez l'utiliser comme:
=COUNTIF('First Page'!B:B, "valueToMatch")
IMPORTRANGE
fonction peut importer des données d’ une autre feuille de calcul. La définition des plages est uniquement possible (possible) dans une feuille de calcul. C'est ce que je voulais dire par dehors.
IMPORTRANGE
comme dit Jacob.
voici comment je l'ai fait (réimplémenté 'importrange ()'):
fonction REMOTEDATA (inKey, inRange) { var outData; var ss = SpreadsheetApp.openById (inKey); si (ss) { outData = ss.getRange (inRange) .getValues (); } return outData; }
= SUM (REMOTEDATA ("key", "SheetName! A1: A10"))
"clé" est la clé du document, vous la trouverez dans le paramètre "clé = xyz" de l'URL du document.
La documentation relative aux ' services de tableurs ' fournit plus d'informations sur le sujet.
SpreadsheetApp.openById()
ou SpreadsheetApp.openByUrl()
-> developers.google.com/apps-script/guides/sheets/…
Je l'ai fait très facilement en utilisant Query, par exemple, j'ai 2 feuilles ABC et XYZ et je veux importer une plage allant de A1 à C30 d'Abc à XYZ, cliquez sur la cellule où vous voulez que la plage apparaisse et écrivez ceci:
=QUERY(ABC!A1:C30)
Remarque: Si votre nom de feuille comporte des espaces, vous écrivez bien sûr ceci:
=QUERY('ABC 1'!A1:C30)
QUERY
faire ça?
importrange("abcd123abcd123", "sheet1!A1:C10")
par exemple =query(importrange("abcd123abcd123", "sheet1!A1:C10"))
;-)