Excel FIXED Function
FIXED converts a number to text with a set number of decimals, so you can drop formatted numbers straight into a sentence.
FIXED converts a number to text, rounded to a specific number of decimal places. FIXED does one job: it gets a number ready to sit inside a sentence, label, or report string. The catch is right there in the name. FIXED doesn't just format the number, it locks in the format and hands you back text, which means the result can no longer be used in math without converting it back.
Syntax
=FIXED(number, [decimals], [no_commas])
| Parameter | Required | Description |
|---|---|---|
number | Yes | The value you want to convert to text. Can be a number, a cell reference, or a formula that returns a number. |
decimals | No | How many digits to keep to the right of the decimal point. Defaults to 2 if left out. Use a negative number to round to the left of the decimal point instead (more on that below). |
no_commas | No | TRUE hides the thousands separator, FALSE shows it. Defaults to FALSE, so commas appear unless you turn them off. |
FIXED always returns text, even when the output looks like a number. If you need the result for further calculation, you'll have to convert it back with VALUE.
Basic Example
You manage a five-store retail region, and B2 holds last quarter's total revenue: 24817.63. You need that figure embedded directly in the one-line summary you send the regional director every Monday.
=FIXED(B2, 2, TRUE)
// B2 = 24817.63, the raw revenue figure
// 2 = round to two decimal places
// TRUE = suppress the thousands separator
This returns the text string "24817.63". No comma, two decimals, ready to concatenate: ="Revenue this quarter was $" & FIXED(B2, 2, TRUE) produces "Revenue this quarter was $24817.63" as one clean sentence.
How FIXED Works
It rounds before it converts
FIXED doesn't just chop off extra digits, it rounds them using standard rounding rules. =FIXED(4.567, 2) returns "4.57", not "4.56". The rounding happens before the number becomes text, so the value you see is mathematically correct, just no longer numeric.
Decimals defaults to 2 if omitted
Leave the second argument out and FIXED assumes two decimal places. =FIXED(3187) returns "3,187.00". That's rarely a problem for currency, but it's easy to forget if you're formatting a whole number like a quantity or a headcount.
Negative decimals round to the left of the decimal point
This is the part most people miss. A negative number in the decimals argument rounds the whole number itself, not just the display. =FIXED(2384, -2) returns "2,400", rounding to the nearest hundred. It's a useful shortcut for rough summary figures, but it's easy to trigger by accident if a formula feeds a negative value into that argument without you expecting it.
The commas argument controls formatting, not rounding
no_commas only affects whether the thousands separator shows up. It has no effect on decimal places. =FIXED(18246.5, 1, TRUE) returns "18246.5". =FIXED(18246.5, 1, FALSE) returns "18,246.5". Same rounding, different punctuation.
Common Use Cases
Building a narrative summary from report numbers
You're writing a one-line summary for a monthly dashboard and want the currency figure embedded directly in the sentence.
="Total sales reached $" & FIXED(total_sales, 0, TRUE) & " this month."
// total_sales = 214968, returns "Total sales reached $214968 this month."
Formatting export text without thousands separators
Some ERP import tools reject commas in numeric text fields. Turn them off explicitly rather than relying on cell formatting, which won't survive a copy into plain text.
=FIXED(invoice_total, 2, TRUE) // returns "48920.35", safe for plain-text export
Rounding to a rough figure for a summary label
Use negative decimals to collapse a precise figure into a round number for a headline stat.
=FIXED(employee_count * avg_salary, -3)
// rounds the total payroll estimate to the nearest thousand, as text
Comparing two periods in a single readable string
Pull two FIXED results into one sentence to show change without a separate helper column.
="Revenue moved from $" & FIXED(last_month, 0, TRUE) & " to $" & FIXED(this_month, 0, TRUE)
Handling Errors
FIXED throws #VALUE! when the number argument isn't something Excel can treat as numeric, most often because it's pointing at a text cell or a blank that contains a stray space.
Common causes of #VALUE!:
- The referenced cell contains text instead of a number
- The cell looks empty but actually holds a space character
decimalsorno_commasreferences a cell containing text instead of a number or logical value- The referenced cell holds an error value, like
#DIV/0!, that propagates straight into FIXED
FIXED only ever throws #VALUE!, so IFERROR won't accidentally swallow some other error type. But a generic fallback string still hides which of the four causes above is actually responsible. Check the input directly when you need to know why:
=IF(ISNUMBER(B2), FIXED(B2, 2, TRUE), "B2 is not numeric, check for text or a stray space")
Reserve IFERROR for a last-resort catch-all, once you've confirmed the input types are correct upstream:
=IFERROR(FIXED(B2, 2, TRUE), "Check B2 for text, spaces, or an error value")
If FIXED is fed by a formula that might return an error itself (like a failed lookup), wrap the inner formula, not FIXED. =FIXED(IFERROR(VLOOKUP(...), 0), 2) keeps the text output consistent instead of propagating a foreign error type through FIXED.
Notes & Gotchas
What does the FIXED function do in Excel?
FIXED converts a number into text, rounding it to a specified number of decimal places along the way. Use it when you need a formatted number inside a text string, like a report sentence or a label, rather than in a cell used for further math.
What is the syntax of the FIXED function in Excel?
The syntax is =FIXED(number, [decimals], [no_commas]). number is the value to convert and the only required argument. decimals sets how many digits appear after the decimal point, defaulting to 2 if omitted, and accepts negative values to round to the left of the decimal point instead. no_commas is a logical value that hides the thousands separator when set to TRUE; leave it out and it defaults to FALSE, showing commas.
What is the difference between the FIXED function and the ROUND function in Excel?
ROUND rounds a number and returns a number. You can still add, multiply, or sum a ROUND result. FIXED rounds a number and returns text, which means the result displays exactly as formatted but can't be used in a calculation without converting it back with VALUE. If you need to round and keep working with the value numerically, use ROUND. If you need to round and display it as part of a sentence or label, use FIXED.
Why does the FIXED function return a text value instead of a number?
FIXED locks in a display format, commas, decimal places, and all, as part of a string you can concatenate. A number can only carry one format at a time in a cell, but text merges freely with other text. That's why FIXED trades numeric flexibility for formatting control.
Why does a FIXED result fail when I try to add it to another number?
Because it's text, not a number, even though it displays like one. Excel won't silently coerce a FIXED output back into a numeric value inside most formulas. Wrap it in VALUE() if you need the number back: =VALUE(FIXED(B2, 2)).
Does FIXED work with negative numbers?
Yes, and it formats them the same way Excel displays negative numbers by default, with a leading minus sign. =FIXED(-8214.75, 1, TRUE) returns "-8214.8", rounding away from zero. There's no built-in option to switch to parentheses-style negatives the way custom number formats allow.
Related Functions
| Function | Use this when... |
|---|---|
TEXT | You need more control over the format, like currency symbols, percentages, or custom date patterns, not just decimals and commas. |
ROUND | You need to round a number and keep using it in calculations afterward. |
VALUE | You need to convert a FIXED (or any text) result back into a usable number. |
Related Functions
Excel CHAR Function
CHAR turns a number into a text character, useful for inserting line breaks, quotation marks, and other symbols you can't easily type into a formula. Here's the syntax, the platform quirks, and when to switch to UNICHAR.
Excel CLEAN Function
CLEAN removes line breaks and control characters that sneak in when you copy data from databases, websites, or PDFs. Learn what it actually deletes, what it leaves behind, and why TRIM has to finish the job.
Excel CODE Function
CODE turns the first character of any text into its underlying number. Useful for sorting, validation, and bridging worksheet formulas to VBA.
Excel CONCATENATE Function
CONCATENATE combines text from multiple cells into a single cell. It still works, but Microsoft recommends TEXTJOIN or CONCAT for anything new.