web-dev-qa-db-fra.com

Sur Google Spreadsheet, interrogateur de commentaires GoogleFinance sur un taux de changement antérieur?

J'aimerais savoir s'il est possible d'interroger un taux de change passé sur Google Spreadsheet.

Par exemple; utiliser la formule =GoogleFinance("CURRENCY:USDEUR") renvoie le taux de change USD/EUR en ce moment. Comment pouvez-vous récupérer un taux historique?

39
antr

Pour récupérer le taux historique, vous devez utiliser la formule suivante:

=GoogleFinance("eurusd","price",today()-1,today())

aujourd'hui () - 1, aujourd'hui () est l'intervalle de temps souhaité, qui peut être défini explicitement comme la paire de dates statique ou implicitement, comme les valeurs calculées dynamiquement, comme dans l'exemple ci-dessus. Cette expression renverra un tableau en deux colonnes des dates et des valeurs de fermeture. Il est important de veiller au format de cellule approprié (date/numéro), sinon vos données seront brisées.

Si vous voulez obtenir la ligne pure avec le taux de change de date et de devise sans en-tête de colonne, enveloppez votre formule avec la fonction INDEX ():

=INDEX(GoogleFinance("eurusd","price",today()-1,today()),2,)

Pour extraire uniquement la valeur du taux de change, définissez le paramètre numéro de colonne:

=INDEX(GoogleFinance("eurusd","price",today()-1,today()),2,2)

Pour obtenir les taux de change du jour d'aujourd'hui en Google Docs/Spreadsheet de Google Finance:

=GoogleFinance("eurusd","price",today())

P.S. Il y a quelque temps, il y avait un problème avec le court chemin pour obtenir les tarifs actuels, mais maintenant cela fonctionne et vous pouvez utiliser à nouveau:

=GoogleFinance("currency:usdeur")

P.S. Comment obtenir le taux de change de la monnaie en direct dans Microsoft Excel:

76
Mike B.

Essayer,

=GoogleFinance("usdeur","price",date(2013,12,1),date(2013,12,16))

Assurez-vous que les dates sont conformes aux paramètres de votre feuille de calcul.

Modifier en tant que commentaire, date modifiée pour la capture des données d'un jour: -

Seulement avec en-têtes:

=INDEX(GoogleFinance("usdeur","price",date(2013,12,3),date(2013,12,4)),,2)

sans en-têtes:

=FILTER(INDEX(GoogleFinance("usdeur","price",date(2013,12,3),date(2013,12,4)),,2),INDEX(GoogleFinance("usdeur","price",date(2013,12,3),date(2013,12,4)),,2)<>"Close")
14
Vasim

Les instructions pour tout ce qui concerne googlefinance se trouvent ici: https://support.google.com/docs/answer/3093281

N'oubliez pas que les formules Google Spreadsheets actuelles utilisent un point-virgule (;) au lieu de virgule (,) . Une fois le remplacement effectué, le format de certains exemples ressemblerait à ceci:

Pour un INDEX USD contre EUR de 30 jours, vous devez utiliser (notez que dans le cas des devises, elles sont associées dans la même première variable):

=INDEX(GoogleFinance(USDEUR;"price";today()-30;today());2;2)

CONSEIL: Vous pouvez obtenir le graph sur toute la taille de la cellule en modifiant simplement INDEX pour SPARKLINE, comme suit:

=SPARKLINE(GoogleFinance(USDEUR;"price";today()-30;today());2;2)
10
DavidTaubmann

La réponse de Vasim est excellente, mais notez que si vous souhaitez que la date d'échange soit ce jour-là uniquement, vous pouvez omettre la plage et simplement spécifier le jour comme celui-ci.

= FILTER (INDEX (GoogleFinance ("usdeur", "prix", aujourd'hui)), 2), INDEX (GoogleFinance ("usdeur", "prix", aujourd'hui ()), 2) <> "Fermer")

3
user56236

Pour les feuilles de calcul plus volumineuses, les limitations de Google Sheets indiquent généralement l'erreur suivante: 

Error Fonction La valeur du paramètre INDEX 2 est 2. Les valeurs valides sont comprises entre 0 et 1 inclus .  enter image description here

Même en modifiant Index () et GoogleFinance () en respectant les paramètres attendus GOOGLEFINANCE (ticker, [attribut], [date_début], [date_fin | num_days], [intervalle]), l'erreur se poursuivra. dans de nouvelles feuilles de calcul, mais cela échouera souvent.

En guise d'alternative, j'ai utilisé ImportXML en tant que scraper Web pour les données d'échange de devises historiques à taux x.

=index(IMPORTXML("https://www.x-rates.com/historical/?from="&N2&"&amount="&K2&"&date="&YEAR(B2)&"-"&TEXT(B2,"mm")&"-"&TEXT(B2,"dd")&"","//td[@class='rtRates']"),1)

Je suppose que la colonne B contient les dates, K les montants et N les devises. 

De manière aléatoire, il échouera également pour une feuille de calcul de plus de 2000 lignes, mais globalement, pour mon besoin, cela fonctionnera beaucoup mieux que GoogleFinance ().

Exemples ImportXML

Le Guide ImportXML pour Google Documents de débutant à avancé

0
Damodar Das