← All functions

TO_DOLLARS

Unsupported (not recognized)

Category: Parser · Last tested 2026-09-01

Real compatibility results for the TO_DOLLARS function: executed in Excel for the web, Google Sheets and LibreOffice Calc, measured against Google’s published documentation. Excel does not document TO_DOLLARS, so this page makes no claim about Excel. Syntax and links to that documentation are below.

Support matrix

EngineDocumentedLive-testedVerdict
Excel (desktop)No n/a (not an Excel function) n/a
Excel for the web— Yes (recalc, 2026-09-01) Unsupported (not recognized)
Google SheetsYes Yes (Drive import, 2026-09-01) Supported, behaves as documented
LibreOffice CalcNo Yes (25.8.7.3, 2026-09-01) Unsupported (not recognized)

LibreOffice version history

We executed the same test cases under each LibreOffice release to show exactly when TO_DOLLARS’s support changed — not documentation claims, real results.

LibreOffice versionVerdictTested
24.2.0.3 Unsupported (not recognized) 2026-09-01
24.8.7.2 Unsupported (not recognized) 2026-09-01
25.2.0.3 Unsupported (not recognized) 2026-09-01
25.8.7.3 Unsupported (not recognized) 2026-09-01

Why isn't TO_DOLLARS working in LibreOffice?

LibreOffice Calc does not implement TO_DOLLARS as of 25.8.7.3 — in our executed tests it returns a #NAME? (unrecognized function) error. This is not a typo or a settings problem, and saving the file as .xlsx does not change it: the function simply isn’t available yet. Watch the LibreOffice version support page — we re-run every test on each new release, so it will flip to Supported here as soon as it lands.

Discovered quirks

Executed test cases

Excel for the web (executed 2026-09-01 via OneDrive recalculation)

These values come from Excel for the web, not from desktop Excel. They are two different implementations of the calculation engine, and this run measured only the web one: the corpus was uploaded to OneDrive as .xlsx, recalculated by Excel for the web on open, and downloaded again for readback. Excel for the web is a rolling service with no pinnable version, so the run is identified by its date. Where a value here disagrees with the Expected column — which is Microsoft’s documentation of the desktop product — we cannot tell you whether the web engine diverges from the desktop one or the documentation is wrong about both, because we do not run desktop Excel.

FormulaDescriptionResultExpectedVerdict
=ROUND(TO_DOLLARS(40826.43)+0,10) The page's own Sample Usage input, asserted at the value layer #NAME? 40826.43
Provenance

DERIVED, not published: TO_DOLLARS(40826.43) appears in the Sample Usage block with no result beside it. The claim being checked is the page's own framing -- "TO_DOLLARS is equivalent to applying Format -> Number -> Currency from the menu bar" -- which makes the operation a formatting change, so the number must come back unchanged. WHAT THIS HARNESS CAN AND CANNOT SEE FOR A TO_* FUNCTION. The TO_* parsers are FORMATTING functions: the page itself describes the operation as equivalent to applying a Format > Number command from the menu bar. What changes is the cell's number format, not the number. This harness records the computed VALUE read back from a recalculated .xlsx, so the format half of the documented behaviour is invisible to it and is NOT asserted anywhere in this file. What is asserted is the value half, which the page states outright: the underlying number survives the conversion unchanged, and a non-numeric argument is returned unmodified. BATCH PROVENANCE (batch I, group 1 -- the last eight Google-documented functions in the corpus, closing the group A set sheets-lo-only-plan.md opened). This function has x == false in docs/data/compat.json: Microsoft does not document it at all, so this corpus makes NO claim about it in that engine and nothing here is measured against that vendor's documentation. The authority is Google's own support.google.com function page, cited by full URL and by the date it was read (2026-08-31) -- Google publishes no version number for these pages, so a bare URL dates nothing. WHAT GOOGLE PRINTS ON THESE EIGHT PAGES IS LESS THAN IT LOOKS, AND EVERY NOTE SAYS SO. Each page carries a 'Sample Usage' block of FORMULAS WITH NO RESULTS and an 'Examples' section that is a live embedded spreadsheet rather than article text, so ACROSS ALL EIGHT PAGES THERE IS NOT ONE PUBLISHED FORMULA/RESULT PAIR IN THE BODY. Every expected value in this group is therefore DERIVED from the page's own stated semantics and names the sentence it came from; the one exception is UNARY_PERCENT, whose one-line description states its result inline. No value was taken from a search snippet, a blog or a mirror. LIBREOFFICE: probed before execution on all four pinned builds (24.2.0.3, 24.8.7.2, 25.2.0.3, 25.8.7.3) in five storage spellings -- plain, _xlfn., COM.MICROSOFT., ORG.OPENOFFICE. and _xlfn.ORG.OPENOFFICE. -- and #NAME? under every one of them on every build, so the expected values below describe Google Sheets and the LibreOffice column records absence. (A separate check confirms the absence is real rather than a name-mapping artefact: round-tripping these eight names through LibreOffice's own formula parser and its .xlsx export writes them back lower-cased -- 'to_date', 'uminus' -- which is what LibreOffice does with an identifier it does not recognise as a function at all.) Google's TO_DOLLARS page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094241.

