DOLLAR Function: Format Numbers as Currency with Fixed Decimals

Dollar Function in Excel Tutorial Blog Feature Image
Concatenating a number with text in Excel instantly strips its formatting — the dollar sign, commas, and decimal places all disappear. The DOLLAR function solves this by converting a number directly to a formatted currency text string, preserving the symbol and precision in the output. It also rounds to any number of decimal places, including negative values that round to the nearest ten, hundred, or thousand — useful for executive summaries. This guide covers 8 practical examples: standard formatting, zero decimals, rounding to thousands, embedding currency in concatenated labels, dynamic precision from a control cell, conditional labels with IF, non-USD currencies with TEXT, and self-updating dashboard KPI strings.

Concatenating a number with text strips its formatting instantly. You write "Revenue: " & A2 and instead of "Revenue: $48,500.00" you get "Revenue: 48500". The DOLLAR function solves this specific problem. It converts a number to a currency text string with the symbol, thousands separators, and fixed decimal places. Concatenation then preserves the display you want.

Furthermore, DOLLAR rounds its output to the decimal precision you specify. Negative decimal values round to the left of the decimal point. This is useful for executive summaries where whole thousands are clearer than exact cents. This guide covers the full syntax, when to use DOLLAR versus cell formatting versus TEXT, and eight practical examples.

Availability: DOLLAR works in every Excel version from Excel 2000 onwards, including Microsoft 365, Excel 2024, 2021, 2019, and 2016. It also works in Google Sheets with identical syntax. The currency symbol applied depends on your system's regional language settings.

What Is the DOLLAR Syntax?

DOLLAR takes two arguments — the number to format and an optional decimal precision.

=DOLLAR(number, [decimals])
ArgumentRequired?What it does
numberRequiredThe number to convert to a currency text string. Can be a cell reference, a hardcoded number, or a formula that returns a number.
decimalsOptionalThe number of digits to the right of the decimal point. Defaults to 2. If positive, rounds to that many decimal places. If zero, shows no decimal point. If negative, rounds to the left of the decimal point — for example, -3 rounds to the nearest thousand.
DOLLAR always returns text — never a number: The output of DOLLAR is a text string. SUM, AVERAGE, MIN, MAX, and all numeric functions ignore it. Always perform calculations on the original numeric column. Use DOLLAR only in the display column — the one that shows formatted text in reports and labels.

How Does the Decimals Argument Work?

The decimals argument gives DOLLAR its rounding power. Positive values control decimal places. Zero removes the decimal point entirely. Negative values round to the left of the decimal — rounding to tens, hundreds, or thousands. This table shows the full range of effects.

DecimalsFormula (input: 48519.756)Result
4=DOLLAR(48519.756, 4)$48,519.7560
3=DOLLAR(48519.756, 3)$48,519.756
2 (default)=DOLLAR(48519.756)$48,519.76
1=DOLLAR(48519.756, 1)$48,519.8
0=DOLLAR(48519.756, 0)$48,520
-1=DOLLAR(48519.756, -1)$48,520
-2=DOLLAR(48519.756, -2)$48,500
-3=DOLLAR(48519.756, -3)$49,000
-4=DOLLAR(48519.756, -4)$50,000

DOLLAR vs Cell Formatting vs TEXT — Which Should You Use?

Three approaches format a number as currency in Excel. Choosing the right one prevents errors and keeps your workbook maintainable. The key distinction is whether you need the result to remain a number or become text.

MethodResult typeWorks in SUM/AVERAGE?Best for
Cell formatting (Ctrl+1) Remains a number ✅ Yes — the cell is still a number Display formatting only. Use for all columns that will be summed or averaged. This is the default choice for numeric data.
TEXT function Text string ❌ No — result is text Embedding a formatted number inside a sentence when you need full control over the format code. TEXT supports any currency symbol and any custom format string.
DOLLAR function Text string ❌ No — result is text Embedding a formatted dollar-symbol value inside concatenated text when a quick currency format is needed. Simpler to write than TEXT for USD with standard commas.
When to choose TEXT over DOLLAR: Use TEXT when you need a specific currency symbol other than the system default — for example, £ or € on a US-locale machine. TEXT("value", "£#,##0.00") gives full control. DOLLAR always uses the system symbol and the standard $#,##0.00 format.

