Start with the two formulas that should work
=GOOGLEFINANCE("CURRENCY:USDEUR")
=INDEX(GOOGLEFINANCE("CURRENCY:USDEUR","price",DATE(2026,8,1)),2,2)
Live rate; historical rate. If yours looks different, compare against these first – most breakage is syntax. Now the failure modes, in the order people hit them.
"#N/A" or "invalid symbol"
- The pair goes in as one string, no slash, no space:
CURRENCY:USDEUR, notCURRENCY:USD/EURorCURRENCY:USD EUR. - Both codes must be ISO 4217 – three letters, real currencies. A typo'd code fails as an unknown symbol.
- Worth knowing while you debug: the
CURRENCY:prefix appears nowhere on Google's GOOGLEFINANCE help page (re-read 16 September 2026). The most-used currency feature in Sheets is undocumented – it works, but when it errors, no official reference exists to check against. That is not your mistake; it is the terrain. Where Google's currency data actually comes from goes through what Google does and does not say.
"The rate is wrong" (it's usually just old)
Google documents the delay in two places, and the two numbers differ. The GOOGLEFINANCE help page describes the price attribute as "Real-time price quote, delayed by up to 20 minutes." The Google Finance disclaimer page lists currency data separately, at a 3-minute delay, and adds: "Google cannot guarantee the accuracy of the exchange rates displayed. You should confirm current rates before making any transactions that could be affected by changes in the exchange rates." If you are comparing against a live trading screen, a mismatch inside those windows is expected behaviour, not an error. One more documented boundary people mistake for a bug: GOOGLEFINANCE "is only available in English and does not support most international exchanges."
Historical requests that error or return a grid
The historical form returns a small table (headers plus a date row), not a single value – which is why a bare historical call inside another formula breaks. Wrap it: INDEX(..., 2, 2) extracts the number. Google's own list of historical attributes names close; price with a date is the form most examples use, and both return the same date-and-close table.
Two more documented traps: Google "treats dates passed into GOOGLEFINANCE as noon UTC time", so results can sit a day off what a local-market close would suggest; and "Currencies don't have trading windows, so open, low, high, and volume won't return" for a pair – the closing price is what exists. Historical exchange rates in Google Sheets covers the rate-on-a-date workflow end to end.
"It works for EUR but not for this currency"
Not every pair has data on every day. Google's own help forum and issue tracker carry threads where a specific currency – BRL and ILS are the ones reported in 2025 – returned #N/A for weeks because Google Finance itself had no data for it, and Sheets users report gaps for some currencies on weekend dates. There is no fix inside the formula and no status page to check; if a pair that used to work returns "the query for the symbol ... returned no data", the data is missing upstream, not in your sheet. A wrapper such as IFERROR(..., "no data") keeps the rest of the sheet computing while it is.
"It errors when my script touches it"
This one is a wall, not a bug, and Google states it: "Historical data cannot be downloaded or accessed via the Sheets API or Apps Script. If you attempt to do so, you'll see a #N/A error in place of the values in the corresponding cells of your spreadsheet." There is no fix inside the formula – automated pipelines need a real rate source instead. When a formula is enough lays out the alternatives.
"When does it refresh?"
Google documents no refresh interval for GOOGLEFINANCE, and its recalculation settings list only NOW, TODAY, RAND and RANDBETWEEN as the functions you can put on a timer. Anyone quoting you a refresh rate is inferring it. Design accordingly: treat the value as approximately current, and paste-as-values anything you need frozen.
If you're here because a document needs a number
A lot of GOOGLEFINANCE debugging is happening in service of one converted figure for an invoice, a quote or an email – in which case the spreadsheet was only ever a detour. Currency Converter puts live conversion for 180+ currencies in a sidebar inside Gmail, Docs, Calendar, Slides and Sheets. Sidebar conversions are unlimited and free, with no sign-up. If the number you need is a rate on a past date, that lives in its Sheets formula, which is part of the Premium tier.
Sources
- GOOGLEFINANCE – Google Docs Editors Help – read 2026-09-16
- Google Issue Tracker 357214897 – Currency exchange using google finance does not work, plus Google Docs Editors Community threads on BRL (January 2025) and ILS (October 2025) returning no data – read 2026-09-16
- Google Finance disclaimer – read 2026-09-16 (currency delay table, exchange-rate accuracy notice)
- Currency Converter by 8apps – product claims, read 2026-09-16