Répliquer des données à partir de fichiers séparés dans OpenOffice Calc

3

J'ai plusieurs fichiers .ods pleins de données (par exemple, data1.ods, data2.ods, etc.). Ces fichiers utilisent exactement le même format, de sorte que les calculs basés sur data1.ods seraient également pertinents pour les données de data2.ods. J'ai un autre fichier de calcul (disons main.ods) où je fais des calculs. Dans main.ods, j'ai actuellement des calculs utilisant exclusivement des cellules de data1.ods. J'aimerais maintenant pouvoir facilement changer main.ods afin que les données utilisées proviennent plutôt de data2.ods, ou de tout autre fichier (les calculs restent les mêmes).

Je pourrais faire un remplacement tout et remplacer 'file:///C:/Users/jean__000/Desktop/data1.ods' avec 'file:///C:/Users/jean__000/Desktop/data2.ods' au besoin, mais cela semble sale et ne fonctionnera pas bien lorsque j'utilise les données de plusieurs fichiers. Au lieu de cela, je voudrais entrer le nom du fichier à utiliser dans une cellule et changer ce nom si nécessaire.

Par exemple, la cellule A1 de la feuille Sheet1 dans main.ods pourrait taper ="'file:///C:/Users/jean__000/Desktop/data1.ods'#Sheet1"et changez le nom (ou le chemin du fichier) ici si nécessaire. Cependant, je ne parviens pas à utiliser cela. Si je veux lire la colonne B de la feuille Sheet1 de data1.ods dans la colonne B de la feuille Sheet1 dans main.ods, je peux taper dans la cellule B1 =INDIRECT(ADRESSE(1;2;4;1;$A$1)). Cependant, je ne peux pas "faire glisser" cette formule pour copier le reste de la colonne B.

Note: J'utilise la version française de Calc, d'où le "ADRESSE" au lieu de "ADDRESS".

Jean
la source

Réponses:

2

Définissez la cellule A1 sur 'file:///C:/Users/jean__000/Desktop/data1.ods'#$Sheet1 sans signe égal ni guillemets. Dans la cellule B1, entrez la formule =INDIRECT($A$1 & "." & ADRESSE(ROW(),COLUMN())).

Maintenant, faites glisser et déposez au contenu de votre coeur. :)

La documentation de ROW () est à https://wiki.openoffice.org/wiki/Documentation/How_Tos/Calc:_ROW_function .

Jim K
la source
1
Cela fonctionne (avec un point-virgule au lieu d'une virgule, ADRESSE(LIGNE();COLONNE()). Merci beaucoup!
Jean
Question complémentaire: j'ai maintenant une liste de fichiers (par exemple, dans les cellules A1, ..., A9), comme votre cellule A1, et dans les cellules B1, ..., B9, j'ai un booléen indiquant si je souhaite ou non les fichiers correspondants. être inclus dans les calculs ou non. Je veux maintenant calculer la somme, sur tous les fichiers réglés sur TRUE, d'une cellule donnée (par exemple, C1). S'il s'agissait simplement d'une somme sur plusieurs feuilles, je pourrais utiliser une somme de type indirect de la plage donnée, mais je ne trouve pas comment désigner une plage entre différents fichiers.
Jean
Allez-y et posez-la comme une question distincte, avec un lien vers cette question au cas où les gens auraient besoin de plus d'informations. Si c'est marqué avec openoffice-calc alors je le verrai.
Jim K
Tourné dans une nouvelle question: superuser.com/questions/1049900/…
Jean