Examples 1–4: Core Formatting Patterns

1
Standard currency format — two decimal places

The most common use is simply converting a numeric value to a formatted currency string with two decimal places — the standard representation for most currencies. DOLLAR handles the symbol, comma separator, and decimal alignment automatically.

A — Raw number
B — DOLLAR(A, 2)
Notes
48519.756
$48,519.76
Rounded to 2dp
1250.5
$1,250.50
Zero padded
-320.75
($320.75)
Negatives in parentheses
Default — two decimal places (decimals argument omitted): =DOLLAR(A2) → "$48,519.76" Explicit two decimal places — same result, clearer intent: =DOLLAR(A2, 2) → "$48,519.76" Four decimal places — for financial instruments with sub-cent precision: =DOLLAR(A2, 4) → "$48,519.7560" Note: negative numbers are formatted with parentheses — ($320.75) — not a minus sign. This is standard accounting notation. The format code is $#,##0.00_);($#,##0.00).
2
Zero decimals — whole-dollar amounts for invoices and price lists

Setting decimals to 0 rounds to the nearest whole dollar and removes the decimal point entirely. This is useful for price lists, invoice totals, and any context where showing cents clutters the display.

Round to the nearest dollar — no decimal point: =DOLLAR(A2, 0) → "$48,520" (48519.756 rounds up to 48520) Use in a concatenated price list label: Produces a clean "Price: $48,520" without decimals. "Price: " & =DOLLAR(A2, 0) → "Price: $48,520" One decimal place — for fuel prices, stock prices, or values in tenths: =DOLLAR(A2, 1) → "$48,519.8"
3
Negative decimals — round to thousands for executive summaries

Negative decimals round to the left of the decimal point. This is specifically useful for executive-level reports where exact amounts distract from the message. Rounding £48,519,756 annual revenue to the nearest million produces "£49,000,000". That is cleaner at a glance in a presentation or email summary than the precise figure.

Round to nearest ten (decimals = -1): 48519.756 → $48,520 =DOLLAR(A2, -1) Round to nearest hundred (decimals = -2): 48519.756 → $48,500 =DOLLAR(A2, -2) Round to nearest thousand (decimals = -3): 48519.756 → $49,000 =DOLLAR(A2, -3) Round to nearest million — useful for large revenue figures (decimals = -6): 48,519,756 → $49,000,000 =DOLLAR(A2, -6) Display in thousands with a "K" label — divide by 1000 first, then round: Shows "$49K" — compact and readable for dashboards. =DOLLAR(A2 / 1000, 0) & "K" → "$49K" (for a value of 48519.756)
4
Embed a formatted currency value in concatenated text

This is DOLLAR's primary use case. Joining a number to text with the ampersand operator strips all formatting. The dollar sign, commas, and decimal places all disappear. DOLLAR preserves them. Consequently, reports, email subjects, and summary labels display the number exactly as intended.

Formula
Result
"Revenue: " & A2
Revenue: 48519.756 ← wrong
"Revenue: " & DOLLAR(A2)
Revenue: $48,519.76 ✓
Revenue label — DOLLAR preserves the currency symbol and commas: "Revenue: " & =DOLLAR(A2) → "Revenue: $48,519.76" Full sentence with two formatted amounts — before and after comparison: DOLLAR ensures both numbers display with symbol and commas. "Sales increased from " & =DOLLAR(A2) & " to " & =DOLLAR(B2) & "." → "Sales increased from $42,000.00 to $48,519.76." Email subject line with rounded figure — zero decimals keeps it clean: "Q1 revenue: " & =DOLLAR(A2, 0) & " — on target" → "Q1 revenue: $48,520 — on target"

Examples 5–8: Advanced Patterns

Dynamic Precision and Conditional Formatting

5
Dynamic decimal argument — precision controlled by a cell value

The decimals argument accepts a cell reference, not just a hardcoded number. This lets users change the display precision by editing a single control cell. It is useful for reports that switch between showing cents and whole dollars depending on the audience.