Mismatch
=ISNUMBER(TO_DOLLARS(5)) The documented difference from DOLLAR, asserted on the TO_DOLLARS side False True
Provenance

DERIVED from the Notes bullet "TO_DOLLARS differs from the related function DOLLAR in that DOLLAR outputs text rather than applying a cell format to a number." That sentence makes two separable claims; this case asserts the TO_DOLLARS half (the result is still a number) and the next case asserts the DOLLAR half, so a failure identifies which of the two is wrong. Google's TO_DOLLARS page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094241. WHAT THIS CASE LOOKS LIKE IN AN ENGINE THAT LACKS THE FUNCTION, SAID HERE SO THE ROW IS NOT MISREAD. The assertion is wrapped in an IS* predicate, and a predicate does not propagate #NAME? -- it answers it. On all four LibreOffice builds, where this function does not exist, the case therefore returns a plain FALSE rather than the #NAME? its unwrapped siblings return. That FALSE is a correct answer to the question the predicate asks and a misleading one about the engine, so it is recorded as a mismatch and the function's LibreOffice verdict is carried by the unwrapped cases in the same file, which do return #NAME?. (Batch H hit the same masking trap from the other side, where COUNTA(QUERY(...)) counted an error cell as one value and returned a plausible 1.)

Mismatch
=ISTEXT(DOLLAR(5)) The other half of the same documented contrast True True
Provenance

DERIVED from the same Notes bullet. DOLLAR itself is already in this corpus with executed results in Google Sheets (2026-08-29), Excel for the web (2026-09-01) and all four LibreOffice builds; it appears here only as the control the TO_DOLLARS page explicitly names. Google's TO_DOLLARS page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094241.

Matched
=TO_DOLLARS("abc") The documented pass-through for a non-numeric argument #NAME? abc
Provenance

DERIVED from "If value is not a number or a reference to a cell containing a numeric value, TO_DOLLARS returns value without modification." Google's TO_DOLLARS page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094241.

Mismatch
=ROUND(TO_DOLLARS(TO_PERCENT(0.5))+0,10) The documented claim that percentages convert successfully because they are numbers #NAME? 0.5
Provenance

DERIVED from the Notes bullet "Because dates and percentages are backed by numbers, TO_DOLLARS will convert them successfully. However, these conversions are not typically meaningful." The page warns that the RESULT is not meaningful, not that it errors, so what is asserted is precisely that: the call succeeds and the underlying number is untouched. No claim is made about how it displays. Google's TO_DOLLARS page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094241.

Mismatch

Google Sheets (executed 2026-09-01 via Drive import)

Google Sheets is a rolling service with no pinnable version, so this run is identified by its date. The corpus was imported to Drive as .xlsx, recalculated by Sheets, and exported back for readback.

FormulaDescriptionResultExpectedVerdict
=ROUND(TO_DOLLARS(40826.43)+0,10) The page's own Sample Usage input, asserted at the value layer 40826.43 40826.43
Provenance

