← All functions

JOIN

Unsupported (not recognized)

Category: Text · Last tested 2026-09-01

Real compatibility results for the JOIN function: executed in Excel for the web, Google Sheets and LibreOffice Calc, measured against Google’s published documentation. Excel does not document JOIN, 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 JOIN’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 JOIN working in LibreOffice?

LibreOffice Calc does not implement JOIN 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
=JOIN(" and-a ",{1,2,"1 2 3 4"}) The page's first Sample Usage line, verbatim #NAME? 1 and-a 2 and-a 1 2 3 4
Provenance

The page's own sample formula. DERIVED: three elements joined by " and-a " give two separators, and the third element already contains spaces, which is what makes it a useful sample -- the delimiter is inserted BETWEEN elements and never inside one. JOIN's page publishes NO results -- three Sample Usage formulas and one Note. Every value below is DERIVED from the definition "Concatenates the elements of one or more one-dimensional arrays using a specified delimiter" and from the argument order the syntax line fixes, JOIN(delimiter, value_or_array1, [value_or_array2, ...]), with the delimiter FIRST. Google's JOIN page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094077. BATCH PROVENANCE (batch H, the first Sheets/LibreOffice-only batch). Every function in this batch has x == false in docs/data/compat.json: it is a Google Sheets function that Microsoft does not document 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 -- Google publishes no version number for these pages, so a bare URL dates nothing. WHAT GOOGLE ACTUALLY PRINTS, WHICH IS LESS THAN IT LOOKS: most of these pages carry a 'Sample Usage' block of FORMULAS WITH NO RESULTS. Where a value below is Google's own published output the note says so; where it is derived from the page's stated semantics the note says that instead, and says from which sentence. No value in this batch was taken from a search snippet, a blog or a mirror. LIBREOFFICE: probed 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, so the expected values below describe Google Sheets and the LibreOffice column records absence.

Mismatch
=JOIN(",",{1,2,3},{4;5;6}) The page's second sample: a row array and a column array in one call #NAME? 1,2,3,4,5,6
Provenance

The page's own sample formula, which is also the only evidence it offers that JOIN takes more than one array: the syntax line's [value_or_array2, ...] and this line. DERIVED. The second literal uses semicolons, making it a COLUMN; the page says nothing about orientation, and this case records that both orientations flatten into one delimited string in argument order. Google's JOIN page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094077.

Mismatch
=JOIN("-",A1:A5) The page's third sample shape, over a populated range #NAME? 10-20-30-40-50
Provenance

The page's third sample, JOIN("-",A1:A100), scaled to five populated cells -- Google names A1:A100 without populating any of it. DERIVED. THE PAGE SAYS NOTHING ABOUT EMPTY CELLS INSIDE THE RANGE, so this case uses a fully populated one and the corpus asserts nothing about blanks. Google's JOIN page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094077.

Mismatch
=JOIN(,{1,2,3}) The page's own example of an omitted delimiter #NAME? 123
Provenance

The `delimiter` argument description carries this example verbatim: "delimiter may be specified as blank, e.g. JOIN(,{1,2,3})". DERIVED: with nothing between them the three elements concatenate. The Note adds "When delimiter is omitted, the result of JOIN is similar to that of CONCATENATE" -- "similar" is the page's word and is too weak to assert an identity from, so this case asserts the concatenation itself rather than an equivalence. Google's JOIN page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094077.

Mismatch
=JOIN("|",A1:A2,B1:B2) Two ranges, to fix the order elements are consumed in #NAME? 1|2|3|4
Provenance

DERIVED from the syntax line's argument order. The first range is exhausted before the second begins, exactly as with two array literals. Google's JOIN page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094077.

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
=JOIN(" and-a ",{1,2,"1 2 3 4"}) The page's first Sample Usage line, verbatim 1 and-a 2 and-a 1 2 3 4 1 and-a 2 and-a 1 2 3 4
Provenance

The page's own sample formula. DERIVED: three elements joined by " and-a " give two separators, and the third element already contains spaces, which is what makes it a useful sample -- the delimiter is inserted BETWEEN elements and never inside one. JOIN's page publishes NO results -- three Sample Usage formulas and one Note. Every value below is DERIVED from the definition "Concatenates the elements of one or more one-dimensional arrays using a specified delimiter" and from the argument order the syntax line fixes, JOIN(delimiter, value_or_array1, [value_or_array2, ...]), with the delimiter FIRST. Google's JOIN page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094077. BATCH PROVENANCE (batch H, the first Sheets/LibreOffice-only batch). Every function in this batch has x == false in docs/data/compat.json: it is a Google Sheets function that Microsoft does not document 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 -- Google publishes no version number for these pages, so a bare URL dates nothing. WHAT GOOGLE ACTUALLY PRINTS, WHICH IS LESS THAN IT LOOKS: most of these pages carry a 'Sample Usage' block of FORMULAS WITH NO RESULTS. Where a value below is Google's own published output the note says so; where it is derived from the page's stated semantics the note says that instead, and says from which sentence. No value in this batch was taken from a search snippet, a blog or a mirror. LIBREOFFICE: probed 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, so the expected values below describe Google Sheets and the LibreOffice column records absence.