A2 holds the value. B1 holds the decimal precision (e.g. 0, 1, 2, or -3). Changing B1 updates every DOLLAR formula in the report instantly. =DOLLAR(A2, $B$1) → Shows $48,519.76 when B1=2 → Shows $48,520 when B1=0 → Shows $49,000 when B1=-3 Conditional precision — show 2dp for small amounts, 0dp for large ones: IF switches precision automatically based on the magnitude of the value. =DOLLAR(A2, IF(A2 >= 1000, 0, 2)) → $48,520 for values ≥ $1,000 (no decimals — cleaner at scale) → $9.75 for values below $1,000 (two decimals — precision matters)
6
DOLLAR in IF — conditional currency labels based on value or status

Nesting DOLLAR inside IF creates formatted currency labels that change based on a condition. This produces self-describing status lines — for example, showing "On target: $48,520" or "Shortfall: $3,480" depending on whether the actual value meets the target, without any manual updating.

A2 = actual sales, B2 = target. Show "On target: $X" or "Shortfall: $X" based on whether target was met: =IF(A2 >= B2, "On target: " & =DOLLAR(A2, 0), "Shortfall: " & =DOLLAR(B2 - A2, 0)) → "On target: $48,520" (when actual ≥ target) → "Shortfall: $3,480" (when actual < target) Three-way label — met, within 10%, or missed: DOLLAR formats the relevant amount in each branch. =IF(A2 >= B2, "✓ Met: " & =DOLLAR(A2, 0), IF(A2 >= B2 * 0.9, "~ Close: " & =DOLLAR(A2, 0), "✗ Missed by " & =DOLLAR(B2 - A2, 0)))
7
Non-USD currencies — use TEXT instead of DOLLAR

DOLLAR uses the system's default currency symbol. On a US-locale machine it outputs a dollar sign ($). On a UK-locale machine it outputs a pound sign (£). Consequently, if you need to embed a specific currency symbol regardless of locale — or a different symbol than the system default — TEXT is the correct function to use instead.

DOLLAR — uses system locale symbol (may be $ or £ depending on OS settings): Not suitable when you need a specific currency symbol in a shared workbook. =DOLLAR(A2) → "$48,519.76" on US locale, "£48,519.76" on UK locale TEXT — explicitly specifies the currency symbol regardless of locale: Always outputs £ even on a US-locale machine. =TEXT(A2, "£#,##0.00") → "£48,519.76" — locale-independent Euro — TEXT with € symbol: Use the character directly in the format string. =TEXT(A2, "€#,##0.00") → "€48,519.76" Japanese Yen — no decimals, different symbol: JPY uses no decimal places by convention. =TEXT(A2, "¥#,##0") → "¥48,520"
Rule of thumb — use TEXT for international workbooks: Any workbook opened on machines with different regional settings should use TEXT with an explicit currency symbol in the format string. DOLLAR is convenient for quick USD formatting on US-locale machines, but TEXT is more portable.
8
Dashboard summary label — combine DOLLAR with other formatted values

Dashboard cells often need to combine a currency figure with a percentage change, a date, or a comparison label — all in a single self-updating cell. DOLLAR handles the currency part, while TEXT handles other formatted values. Together they produce polished summary labels that update automatically as data changes.

A2 = this month's revenue, B2 = last month's revenue. Build a self-updating dashboard KPI label showing revenue and change: TEXT formats the percentage. DOLLAR formats the currency amount. =DOLLAR(A2, 0) & " (" & TEXT((A2-B2)/B2, "+0.0%;-0.0%") & ")" → "$48,520 (+3.2%)" when revenue increased → "$44,300 (-5.8%)" when revenue decreased Full KPI line with date — adds a "as at [date]" suffix: TEXT formats the date alongside DOLLAR for the amount. =DOLLAR(A2, 0) & " as at " & TEXT(TODAY(), "dd-mmm-yyyy") → "$48,520 as at 07-Apr-2026" Variance label — show the absolute difference with sign: Positive = exceeded budget; negative = under budget. IF(A2>B2, "Above budget by " & =DOLLAR(A2-B2, 0), "Below budget by " & =DOLLAR(B2-A2, 0)) → "Above budget by $3,520" or "Below budget by $1,480"

