How to Numbervalue Function in Excel
Learn multiple Excel methods to convert text values to real numbers with NUMBERVALUE, complete with step-by-step examples and practical applications.
How to Numbervalue Function in Excel
Why This Task Matters in Excel
Working with imported or user-entered data often means inheriting numbers that are stored as text. These “text-numbers” look fine to the eye—“1 234,56”, “$7,990.00”, “-12.50%”—yet cannot be summed, averaged, charted, or analysed until Excel recognises them as actual numeric values. In operational terms this stops entire dashboards, KPIs, and financial models from calculating correctly. A salesperson may think they exceeded quota, only to discover that revenue figures stored as text were silently ignored in a SUM; an operations analyst may misjudge inventory variance because negative quantities in parentheses, such as “(250)”, aren’t treated as minus 250.
Different regional settings intensify the problem. A file exported in continental Europe may use the comma as decimal separator and the space as thousands separator (“1 234,56”), while your English-US Excel expects a period for decimals (“1,234.56”). Uploads from cloud databases often arrive already formatted with currency symbols, percentage signs, non-breaking spaces, or Unicode minus characters. Manually fixing thousands of rows is impractical and error-prone.
Excel’s NUMBERVALUE function is purpose-built for these situations. It lets you specify which character represents the decimal point and which stands for the thousands grouping, stripping away currency signs or other text in one swoop. Knowing how to wield NUMBERVALUE (and when to combine it with VALUE, SUBSTITUTE, or Power Query) allows you to:
- Build international-ready workbooks that work the same in any locale
- Automate cleanup of data feeds arriving from ERP, CRM, and e-commerce platforms
- Prevent hidden errors in financial statements, budgets, and demand forecasts
- Save hours that would otherwise be spent with Find & Replace or re-typing values
Not mastering this task leads to flawed reports, incorrect executive decisions, and auditing nightmares. In a wider workflow, converting text to numbers is often the gateway step before pivot tables, Dynamic Arrays, or advanced financial modelling can shine.
Best Excel Approach
The most reliable way to convert locale-specific text numbers is:
=NUMBERVALUE(text, [decimal_separator], [group_separator])
Why NUMBERVALUE?
- Locale independence – You explicitly declare which character signals the decimal point and which denotes thousands, so the workbook behaves identically regardless of the Windows or macOS regional settings.
- Flexibility – It ignores surrounding non-numeric characters like currency symbols, trailing words, or leading/trailing spaces without additional functions.
- Robust error handling – When the text cannot be interpreted, NUMBERVALUE returns the familiar #VALUE! error, which is easier to trap with IFERROR or LET than subtle miscalculations from VALUE or double-unary (--) techniques.
Use NUMBERVALUE when data originates from foreign-locale CSVs, ERP exports, web copies, or PDF extractions. If the incoming text already follows your local settings (for example “1,234.56” in an English-US install), the simpler VALUE or even the double-unary arithmetic trick (--A1) is faster.
Prerequisites are minimal: Excel 2013 or later on Windows, Excel 2016 or later on macOS, or Microsoft 365. The function also works in Excel for the web. The underlying logic converts every non-numeric character to blank except the specified decimal and grouping markers, then feeds the resulting string to Excel’s internal number parser.
Alternative syntax when your decimal separator is a comma and thousands separator is a space:
=NUMBERVALUE("1 234,56", ",", " ")
Parameters and Inputs
- text (required): The string representing a number. It can reference a single cell, a literal string, or a result returned by another formula such as TRIM or SUBSTITUTE.
- decimal_separator (optional): A single character that designates where the fractional part begins. If omitted, Excel assumes the current locale’s setting; specifying it makes the formula portable.
- group_separator (optional): The character used to separate thousands, millions, billions, and so forth. If blank, any thousands symbol inside the text argument will be treated as an error.
Data preparation hints:
- Remove non-breaking spaces (CHAR(160)) with CLEAN or SUBSTITUTE if they coexist with regular spaces.
- Ensure there are no multiple decimal points; NUMBERVALUE stops at the first conflicting marker.
- Watch out for parentheses indicating negative numbers—NUMBERVALUE handles the minus sign perfectly but ignores brackets, so wrap the text with a helper SUBSTITUTE such as:
=NUMBERVALUE(SUBSTITUTE(SUBSTITUTE(A2,"(","-"),")",""),".",",")
- If group_separator is the same character as decimal_separator, Excel cannot decipher the number and will return #VALUE!.
Edge cases: Text containing date strings, scientific notation, or embedded carriage returns will not convert correctly and should be filtered out first.
Step-by-Step Examples
Example 1: Basic Scenario
Suppose you imported a CSV from Germany where prices are written like “1.234,56”. Your Excel is in English-US, so the period is interpreted as thousands and the comma means decimal—but that is the opposite of what Excel expects.
- Place the raw data in column A starting at A2. For example A\2 = \"1.234,56\", A\3 = \"239,00\", A\4 = \"9.999,99\".
- In B2 type:
=NUMBERVALUE(A2, ",", ".")
- Copy B2 down to match the length of column A.
- Column B now holds the correct numeric results: 1234.56, 239, and 9999.99.
- To verify, use `=SUM(`B2:B4). The answer 11 473.55 proves that the values are true numbers.
Why it works: We explicitly tell Excel the comma is our decimal separator and the period is our group separator. NUMBERVALUE strips the period, converts the comma to a decimal point, and returns a numeric value.
Variations:
- If some rows contain euro signs, e.g., \"€1.234,56\", the same formula still functions because NUMBERVALUE automatically ignores currency symbols.
- If spaces act as thousands separator—“1 234,56” where the space is a narrow no-break space—replace \".\" in the formula with \" \" (CHAR(160)).
Troubleshooting: If you get #VALUE!, inspect whether the text contains two commas, an extra space between digits, or an unexpected trailing character like “pcs”.
Example 2: Real-World Application — Consolidating Multi-Currency Sales
Imagine a global retailer exporting monthly sales from different subsidiaries. The company receives three regional files:
- Europe.csv using the format \"1 234,56 €\" (space for thousands, comma for decimals)
- US.csv using \"$1,234.56\" (comma thousands, period decimal)
- Brazil.csv using \"R$ 1.234,56\" (period thousands, comma decimal)
Goal: build one pivot table in a “Consolidated” sheet that sums all figures in US dollars.
Step-by-step:
- Import each CSV into its own sheet.
- Add a new column “Clean Amount” beside the raw “Amount” column.
- In Europe sheet, cell D2:
=NUMBERVALUE(B2, ",", " ")
- In US sheet, regional settings already match, so a simple VALUE suffices:
=VALUE(B2)
- In Brazil sheet:
=NUMBERVALUE(SUBSTITUTE(B2,"R$",""), ",", ".")
The SUBSTITUTE strips the currency symbol that appears in different positions.
6. Repeat down each list via AutoFill or structured references in Excel Tables.
7. Create a new sheet “Rates” with exchange rates: B\2 = \"EUR\", C\2 = 1.10, B\3 = \"BRL\", C\3 = 0.19.
8. Next to each “Clean Amount” column add “USD Amount” using VLOOKUP:
=D2 * VLOOKUP(CurrencyCode, Rates![B2:C3], 2, FALSE)
- Append all ranges into one Table or use Power Query’s Append feature.
- Build a PivotTable summarising total USD revenue by region, channel, and product.
Business value: Accounting finalises month-end faster, finance analysts trust totals immediately, and BI dashboards no longer require region-specific versions.
Performance note: With tens of thousands of rows, NUMBERVALUE calculations remain lightweight. For hundreds of thousands, moving the conversion into Power Query or executing it once then pasting as values can speed up complex workbooks.
Example 3: Advanced Technique — Dynamic Arrays and Error Trapping
Scenario: A data feed column contains a mixture of valid European numbers, blank rows, memo notes, and occasional “###N/A###” placeholders. You want a spill range that converts every valid entry and skips invalid ones.
Data in [A2:A15] looks like:
[ \"1 250,00\", \"-950,25\", \"\", \"shipping charged later\", \"###N/A###\", \"2.500,99\" ]
Steps:
- Enter the following formula in B2 (Microsoft 365 or Excel 2021):
=LET(
src, A2:A15,
trimmed, TRIM(src),
cleaned, IF(
ISNUMBER(--SUBSTITUTE(SUBSTITUTE( trimmed, " ", "" ), ",", ".")),
trimmed,
NA()
),
NUMBERVALUE(cleaned, ",", " ")
)
Explanation:
- TRIM removes leading/trailing spaces.
- Double-SUBSTITUTE deletes thin spaces and later converts commas to dots solely for the ISNUMBER test.
- Invalid rows turn into the #N/A error, which is ignored by aggregation functions like AGGREGATE or can be filtered with IFNA.
- The formula spills a vertical array converting every valid entry to a number: 1250, ‑950.25, 2500.99.
- Wrap in IFNA to transform errors into blanks if desired:
=IFNA( above_formula, "" )
Professional tips:
- LET reduces recalculation time by caching intermediate steps when ranges are large.
- Combining Dynamic Arrays with NUMBERVALUE gives you live updates whenever the source feed grows—no need to drag formulas down manually.
- To create a clean list without blanks or errors, nest the formula in FILTER:
=FILTER( result_array, ISNUMBER(result_array) )
Tips and Best Practices
- Store decimal_separator and group_separator in dedicated cells (e.g., Settings!B2 and Settings!B3) and reference them in every NUMBERVALUE call. This makes future changes instant and reduces typos.
- Convert the source columns into Excel Tables before adding formulas. Structured references make formulas easier to read and auto-extend to new rows.
- After verification, replace formula columns with Paste > Values to reduce file size and protect against accidental edits in live dashboards.
- Combine NUMBERVALUE with CLEAN to eliminate non-printable characters that come from copied web pages or PDF extractions.
- When performance is critical and the data will not change, run the conversion once in Power Query’s “Split Columns by Delimiter” and “Change Type” steps, then load as values into Excel.
Common Mistakes to Avoid
- Forgetting to specify both the decimal and group separators leads to locale dependency. A workbook that sums correctly on your laptop might fail on a colleague’s machine set to French. Always supply both arguments.
- Using the same character for decimal and group separators causes #VALUE!. Double-check unusual formats like “1.234.567,89” where both dot and comma appear.
- Attempting to convert cells that already contain true numbers. NUMBERVALUE will coerce them again but costs extra processing time; wrap with ISTEXT check to avoid redundancy.
- Not handling negative numbers shown in parentheses. Without preprocessing, “(500,00)” converts to positive 500. Use SUBSTITUTE to change \"(\" to \"-\" and remove \")\".
- Copy-pasting results without stripping formulas can propagate errors when the original data is deleted or a sheet is renamed. Always follow a Paste > Values step when the cleanup phase is complete.
Alternative Methods
| Method | Pros | Cons | Best Used When |
|---|---|---|---|
| VALUE / double-unary (--A1) | Fast, minimal typing, backward-compatible to Excel 97 | Locale-dependent, fails on spaces or foreign separators | Incoming text matches your regional settings |
| SUBSTITUTE + VALUE | More flexible, handles currency symbols | Nested functions get messy, still locale-bound | Small datasets with one or two predictable unwanted characters |
| Text to Columns wizard | Visual, no formulas left behind | Manual, must repeat for every refresh | One-off cleaning of a CSV prior to analysis |
| Power Query (Get & Transform) | GUI driven, batch loads millions of rows, separates logic from grid | Requires refresh, learning curve, not available in very old Excel | Large recurring feeds, ETL pipelines |
| NUMBERVALUE | Locale-independent, formula-based, integrates with Dynamic Arrays | Needs Excel 2013+, two optional parameters to remember | Cross-regional files, shared workbooks, automated dashboards |
In practice, start with NUMBERVALUE for any project that crosses borders or when you are unsure about end-user locale. Use VALUE for quick in-region fixes, and graduate to Power Query if volume exceeds Excel’s comfortable calculation limits.
FAQ
When should I use this approach?
Use NUMBERVALUE whenever you receive numeric data as text that may use different decimal or thousands symbols than your local settings, especially in files exchanged across countries or systems.
Can this work across multiple sheets?
Yes. Point the text argument to another sheet, e.g., `=NUMBERVALUE(`Europe!A2,\",\",\" \"), or wrap the formula inside 3-D references and structured Table ranges. The function recalculates automatically when the source sheets update.
What are the limitations?
NUMBERVALUE cannot interpret scientific notation written as text (like \"1,23E+05\") unless you first remove the comma. It also does not understand parentheses as negative signs or regional percent symbols like \"12,5 %\". You must pre-clean such cases with SUBSTITUTE or VALUEIF functions.
How do I handle errors?
Wrap expressions in IFERROR or IFNA to intercept #VALUE! returns. For example:
=IFERROR( NUMBERVALUE(A2,","," "), 0 )
For dynamic arrays, pair FILTER with ISNUMBER to exclude problematic rows.
Does this work in older Excel versions?
NUMBERVALUE is native from Excel 2013 onward (Windows) and Excel 2016-Mac onward. In Excel 2010 or earlier, simulate the behaviour with SUBSTITUTE to harmonise separators followed by VALUE, or rely on the Text to Columns wizard.
What about performance with large datasets?
NUMBERVALUE is lightweight, comparable to VALUE. Still, 200 000 rows with multiple auxiliary functions can slow recalculation. Optimise by:
- Using LET to avoid repeated SUBSTITUTE calls
- Converting formula results to values after import
- Offloading to Power Query or SQL when nightly refresh cycles are acceptable
Conclusion
Converting text-based numbers into real numeric values is a foundational data-cleaning skill, and NUMBERVALUE is the most versatile, locale-independent way to achieve it in modern Excel. Mastering its syntax, parameters, and common edge cases ensures your calculations remain accurate across borders, systems, and updates. By integrating NUMBERVALUE with Tables, Dynamic Arrays, and Power Query, you unlock streamlined workflows and bulletproof reports. Keep experimenting with increasingly complex data sources, apply the best practices outlined here, and you will rapidly elevate both the reliability and the international reach of your Excel solutions.
Related Articles
How to Show the 10 Most Common Text Values in Excel
Learn multiple Excel methods to list the 10 most frequent text values—complete with step-by-step examples, business use cases, and expert tips.
How to Abbreviate Names Or Words in Excel
Learn multiple Excel methods to abbreviate names or words with step-by-step examples and practical applications.
How to Abbreviate State Names in Excel
Learn multiple Excel methods to abbreviate state names with step-by-step examples, professional tips, and real-world applications.