CURRENT
Unsupported (not recognized)Category: Information · Last tested 2026-09-01
Real compatibility results for the CURRENT function: executed in Excel for the web, Google Sheets and LibreOffice Calc, measured against LibreOffice’s published documentation. Excel does not document CURRENT, so this page makes no claim about Excel. Syntax and links to that documentation are below.
Support matrix
| Engine | Documented | Live-tested | Verdict |
|---|---|---|---|
| Excel (desktop) | No | n/a (not an Excel function) | n/a |
| Excel for the web | — | Yes (recalc, 2026-09-01) | Unsupported (not recognized) |
| Google Sheets | No | Yes (Drive import, 2026-09-01) | Unsupported (not recognized) |
| LibreOffice Calc | Yes | Yes (25.8.7.3, 2026-09-01) | Supported, behaves as documented |
LibreOffice version history
We executed the same test cases under each LibreOffice release to show exactly when CURRENT’s support changed — not documentation claims, real results.
| LibreOffice version | Verdict | Tested |
|---|---|---|
| 24.2.0.3 | Supported, behaves as documented | 2026-09-01 |
| 24.8.7.2 | Supported, behaves as documented | 2026-09-01 |
| 25.2.0.3 | Supported, behaves as documented | 2026-09-01 |
| 25.8.7.3 | Supported, behaves as documented | 2026-09-01 |
Why isn’t CURRENT working in Google Sheets?
Google Sheets does not implement CURRENT: we imported the formula into
Sheets on 2026-09-01 and every case came back #NAME?
(unrecognized function). Sheets is a rolling service with no version to pin, so this is a
statement about the service on that date, and Google’s own
function list does not document it either. Rewrite the formula with a documented
Sheets equivalent — see the
Excel ↔ Sheets equivalents table.
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.
| Formula | Description | Result | Expected | Verdict |
|---|---|---|---|---|
| =1+2+CURRENT() | LibreOffice's own published example of the running intermediate result | #NAME? | ProvenancePROBE ONLY (expected: null): CURRENT HAS NO VALUE OF ITS OWN. LibreOffice's help defines it as "This function returns the result to date of evaluating the formula of which it is a part (in other words the result as far as that evaluation has got)." Its value is therefore a property of the position it occupies inside some other expression, not of any argument -- move it and the answer changes -- which is why this corpus records what the engine does with the documented example rather than asserting a number for the function. THE EXAMPLE IS LIBREOFFICE'S OWN, QUOTED VERBATIM: "=1+2+CURRENT() ... The example returns 6. The formula is calculated from left to right as: 1 + 2 equals 3, giving the result to date when CURRENT() is encountered; CURRENT() therefore yields 3, which is added to the original 3 to give 6." All four pinned builds were run with exactly this formula and the value each returned is recorded in this file's results entry. A DELIBERATE OMISSION: `=CURRENT()` standing alone -- with no result to date for it to report -- returns #N/A on all four builds, and it is NOT a case here, because the help says nothing whatever about that situation and an error recorded against a case the documentation never describes would read on the published page as a LibreOffice defect. NONDETERMINISM CLASS, PER THE COPILOT PRECEDENT. The corpus records a probe (expected: null) whenever the documented behaviour depends on something the harness cannot fix: a service (COPILOT, DETECTLANGUAGE, TRANSLATE), a live market (STOCKHISTORY), an external server (RTD), a network fetch or an authorization (batch J's Google nine). The two .NV functions are the fourth class -- a pseudo-random draw -- and CURRENT is the fifth: a value defined by its own POSITION inside the formula that encloses it. In every class the note says which dependency makes the value unassertable, and the verdict is carried by whether the call evaluates at all. STORAGE FORM, ESTABLISHED EMPIRICALLY BEFORE THIS FILE WAS RUN. A LibreOffice-only function has no OOXML name of its own -- the .xlsx format was frozen on Excel's function set -- so LibreOffice invents one, and this harness must write exactly the token LibreOffice's own filter reads or a fully implemented function is recorded as #NAME? and published as unsupported. All NINE candidate spellings (plain, _xlfn., COM.MICROSOFT., ORG.OPENOFFICE., _xlfn.ORG.OPENOFFICE., ORG.LIBREOFFICE., _xlfn.ORG.LIBREOFFICE., _xlfn.COM.MICROSOFT. and COM.SUN.STAR.SHEET.ADDIN.ANALYSIS.) were written into a workbook with openpyxl (which caches no value, so the engine must evaluate from scratch) and round-tripped through `soffice --headless --convert-to xlsx` on all four pinned builds (24.2.0.3, 24.8.7.2, 25.2.0.3, 25.8.7.3); the same round trip also reports the EXPORT direction, because the converted file carries whichever token LibreOffice itself chose to write. TWO SPELLINGS WORK AND SEVEN DO NOT: the bare name CURRENT and _xlfn.ORG.OPENOFFICE.CURRENT are both accepted on import by all four builds, while the other seven are #NAME? on all four. The export direction breaks the tie -- every build writes _xlfn.ORG.OPENOFFICE.CURRENT back out, including when the bare name went in -- and the help's own Technical information block agrees on the namespace: "The name space is" ORG.OPENOFFICE.CURRENT. The token LibreOffice writes is the one recorded, so this harness reads and writes the same file LibreOffice would. The token recorded for this function in harness/xlfn_map.py is _xlfn.ORG.OPENOFFICE.CURRENT. BATCH PROVENANCE (batch J, group C3 of sheets-lo-only-plan.md -- LibreOffice-only and either nondeterministic or context-bound; the final batch of the completeness push). This function has x == false AND g == false in docs/data/compat.json: NEITHER Microsoft NOR Google documents it, so this corpus makes no claim about either of those engines, nothing here is measured against their documentation, and the Excel column on the published page reads 'n/a (not an Excel function)' rather than a verdict. The authority is LibreOffice's own help, cited by full URL, by the date it was read (2026-08-31), and by the help version the page serves -- the URLs in this file are pinned to /25.8/ rather than /latest/ so the citation still means this text after the help site rolls forward, and /25.8/ is the help for the newest of the four engine builds the corpus executes. GOOGLE SHEETS: this batch builds the Sheets chunk whose ingest will record presence or absence in that engine. Until that ingest lands the Sheets column on the published page reads 'Not yet' and nothing in this file claims anything about it. (Stated positively on purpose -- scripts/check_honesty.py bans the blanket negative shape of that sentence, and the guard is worth keeping blunt.) LibreOffice's Information-functions help page, read live on 2026-08-31 at https://help.libreoffice.org/25.8/en-US/text/scalc/01/04060104.html. |
Error |
| ="choo"&CURRENT() | LibreOffice's own published example showing the running result is a string here, not a number | #NAME? | ProvenancePROBE ONLY (expected: null), and the second of LibreOffice's three published examples, quoted verbatim: "=\"choo\"&CURRENT() ... The example returns choochoo." It is worth having beside the arithmetic one because it shows that "the result to date" is not a number by nature -- here the evaluation so far is the text choo, so CURRENT() yields text and the concatenation doubles it. The same position-dependence that makes CURRENT useful makes its value unassertable as a property of the function, so what each of the four builds returned is recorded rather than compared. (LibreOffice's third published example, =A2+B2+STYLE(IF(CURRENT()>10;"Red";"Default")), is not run here: its result is a cell STYLE, which this harness has no way to read back out of an .xlsx export, and a case whose real effect is invisible to the reader would be theatre.) LibreOffice's Information-functions help page, read live on 2026-08-31 at https://help.libreoffice.org/25.8/en-US/text/scalc/01/04060104.html. |
Error |
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.
| Formula | Description | Result | Expected | Verdict |
|---|---|---|---|---|
| =1+2+CURRENT() | LibreOffice's own published example of the running intermediate result | #NAME? | ProvenancePROBE ONLY (expected: null): CURRENT HAS NO VALUE OF ITS OWN. LibreOffice's help defines it as "This function returns the result to date of evaluating the formula of which it is a part (in other words the result as far as that evaluation has got)." Its value is therefore a property of the position it occupies inside some other expression, not of any argument -- move it and the answer changes -- which is why this corpus records what the engine does with the documented example rather than asserting a number for the function. THE EXAMPLE IS LIBREOFFICE'S OWN, QUOTED VERBATIM: "=1+2+CURRENT() ... The example returns 6. The formula is calculated from left to right as: 1 + 2 equals 3, giving the result to date when CURRENT() is encountered; CURRENT() therefore yields 3, which is added to the original 3 to give 6." All four pinned builds were run with exactly this formula and the value each returned is recorded in this file's results entry. A DELIBERATE OMISSION: `=CURRENT()` standing alone -- with no result to date for it to report -- returns #N/A on all four builds, and it is NOT a case here, because the help says nothing whatever about that situation and an error recorded against a case the documentation never describes would read on the published page as a LibreOffice defect. NONDETERMINISM CLASS, PER THE COPILOT PRECEDENT. The corpus records a probe (expected: null) whenever the documented behaviour depends on something the harness cannot fix: a service (COPILOT, DETECTLANGUAGE, TRANSLATE), a live market (STOCKHISTORY), an external server (RTD), a network fetch or an authorization (batch J's Google nine). The two .NV functions are the fourth class -- a pseudo-random draw -- and CURRENT is the fifth: a value defined by its own POSITION inside the formula that encloses it. In every class the note says which dependency makes the value unassertable, and the verdict is carried by whether the call evaluates at all. STORAGE FORM, ESTABLISHED EMPIRICALLY BEFORE THIS FILE WAS RUN. A LibreOffice-only function has no OOXML name of its own -- the .xlsx format was frozen on Excel's function set -- so LibreOffice invents one, and this harness must write exactly the token LibreOffice's own filter reads or a fully implemented function is recorded as #NAME? and published as unsupported. All NINE candidate spellings (plain, _xlfn., COM.MICROSOFT., ORG.OPENOFFICE., _xlfn.ORG.OPENOFFICE., ORG.LIBREOFFICE., _xlfn.ORG.LIBREOFFICE., _xlfn.COM.MICROSOFT. and COM.SUN.STAR.SHEET.ADDIN.ANALYSIS.) were written into a workbook with openpyxl (which caches no value, so the engine must evaluate from scratch) and round-tripped through `soffice --headless --convert-to xlsx` on all four pinned builds (24.2.0.3, 24.8.7.2, 25.2.0.3, 25.8.7.3); the same round trip also reports the EXPORT direction, because the converted file carries whichever token LibreOffice itself chose to write. TWO SPELLINGS WORK AND SEVEN DO NOT: the bare name CURRENT and _xlfn.ORG.OPENOFFICE.CURRENT are both accepted on import by all four builds, while the other seven are #NAME? on all four. The export direction breaks the tie -- every build writes _xlfn.ORG.OPENOFFICE.CURRENT back out, including when the bare name went in -- and the help's own Technical information block agrees on the namespace: "The name space is" ORG.OPENOFFICE.CURRENT. The token LibreOffice writes is the one recorded, so this harness reads and writes the same file LibreOffice would. The token recorded for this function in harness/xlfn_map.py is _xlfn.ORG.OPENOFFICE.CURRENT. BATCH PROVENANCE (batch J, group C3 of sheets-lo-only-plan.md -- LibreOffice-only and either nondeterministic or context-bound; the final batch of the completeness push). This function has x == false AND g == false in docs/data/compat.json: NEITHER Microsoft NOR Google documents it, so this corpus makes no claim about either of those engines, nothing here is measured against their documentation, and the Excel column on the published page reads 'n/a (not an Excel function)' rather than a verdict. The authority is LibreOffice's own help, cited by full URL, by the date it was read (2026-08-31), and by the help version the page serves -- the URLs in this file are pinned to /25.8/ rather than /latest/ so the citation still means this text after the help site rolls forward, and /25.8/ is the help for the newest of the four engine builds the corpus executes. GOOGLE SHEETS: this batch builds the Sheets chunk whose ingest will record presence or absence in that engine. Until that ingest lands the Sheets column on the published page reads 'Not yet' and nothing in this file claims anything about it. (Stated positively on purpose -- scripts/check_honesty.py bans the blanket negative shape of that sentence, and the guard is worth keeping blunt.) LibreOffice's Information-functions help page, read live on 2026-08-31 at https://help.libreoffice.org/25.8/en-US/text/scalc/01/04060104.html. |
Error |
| ="choo"&CURRENT() | LibreOffice's own published example showing the running result is a string here, not a number | #NAME? | ProvenancePROBE ONLY (expected: null), and the second of LibreOffice's three published examples, quoted verbatim: "=\"choo\"&CURRENT() ... The example returns choochoo." It is worth having beside the arithmetic one because it shows that "the result to date" is not a number by nature -- here the evaluation so far is the text choo, so CURRENT() yields text and the concatenation doubles it. The same position-dependence that makes CURRENT useful makes its value unassertable as a property of the function, so what each of the four builds returned is recorded rather than compared. (LibreOffice's third published example, =A2+B2+STYLE(IF(CURRENT()>10;"Red";"Default")), is not run here: its result is a cell STYLE, which this harness has no way to read back out of an .xlsx export, and a case whose real effect is invisible to the reader would be theatre.) LibreOffice's Information-functions help page, read live on 2026-08-31 at https://help.libreoffice.org/25.8/en-US/text/scalc/01/04060104.html. |
Error |
LibreOffice Calc 25.8.7.3 (tested 2026-09-01)
| Formula | Description | Result | Expected | Verdict |
|---|---|---|---|---|
| =1+2+CURRENT() | LibreOffice's own published example of the running intermediate result | 6 | ProvenancePROBE ONLY (expected: null): CURRENT HAS NO VALUE OF ITS OWN. LibreOffice's help defines it as "This function returns the result to date of evaluating the formula of which it is a part (in other words the result as far as that evaluation has got)." Its value is therefore a property of the position it occupies inside some other expression, not of any argument -- move it and the answer changes -- which is why this corpus records what the engine does with the documented example rather than asserting a number for the function. THE EXAMPLE IS LIBREOFFICE'S OWN, QUOTED VERBATIM: "=1+2+CURRENT() ... The example returns 6. The formula is calculated from left to right as: 1 + 2 equals 3, giving the result to date when CURRENT() is encountered; CURRENT() therefore yields 3, which is added to the original 3 to give 6." All four pinned builds were run with exactly this formula and the value each returned is recorded in this file's results entry. A DELIBERATE OMISSION: `=CURRENT()` standing alone -- with no result to date for it to report -- returns #N/A on all four builds, and it is NOT a case here, because the help says nothing whatever about that situation and an error recorded against a case the documentation never describes would read on the published page as a LibreOffice defect. NONDETERMINISM CLASS, PER THE COPILOT PRECEDENT. The corpus records a probe (expected: null) whenever the documented behaviour depends on something the harness cannot fix: a service (COPILOT, DETECTLANGUAGE, TRANSLATE), a live market (STOCKHISTORY), an external server (RTD), a network fetch or an authorization (batch J's Google nine). The two .NV functions are the fourth class -- a pseudo-random draw -- and CURRENT is the fifth: a value defined by its own POSITION inside the formula that encloses it. In every class the note says which dependency makes the value unassertable, and the verdict is carried by whether the call evaluates at all. STORAGE FORM, ESTABLISHED EMPIRICALLY BEFORE THIS FILE WAS RUN. A LibreOffice-only function has no OOXML name of its own -- the .xlsx format was frozen on Excel's function set -- so LibreOffice invents one, and this harness must write exactly the token LibreOffice's own filter reads or a fully implemented function is recorded as #NAME? and published as unsupported. All NINE candidate spellings (plain, _xlfn., COM.MICROSOFT., ORG.OPENOFFICE., _xlfn.ORG.OPENOFFICE., ORG.LIBREOFFICE., _xlfn.ORG.LIBREOFFICE., _xlfn.COM.MICROSOFT. and COM.SUN.STAR.SHEET.ADDIN.ANALYSIS.) were written into a workbook with openpyxl (which caches no value, so the engine must evaluate from scratch) and round-tripped through `soffice --headless --convert-to xlsx` on all four pinned builds (24.2.0.3, 24.8.7.2, 25.2.0.3, 25.8.7.3); the same round trip also reports the EXPORT direction, because the converted file carries whichever token LibreOffice itself chose to write. TWO SPELLINGS WORK AND SEVEN DO NOT: the bare name CURRENT and _xlfn.ORG.OPENOFFICE.CURRENT are both accepted on import by all four builds, while the other seven are #NAME? on all four. The export direction breaks the tie -- every build writes _xlfn.ORG.OPENOFFICE.CURRENT back out, including when the bare name went in -- and the help's own Technical information block agrees on the namespace: "The name space is" ORG.OPENOFFICE.CURRENT. The token LibreOffice writes is the one recorded, so this harness reads and writes the same file LibreOffice would. The token recorded for this function in harness/xlfn_map.py is _xlfn.ORG.OPENOFFICE.CURRENT. BATCH PROVENANCE (batch J, group C3 of sheets-lo-only-plan.md -- LibreOffice-only and either nondeterministic or context-bound; the final batch of the completeness push). This function has x == false AND g == false in docs/data/compat.json: NEITHER Microsoft NOR Google documents it, so this corpus makes no claim about either of those engines, nothing here is measured against their documentation, and the Excel column on the published page reads 'n/a (not an Excel function)' rather than a verdict. The authority is LibreOffice's own help, cited by full URL, by the date it was read (2026-08-31), and by the help version the page serves -- the URLs in this file are pinned to /25.8/ rather than /latest/ so the citation still means this text after the help site rolls forward, and /25.8/ is the help for the newest of the four engine builds the corpus executes. GOOGLE SHEETS: this batch builds the Sheets chunk whose ingest will record presence or absence in that engine. Until that ingest lands the Sheets column on the published page reads 'Not yet' and nothing in this file claims anything about it. (Stated positively on purpose -- scripts/check_honesty.py bans the blanket negative shape of that sentence, and the guard is worth keeping blunt.) LibreOffice's Information-functions help page, read live on 2026-08-31 at https://help.libreoffice.org/25.8/en-US/text/scalc/01/04060104.html. |
Ran OK |
| ="choo"&CURRENT() | LibreOffice's own published example showing the running result is a string here, not a number | choochoo | ProvenancePROBE ONLY (expected: null), and the second of LibreOffice's three published examples, quoted verbatim: "=\"choo\"&CURRENT() ... The example returns choochoo." It is worth having beside the arithmetic one because it shows that "the result to date" is not a number by nature -- here the evaluation so far is the text choo, so CURRENT() yields text and the concatenation doubles it. The same position-dependence that makes CURRENT useful makes its value unassertable as a property of the function, so what each of the four builds returned is recorded rather than compared. (LibreOffice's third published example, =A2+B2+STYLE(IF(CURRENT()>10;"Red";"Default")), is not run here: its result is a cell STYLE, which this harness has no way to read back out of an .xlsx export, and a case whose real effect is invisible to the reader would be theatre.) LibreOffice's Information-functions help page, read live on 2026-08-31 at https://help.libreoffice.org/25.8/en-US/text/scalc/01/04060104.html. |
Ran OK |
Docs & syntax
- LibreOffice Calc: official documentation
Where CURRENT behaves differently
- Your function exists but your file cannot say so: _xlfn storage tokens
Executed: eight IM* functions LibreOffice implements return #NAME? on all four builds because it cannot read Excel's _xlfn. token for them, while COT and CSC only work under that same prefix. Eleven LibreOffice aliases are erased by its own exporter, and a token change between 24.2 and 24.8 makes a 24.8-written file open as #NAME? in 24.2.