Matched
=JOIN(",",{1,2,3},{4;5;6}) The page's second sample: a row array and a column array in one call 1,2,3,4,5,6 1,2,3,4,5,6
Provenance

The page's own sample formula, which is also the only evidence it offers that JOIN takes more than one array: the syntax line's [value_or_array2, ...] and this line. DERIVED. The second literal uses semicolons, making it a COLUMN; the page says nothing about orientation, and this case records that both orientations flatten into one delimited string in argument order. Google's JOIN page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094077.

Matched
=JOIN("-",A1:A5) The page's third sample shape, over a populated range 10-20-30-40-50 10-20-30-40-50
Provenance

The page's third sample, JOIN("-",A1:A100), scaled to five populated cells -- Google names A1:A100 without populating any of it. DERIVED. THE PAGE SAYS NOTHING ABOUT EMPTY CELLS INSIDE THE RANGE, so this case uses a fully populated one and the corpus asserts nothing about blanks. Google's JOIN page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094077.

Matched
=JOIN(,{1,2,3}) The page's own example of an omitted delimiter 123 123
Provenance

The `delimiter` argument description carries this example verbatim: "delimiter may be specified as blank, e.g. JOIN(,{1,2,3})". DERIVED: with nothing between them the three elements concatenate. The Note adds "When delimiter is omitted, the result of JOIN is similar to that of CONCATENATE" -- "similar" is the page's word and is too weak to assert an identity from, so this case asserts the concatenation itself rather than an equivalence. Google's JOIN page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094077.

Matched
=JOIN("|",A1:A2,B1:B2) Two ranges, to fix the order elements are consumed in 1|2|3|4 1|2|3|4
Provenance

DERIVED from the syntax line's argument order. The first range is exhausted before the second begins, exactly as with two array literals. Google's JOIN page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094077.

Matched

LibreOffice Calc 25.8.7.3 (tested 2026-09-01)

FormulaDescriptionResultExpectedVerdict
=JOIN(" and-a ",{1,2,"1 2 3 4"}) The page's first Sample Usage line, verbatim #NAME? 1 and-a 2 and-a 1 2 3 4
Provenance

The page's own sample formula. DERIVED: three elements joined by " and-a " give two separators, and the third element already contains spaces, which is what makes it a useful sample -- the delimiter is inserted BETWEEN elements and never inside one. JOIN's page publishes NO results -- three Sample Usage formulas and one Note. Every value below is DERIVED from the definition "Concatenates the elements of one or more one-dimensional arrays using a specified delimiter" and from the argument order the syntax line fixes, JOIN(delimiter, value_or_array1, [value_or_array2, ...]), with the delimiter FIRST. Google's JOIN page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094077. BATCH PROVENANCE (batch H, the first Sheets/LibreOffice-only batch). Every function in this batch has x == false in docs/data/compat.json: it is a Google Sheets function that Microsoft does not document 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 -- Google publishes no version number for these pages, so a bare URL dates nothing. WHAT GOOGLE ACTUALLY PRINTS, WHICH IS LESS THAN IT LOOKS: most of these pages carry a 'Sample Usage' block of FORMULAS WITH NO RESULTS. Where a value below is Google's own published output the note says so; where it is derived from the page's stated semantics the note says that instead, and says from which sentence. No value in this batch was taken from a search snippet, a blog or a mirror. LIBREOFFICE: probed 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, so the expected values below describe Google Sheets and the LibreOffice column records absence.

Mismatch
=JOIN(",",{1,2,3},{4;5;6}) The page's second sample: a row array and a column array in one call #NAME? 1,2,3,4,5,6
Provenance

The page's own sample formula, which is also the only evidence it offers that JOIN takes more than one array: the syntax line's [value_or_array2, ...] and this line. DERIVED. The second literal uses semicolons, making it a COLUMN; the page says nothing about orientation, and this case records that both orientations flatten into one delimited string in argument order. Google's JOIN page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094077.

Mismatch
=JOIN("-",A1:A5) The page's third sample shape, over a populated range #NAME? 10-20-30-40-50
Provenance

The page's third sample, JOIN("-",A1:A100), scaled to five populated cells -- Google names A1:A100 without populating any of it. DERIVED. THE PAGE SAYS NOTHING ABOUT EMPTY CELLS INSIDE THE RANGE, so this case uses a fully populated one and the corpus asserts nothing about blanks. Google's JOIN page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094077.

Mismatch
=JOIN(,{1,2,3}) The page's own example of an omitted delimiter #NAME? 123
Provenance

The `delimiter` argument description carries this example verbatim: "delimiter may be specified as blank, e.g. JOIN(,{1,2,3})". DERIVED: with nothing between them the three elements concatenate. The Note adds "When delimiter is omitted, the result of JOIN is similar to that of CONCATENATE" -- "similar" is the page's word and is too weak to assert an identity from, so this case asserts the concatenation itself rather than an equivalence. Google's JOIN page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094077.

Mismatch
=JOIN("|",A1:A2,B1:B2) Two ranges, to fix the order elements are consumed in #NAME? 1|2|3|4
Provenance

DERIVED from the syntax line's argument order. The first range is exhausted before the second begins, exactly as with two array literals. Google's JOIN page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094077.

Mismatch

Docs & syntax

Where JOIN behaves differently