Ir al contenido

Importar en Google Sheets

Con una función personalizada de Apps Script podés traer una cotización de MonedAPI a cualquier celda de una hoja de cálculo.

En tu hoja de cálculo, elegí Extensiones > Apps Script.

Borrá el código que haya y pegá esta función:

/**
* Trae una cotización de MonedAPI.
* @param {string} moneda El código de la moneda: usd, eur, arg, etc.
* @param {string} origen El origen: blue, bna, riesgo, etc.
* @param {string} campo "venta" o "compra". Por defecto, "venta".
* @return {number} El valor de la cotización.
* @customfunction
*/
function MONEDA(moneda, origen, campo) {
const campos = { venta: 'sell', compra: 'buy', sell: 'sell', buy: 'buy' };
const clave = campos[String(campo || 'venta').toLowerCase()];
if (!clave) return 'Error: el campo es "venta" o "compra"';
const url =
'https://monedapi.ar/api/v2/' +
encodeURIComponent(String(moneda).toLowerCase()) +
'/' +
encodeURIComponent(String(origen).toLowerCase());
const response = UrlFetchApp.fetch(url, { muteHttpExceptions: true });
if (response.getResponseCode() !== 200) {
return 'Error: ' + response.getResponseCode() + ' (revisá la moneda y el origen)';
}
return JSON.parse(response.getContentText())[clave];
}

No hace falta configurar nada más. Un par que no existe responde 403, y la función lo muestra como error en la celda.

Elegí el ícono de guardar y, si te lo pide, ponele un nombre al proyecto.

En cualquier celda:

Fórmula Devuelve
=MONEDA("usd"; "blue") La venta del dólar blue
=MONEDA("usd"; "blue"; "compra") La compra del dólar blue
=MONEDA("eur"; "bna"; "venta") La venta del euro oficial
=MONEDA("arg"; "riesgo") El Riesgo País, en puntos

Si tu hoja usa coma como separador de argumentos, escribí =MONEDA("usd", "blue"). Los códigos de moneda y origen son los de la tabla de pares.

Google Sheets decide cuándo recalcular una función personalizada y guarda su resultado un tiempo. Si necesitás forzar un valor nuevo, cambiá un argumento o volvé a abrir la hoja.