The Excel NUMBERVALUE function converts text to a number while letting you declare which character is the decimal separator and which is the group separator. That makes it the tool for importing European-style numbers — 1.234,56 — on a US-configured system, where plain VALUE chokes. It also has a quirky superpower: it understands percent signs, even stacked ones. Available in Excel 2013 and later.
1234.56.
Syntax
| Argument | Description | |
|---|---|---|
text | Required | The text to convert. Empty text "" returns 0. Spaces inside the text are ignored. |
decimal_separator | Optional | The character used as the decimal point in text. Defaults to your locale’s separator. Only the first character is used. |
group_separator | Optional | The character grouping thousands in text. Defaults to your locale’s separator. Only the first character is used. |
Available in: Excel 2013 and later, Excel for Microsoft 365, and Excel for the web. Excel 2010 and earlier show #NAME?. With no separator arguments, NUMBERVALUE behaves much like VALUE using your regional settings.
Convert European-format numbers
A file from a German or French supplier writes one and a quarter thousand as 1.234,56. On a US system those columns import as text and SUM sees zero. Declare the separators and they become real numbers:
| A | B | |
|---|---|---|
| 1 | European text | =NUMBERVALUE(A2, ",", ".") |
| 2 | 1.234,56 | 1234.56 |
| 3 | 2.500.000 | 2500000 |
| 4 | 0,5 | 0.5 |
| 5 | 12,75 | 12.75 |
Going the other direction (US-format text on a European system) just swaps the arguments:
Try it: interactive NUMBERVALUE demo
Type a European-style number and watch NUMBERVALUE convert it with "," as the decimal separator and "." as the group separator.
Percent handling and other quirks
NUMBERVALUE has behaviors VALUE doesn’t share — worth knowing before you rely on it:
| Formula | Returns | Why |
|---|---|---|
=NUMBERVALUE("9%") | 0.09 | Trailing % divides by 100 |
=NUMBERVALUE("9%%") | 0.0009 | Each extra % divides by 100 again |
=NUMBERVALUE("") | 0 | Empty text returns zero, not an error |
=NUMBERVALUE("2 500") | 2500 | Spaces in the text are ignored — handy for French-style grouping |
Because spaces are ignored, French exports that group thousands with spaces convert without any SUBSTITUTE gymnastics:
Errors & common pitfalls
#VALUE! — separators in illegal positions. The group separator may not appear after the decimal separator: =NUMBERVALUE("1,234.5", ",", ".") fails because that reading would put a thousands dot after the decimal comma. Double-check which character plays which role.
#VALUE! — identical separators or stray text. Passing the same character for both separators, or feeding text that isn’t a number at all, fails the same way. Strip currency symbols first if your source includes them: =NUMBERVALUE(SUBSTITUTE(A2,"€",""), ",", ".").
#NAME? — Excel 2010 or earlier. NUMBERVALUE arrived in Excel 2013. On older versions, rebuild with SUBSTITUTE + VALUE: swap the separators into US style, then convert.
Pitfall: only the first character of each separator argument counts. =NUMBERVALUE("3,5", ",.") uses just the comma. Passing longer strings doesn’t add fallback separators — it silently truncates.
Practice workbook
Frequently asked questions
What's the difference between NUMBERVALUE and VALUE?
How do I convert 1.234,56 to a normal number?
=NUMBERVALUE("1.234,56", ",", ".") returns 1234.56. The comma is declared as the decimal separator and the period as the thousands separator.Which Excel versions have NUMBERVALUE?
Why does NUMBERVALUE return 0.0009 for 9%% instead of an error?
Can NUMBERVALUE handle currency symbols like € or $?
=NUMBERVALUE(SUBSTITUTE(A2,"€",""), ",", ".").Master functions like this in one day
This page covers one function. Our Excel Formulas and Functions class covers the 30 that matter most — live, hands-on, taught by professionals in Dallas–Fort Worth, Houston, Austin, Oklahoma City, Denver, or online.
See the Formulas & Functions Class