NUMBERVALUE is in Excel and LibreOffice (executed), but Google Sheets returns #NAME?
NUMBERVALUE turns text into a number while letting you state, explicitly, which
character is the decimal separator and which is the thousands (group) separator. That is what makes it
the reliable way to parse locale-formatted text — a European string like
"2.500,27" becomes 2500.27 no matter what locale the spreadsheet itself is set
to. Excel has it and LibreOffice Calc has it. Google Sheets does not — the name is
unrecognised, so the formula returns #NAME?.
The surprise
This is a missing function, not a behavioural quirk. A workbook that uses NUMBERVALUE to
clean imported text keeps working in Excel and LibreOffice and turns every such cell into
#NAME? the moment it is opened in Google Sheets.
A minimal example
Parse the European-formatted string "2.500,27" (dot as thousands, comma as decimal) into
the number 2500.27, passing the separators explicitly so the result does not depend on the
engine’s own locale:
| Formula | Excel, desktop (documented) | Google Sheets (executed 2026-08-29) | LibreOffice Calc 25.8.7.3 (executed) |
|---|---|---|---|
| =NUMBERVALUE("2.500,27",",",".") | 2500.27 | #NAME? | 2500.27 |
| =NUMBERVALUE("1234.56",".",",") | 1234.56 | #NAME? | 1234.56 |
2500.27 is Microsoft’s own documented example and the value our harness got by
recalculating in LibreOffice Calc 25.8.7.3 — identical in all four LibreOffice releases we test
(24.2, 24.8, 25.2 and 25.8), so this is not a version gap. Google Sheets, executed the same way (Drive
import, 2026-08-29), returned #NAME?: it has no NUMBERVALUE function.
Why it happens
Excel added NUMBERVALUE in Excel 2013 and LibreOffice implemented a compatible version;
Google Sheets never added it. Sheets has VALUE, but VALUE reads separators from
the spreadsheet’s locale rather than from arguments, so it cannot be told “treat the comma as
the decimal point” the way NUMBERVALUE can.
How to migrate to Google Sheets
If the text already matches your sheet’s locale, plain =VALUE(A1) is enough. When the
text uses different separators than the sheet — the case NUMBERVALUE exists for
— normalise the string first with SUBSTITUTE, then call VALUE:
=VALUE(SUBSTITUTE(SUBSTITUTE(A1,".",""),",",".")) converts "2.500,27" to
2500.27 in Google Sheets: the inner SUBSTITUTE strips the .
thousands separators, the outer one swaps the , decimal for a ., and
VALUE parses the now-US-formatted string. Reverse the two separators for the opposite locale.
Google Sheets also has TO_PURE_NUMBER, which strips currency and percentage
formatting from a value, but it does not reinterpret separators, so it is not a substitute for the
locale-parsing job above. Going the other way — a Sheets workbook into Excel or LibreOffice —
needs nothing; both read VALUE and SUBSTITUTE, and you can switch back to
NUMBERVALUE there if you want the single-call version.
Check before you migrate
A note on which Excel this is. The Excel column in the tables above is Microsoft’s documented behaviour for desktop Excel, as recorded in our test corpus — we do not run desktop Excel, and no value in that column is a measurement. Excel for the web is a different application with its own calculation engine, and that one we do run (recalculated on OneDrive, 2026-09-01); it computes NUMBERVALUE("2.500,27",",",".") as 2500.27, the same as LibreOffice. Its measured results are published on each function’s own page rather than in these guide tables. Because we have no desktop run to compare against, a disagreement between an Excel-web measurement and the documented column is genuinely ambiguous: it may mean the web engine diverges from the desktop one, or that the documentation is wrong about both. We do not claim to know which.