Common DOLLAR Issues and How to Fix Them

SUM returns zero on DOLLAR-formatted cells

DOLLAR returns text, and SUM ignores text values — returning zero or treating the cells as blank. Never apply DOLLAR to cells that will be used in calculations. Keep raw numbers in one column, apply DOLLAR in a separate display column. Calculations always use the raw number column. Consequently, the fix is to restructure the data rather than wrap DOLLAR's output in VALUE.

Currency symbol is wrong — showing $ instead of £

DOLLAR applies the currency symbol based on the system's regional language settings. On a US-locale machine it shows $. On a UK-locale machine it shows £. This is by design. To force a specific symbol regardless of locale, use TEXT instead of DOLLAR: =TEXT(A2, "£#,##0.00") always outputs £ on any machine.

#VALUE! error in DOLLAR

DOLLAR returns #VALUE! when the number argument is text rather than a number, or when the decimals argument contains text instead of a numeric value. Check the source cell with =ISNUMBER(A2) — if it returns FALSE, the cell holds text-formatted numbers. Use VALUE(A2) or apply CLEAN and TRIM to the source cell first, then pass the result to DOLLAR.

Never use DOLLAR as an intermediate step — always use it last: DOLLAR converts a number to text, so any function that receives DOLLAR's output as input will treat it as text, not a number. Always complete all calculations on the raw numeric values first, then apply DOLLAR in the final display formula. This is the single most important rule for using DOLLAR without errors.

Frequently Asked Questions

  • What does the DOLLAR function do in Excel?+
    DOLLAR converts a number to a text string formatted as currency. It applies the system's default currency symbol, adds thousands separators (commas), and rounds the number to a specified number of decimal places. The default is two decimal places. For example, =DOLLAR(48519.756) returns the text string "$48,519.76". The result is always text — not a number — which makes it ideal for embedding formatted currency values inside concatenated labels and sentences.
  • Why does SUM return zero when I use DOLLAR?+
    DOLLAR returns a text string, and SUM ignores text values, returning zero. This is the most common DOLLAR mistake. The fix is to keep raw numbers in a source column and use DOLLAR only in a separate display column. All calculations — SUM, AVERAGE, IF comparisons — must reference the source column, not the DOLLAR column. Think of DOLLAR as a label generator, not a number formatter.
  • What is the difference between DOLLAR and TEXT for currency formatting?+
    Both functions convert a number to a formatted text string. The key difference is control over the currency symbol. DOLLAR always uses the system's default currency symbol — which changes based on the machine's regional settings. TEXT lets you specify any symbol explicitly in the format string — for example, =TEXT(A2, "£#,##0.00") always outputs £ regardless of locale. Use TEXT when the workbook will be used on machines with different regional settings, or when you need a non-default currency symbol.

More Questions About DOLLAR

  • How do I round to the nearest thousand with DOLLAR?+
    Set the decimals argument to -3. For example, =DOLLAR(48519.756, -3) returns "$49,000". The negative decimals argument rounds to the left of the decimal point — -1 rounds to the nearest ten, -2 to the nearest hundred, -3 to the nearest thousand, and so on. This is useful for executive dashboards where exact cent values distract from the big picture.
  • Can I use DOLLAR to format numbers as £ or €?+
    DOLLAR cannot specify a currency symbol directly — it always uses the system default. On a UK-locale machine DOLLAR outputs £, and on a US-locale machine it outputs $. To force a specific symbol on any machine, use TEXT: =TEXT(A2, "£#,##0.00") for British pounds, =TEXT(A2, "€#,##0.00") for euros, =TEXT(A2, "¥#,##0") for Japanese yen. The TEXT function accepts any character in the format string, giving you full control over the symbol.
  • Why does my concatenated number lose its currency formatting?+
    Joining a number to text with the ampersand operator strips all cell formatting — the currency symbol, commas, and decimal places all disappear. This happens because the ampersand works with the underlying numeric value, not the displayed format. Wrapping the number in DOLLAR fixes this: ="Revenue: " & DOLLAR(A2) preserves the symbol and commas and produces "Revenue: $48,519.76" instead of "Revenue: 48519.756". This is the most common reason to use DOLLAR rather than cell formatting.