DERIVED, not published: TO_DOLLARS(40826.43) appears in the Sample Usage block with no result beside it. The claim being checked is the page's own framing -- "TO_DOLLARS is equivalent to applying Format -> Number -> Currency from the menu bar" -- which makes the operation a formatting change, so the number must come back unchanged. WHAT THIS HARNESS CAN AND CANNOT SEE FOR A TO_* FUNCTION. The TO_* parsers are FORMATTING functions: the page itself describes the operation as equivalent to applying a Format > Number command from the menu bar. What changes is the cell's number format, not the number. This harness records the computed VALUE read back from a recalculated .xlsx, so the format half of the documented behaviour is invisible to it and is NOT asserted anywhere in this file. What is asserted is the value half, which the page states outright: the underlying number survives the conversion unchanged, and a non-numeric argument is returned unmodified. BATCH PROVENANCE (batch I, group 1 -- the last eight Google-documented functions in the corpus, closing the group A set sheets-lo-only-plan.md opened). This function has x == false in docs/data/compat.json: Microsoft does not document it at all, so this corpus makes NO claim about it in that engine and nothing here is measured against that vendor's documentation. The authority is Google's own support.google.com function page, cited by full URL and by the date it was read (2026-08-31) -- Google publishes no version number for these pages, so a bare URL dates nothing. WHAT GOOGLE PRINTS ON THESE EIGHT PAGES IS LESS THAN IT LOOKS, AND EVERY NOTE SAYS SO. Each page carries a 'Sample Usage' block of FORMULAS WITH NO RESULTS and an 'Examples' section that is a live embedded spreadsheet rather than article text, so ACROSS ALL EIGHT PAGES THERE IS NOT ONE PUBLISHED FORMULA/RESULT PAIR IN THE BODY. Every expected value in this group is therefore DERIVED from the page's own stated semantics and names the sentence it came from; the one exception is UNARY_PERCENT, whose one-line description states its result inline. No value was taken from a search snippet, a blog or a mirror. LIBREOFFICE: probed before execution on all four pinned builds (24.2.0.3, 24.8.7.2, 25.2.0.3, 25.8.7.3) in five storage spellings -- plain, _xlfn., COM.MICROSOFT., ORG.OPENOFFICE. and _xlfn.ORG.OPENOFFICE. -- and #NAME? under every one of them on every build, so the expected values below describe Google Sheets and the LibreOffice column records absence. (A separate check confirms the absence is real rather than a name-mapping artefact: round-tripping these eight names through LibreOffice's own formula parser and its .xlsx export writes them back lower-cased -- 'to_date', 'uminus' -- which is what LibreOffice does with an identifier it does not recognise as a function at all.) Google's TO_DOLLARS page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094241.

Matched
=ISNUMBER(TO_DOLLARS(5)) The documented difference from DOLLAR, asserted on the TO_DOLLARS side True True
Provenance

DERIVED from the Notes bullet "TO_DOLLARS differs from the related function DOLLAR in that DOLLAR outputs text rather than applying a cell format to a number." That sentence makes two separable claims; this case asserts the TO_DOLLARS half (the result is still a number) and the next case asserts the DOLLAR half, so a failure identifies which of the two is wrong. Google's TO_DOLLARS page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094241. WHAT THIS CASE LOOKS LIKE IN AN ENGINE THAT LACKS THE FUNCTION, SAID HERE SO THE ROW IS NOT MISREAD. The assertion is wrapped in an IS* predicate, and a predicate does not propagate #NAME? -- it answers it. On all four LibreOffice builds, where this function does not exist, the case therefore returns a plain FALSE rather than the #NAME? its unwrapped siblings return. That FALSE is a correct answer to the question the predicate asks and a misleading one about the engine, so it is recorded as a mismatch and the function's LibreOffice verdict is carried by the unwrapped cases in the same file, which do return #NAME?. (Batch H hit the same masking trap from the other side, where COUNTA(QUERY(...)) counted an error cell as one value and returned a plausible 1.)

Matched
=ISTEXT(DOLLAR(5)) The other half of the same documented contrast True True
Provenance

DERIVED from the same Notes bullet. DOLLAR itself is already in this corpus with executed results in Google Sheets (2026-08-29), Excel for the web (2026-09-01) and all four LibreOffice builds; it appears here only as the control the TO_DOLLARS page explicitly names. Google's TO_DOLLARS page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094241.

Matched
=TO_DOLLARS("abc") The documented pass-through for a non-numeric argument abc abc
Provenance

DERIVED from "If value is not a number or a reference to a cell containing a numeric value, TO_DOLLARS returns value without modification." Google's TO_DOLLARS page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094241.

Matched
=ROUND(TO_DOLLARS(TO_PERCENT(0.5))+0,10) The documented claim that percentages convert successfully because they are numbers 0.5 0.5
Provenance

DERIVED from the Notes bullet "Because dates and percentages are backed by numbers, TO_DOLLARS will convert them successfully. However, these conversions are not typically meaningful." The page warns that the RESULT is not meaningful, not that it errors, so what is asserted is precisely that: the call succeeds and the underlying number is untouched. No claim is made about how it displays. Google's TO_DOLLARS page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094241.

Matched

LibreOffice Calc 25.8.7.3 (tested 2026-09-01)

FormulaDescriptionResultExpectedVerdict
=ROUND(TO_DOLLARS(40826.43)+0,10) The page's own Sample Usage input, asserted at the value layer #NAME? 40826.43
Provenance

