sheet googlefinance google google-spreadsheet google-docs currency-exchange-rates

En Google Spreadsheet, ¿cómo puede consultar "GoogleFinance" para un tipo de cambio pasado?



googlefinance function (5)

La respuesta de Vasim es excelente; sin embargo, tenga en cuenta que si desea la fecha de intercambio solo ese día, puede omitir el rango y simplemente especificar el día, como el siguiente

= FILTER (ÍNDICE (GoogleFinance ("usdeur", "price", today ()) ,, 2), ÍNDICE (GoogleFinance ("usdeur", "price", today ()) ,, 2) <> "Cerrar")

Me gustaría saber si es posible consultar una tasa de cambio pasada en Google Spreadsheet.

Por ejemplo; utilizando formula =GoogleFinance("CURRENCY:USDEUR") devolverá la tasa USD / EUR en este momento. ¿Cómo puede recuperar una tasa histórica?


Las instrucciones para todos los relacionados con googlefinance están aquí: https://support.google.com/docs/answer/3093281

Recuerde que las Fórmulas de las Hojas de Cálculo de Google utilizan el punto y coma (;) en lugar de la coma (,). Una vez hecho el reemplazo en algunos ejemplos se vería así:

Para un ÍNDICE de 30 días de USD contra EUR, debe usar (tenga en cuenta que en el caso de las monedas van juntas en la misma primera variable):

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

CONSEJO: Puede obtener el gráfico sobre el tamaño completo de la celda simplemente cambiando INDEX para SPARKLINE, así:

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


Para hojas de cálculo más grandes, las limitaciones de Hojas de cálculo generalmente mostrarán aleatoriamente el siguiente error:

Error Function El valor del parámetro INDEX 2 es 2. Los valores válidos están entre 0 y 1 inclusive.

Incluso modificando Index () y GoogleFinance () siguiendo los parámetros esperados de GOOGLEFINANCE (ticker, [attribute], [start_date], [end_date | num_days], [interval]), el error continuará. Una solución alternativa es copiar partes más pequeñas en nuevas hojas de cálculo, pero a menudo fallará.

Como alternativa, utilicé ImportXML como raspador web para datos de intercambio de divisas históricos de x-rates.

=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)

Supongo que la columna B son fechas, K es para cantidades y N para monedas.

Aleatoriamente también fallará para una hoja de cálculo de más de 2000 filas, pero en general para mi requerimiento, funcionó mucho mejor que GoogleFinance ()

Ejemplos de ImportXML

La guía ImportXML para Google Docs desde principiante hasta avanzado


Para recuperar la tasa histórica, debe usar la siguiente fórmula:

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

Donde hoy () - 1, hoy () es el intervalo de tiempo deseado, que se puede definir explícitamente como el par de fechas estáticas, o implícitamente, como los valores calculados dinámicamente, como en el ejemplo anterior. Esta expresión devolverá una matriz de dos columnas de fechas y valores cercanos. Es importante preocuparse por el formato de celda adecuado (fecha / número); de lo contrario, sus datos se romperán.

Si desea obtener la fila pura con la fecha y la tasa de cambio de moneda sin encabezados de columna, ajuste su fórmula con la función INDEX () :

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

Para recuperar solo el valor de la tasa de cambio, defina el parámetro de número de columna:

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

Para obtener las tasas de cambio actuales en Google Docs / Spreadsheet de Google Finance :

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

PD. Hace algún tiempo hubo un problema con la forma abreviada de obtener las tarifas de hoy, pero ahora funciona, y puedes volver a utilizarlo:

=GoogleFinance("currency:usdeur")

PD Cómo obtener la tasa de cambio de divisas en vivo en Microsoft Excel :


Tratar,

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

Asegúrese de que las fechas estén de acuerdo con la configuración de su hoja de cálculo.

Edite como comentario, cambie la fecha para capturar datos de un solo día: -

Solo con encabezados:

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

sin encabezados:

=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")