DERIVED, not published: TO_DOLLARS(40826.43) appears in the Sample Usage block with no result beside it. The claim being checked is the page's own framing -- "TO_DOLLARS is equivalent to applying Format -> Number -> Currency from the menu bar" -- which makes the operation a formatting change, so the number must come back unchanged. WHAT THIS HARNESS CAN AND CANNOT SEE FOR A TO_* FUNCTION. The TO_* parsers are FORMATTING functions: the page itself describes the operation as equivalent to applying a Format > Number command from the menu bar. What changes is the cell's number format, not the number. This harness records the computed VALUE read back from a recalculated .xlsx, so the format half of the documented behaviour is invisible to it and is NOT asserted anywhere in this file. What is asserted is the value half, which the page states outright: the underlying number survives the conversion unchanged, and a non-numeric argument is returned unmodified. BATCH PROVENANCE (batch I, group 1 -- the last eight Google-documented functions in the corpus, closing the group A set sheets-lo-only-plan.md opened). This function has x == false in docs/data/compat.json: Microsoft does not document it at all, so this corpus makes NO claim about it in that engine and nothing here is measured against that vendor's documentation. The authority is Google's own support.google.com function page, cited by full URL and by the date it was read (2026-08-31) -- Google publishes no version number for these pages, so a bare URL dates nothing. WHAT GOOGLE PRINTS ON THESE EIGHT PAGES IS LESS THAN IT LOOKS, AND EVERY NOTE SAYS SO. Each page carries a 'Sample Usage' block of FORMULAS WITH NO RESULTS and an 'Examples' section that is a live embedded spreadsheet rather than article text, so ACROSS ALL EIGHT PAGES THERE IS NOT ONE PUBLISHED FORMULA/RESULT PAIR IN THE BODY. Every expected value in this group is therefore DERIVED from the page's own stated semantics and names the sentence it came from; the one exception is UNARY_PERCENT, whose one-line description states its result inline. No value was taken from a search snippet, a blog or a mirror. LIBREOFFICE: probed before execution on all four pinned builds (24.2.0.3, 24.8.7.2, 25.2.0.3, 25.8.7.3) in five storage spellings -- plain, _xlfn., COM.MICROSOFT., ORG.OPENOFFICE. and _xlfn.ORG.OPENOFFICE. -- and #NAME? under every one of them on every build, so the expected values below describe Google Sheets and the LibreOffice column records absence. (A separate check confirms the absence is real rather than a name-mapping artefact: round-tripping these eight names through LibreOffice's own formula parser and its .xlsx export writes them back lower-cased -- 'to_date', 'uminus' -- which is what LibreOffice does with an identifier it does not recognise as a function at all.) Google's TO_DOLLARS page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094241.

Mismatch
=ISNUMBER(TO_DOLLARS(5)) The documented difference from DOLLAR, asserted on the TO_DOLLARS side False True
Provenance

DERIVED from the Notes bullet "TO_DOLLARS differs from the related function DOLLAR in that DOLLAR outputs text rather than applying a cell format to a number." That sentence makes two separable claims; this case asserts the TO_DOLLARS half (the result is still a number) and the next case asserts the DOLLAR half, so a failure identifies which of the two is wrong. Google's TO_DOLLARS page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094241. WHAT THIS CASE LOOKS LIKE IN AN ENGINE THAT LACKS THE FUNCTION, SAID HERE SO THE ROW IS NOT MISREAD. The assertion is wrapped in an IS* predicate, and a predicate does not propagate #NAME? -- it answers it. On all four LibreOffice builds, where this function does not exist, the case therefore returns a plain FALSE rather than the #NAME? its unwrapped siblings return. That FALSE is a correct answer to the question the predicate asks and a misleading one about the engine, so it is recorded as a mismatch and the function's LibreOffice verdict is carried by the unwrapped cases in the same file, which do return #NAME?. (Batch H hit the same masking trap from the other side, where COUNTA(QUERY(...)) counted an error cell as one value and returned a plausible 1.)

Mismatch
=ISTEXT(DOLLAR(5)) The other half of the same documented contrast True True
Provenance

DERIVED from the same Notes bullet. DOLLAR itself is already in this corpus with executed results in Google Sheets (2026-08-29), Excel for the web (2026-09-01) and all four LibreOffice builds; it appears here only as the control the TO_DOLLARS page explicitly names. Google's TO_DOLLARS page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094241.

Matched
=TO_DOLLARS("abc") The documented pass-through for a non-numeric argument #NAME? abc
Provenance

DERIVED from "If value is not a number or a reference to a cell containing a numeric value, TO_DOLLARS returns value without modification." Google's TO_DOLLARS page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094241.

Mismatch
=ROUND(TO_DOLLARS(TO_PERCENT(0.5))+0,10) The documented claim that percentages convert successfully because they are numbers #NAME? 0.5
Provenance

DERIVED from the Notes bullet "Because dates and percentages are backed by numbers, TO_DOLLARS will convert them successfully. However, these conversions are not typically meaningful." The page warns that the RESULT is not meaningful, not that it errors, so what is asserted is precisely that: the call succeeds and the underlying number is untouched. No claim is made about how it displays. Google's TO_DOLLARS page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094241.

Mismatch

Docs & syntax

Where TO_DOLLARS behaves differently